1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.dialogflow.cx.v3beta1; 18 19import "google/api/annotations.proto"; 20import "google/api/client.proto"; 21import "google/api/field_behavior.proto"; 22import "google/api/resource.proto"; 23import "google/cloud/dialogflow/cx/v3beta1/advanced_settings.proto"; 24import "google/cloud/dialogflow/cx/v3beta1/data_store_connection.proto"; 25import "google/cloud/dialogflow/cx/v3beta1/fulfillment.proto"; 26import "google/protobuf/empty.proto"; 27import "google/protobuf/field_mask.proto"; 28import "google/protobuf/struct.proto"; 29 30option cc_enable_arenas = true; 31option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; 32option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; 33option java_multiple_files = true; 34option java_outer_classname = "PageProto"; 35option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; 36option objc_class_prefix = "DF"; 37option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; 38 39// Service for managing [Pages][google.cloud.dialogflow.cx.v3beta1.Page]. 40service Pages { 41 option (google.api.default_host) = "dialogflow.googleapis.com"; 42 option (google.api.oauth_scopes) = 43 "https://www.googleapis.com/auth/cloud-platform," 44 "https://www.googleapis.com/auth/dialogflow"; 45 46 // Returns the list of all pages in the specified flow. 47 rpc ListPages(ListPagesRequest) returns (ListPagesResponse) { 48 option (google.api.http) = { 49 get: "/v3beta1/{parent=projects/*/locations/*/agents/*/flows/*}/pages" 50 }; 51 option (google.api.method_signature) = "parent"; 52 } 53 54 // Retrieves the specified page. 55 rpc GetPage(GetPageRequest) returns (Page) { 56 option (google.api.http) = { 57 get: "/v3beta1/{name=projects/*/locations/*/agents/*/flows/*/pages/*}" 58 }; 59 option (google.api.method_signature) = "name"; 60 } 61 62 // Creates a page in the specified flow. 63 rpc CreatePage(CreatePageRequest) returns (Page) { 64 option (google.api.http) = { 65 post: "/v3beta1/{parent=projects/*/locations/*/agents/*/flows/*}/pages" 66 body: "page" 67 }; 68 option (google.api.method_signature) = "parent,page"; 69 } 70 71 // Updates the specified page. 72 rpc UpdatePage(UpdatePageRequest) returns (Page) { 73 option (google.api.http) = { 74 patch: "/v3beta1/{page.name=projects/*/locations/*/agents/*/flows/*/pages/*}" 75 body: "page" 76 }; 77 option (google.api.method_signature) = "page,update_mask"; 78 } 79 80 // Deletes the specified page. 81 rpc DeletePage(DeletePageRequest) returns (google.protobuf.Empty) { 82 option (google.api.http) = { 83 delete: "/v3beta1/{name=projects/*/locations/*/agents/*/flows/*/pages/*}" 84 }; 85 option (google.api.method_signature) = "name"; 86 } 87} 88 89// A Dialogflow CX conversation (session) can be described and visualized as a 90// state machine. The states of a CX session are represented by pages. 91// 92// For each flow, you define many pages, where your combined pages can handle a 93// complete conversation on the topics the flow is designed for. At any given 94// moment, exactly one page is the current page, the current page is considered 95// active, and the flow associated with that page is considered active. Every 96// flow has a special start page. When a flow initially becomes active, the 97// start page page becomes the current page. For each conversational turn, the 98// current page will either stay the same or transition to another page. 99// 100// You configure each page to collect information from the end-user that is 101// relevant for the conversational state represented by the page. 102// 103// For more information, see the 104// [Page guide](https://cloud.google.com/dialogflow/cx/docs/concept/page). 105message Page { 106 option (google.api.resource) = { 107 type: "dialogflow.googleapis.com/Page" 108 pattern: "projects/{project}/locations/{location}/agents/{agent}/flows/{flow}/pages/{page}" 109 }; 110 111 // The unique identifier of the page. 112 // Required for the 113 // [Pages.UpdatePage][google.cloud.dialogflow.cx.v3beta1.Pages.UpdatePage] 114 // method. 115 // [Pages.CreatePage][google.cloud.dialogflow.cx.v3beta1.Pages.CreatePage] 116 // populates the name automatically. 117 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 118 // ID>/flows/<Flow ID>/pages/<Page ID>`. 119 string name = 1; 120 121 // Required. The human-readable name of the page, unique within the flow. 122 string display_name = 2 [(google.api.field_behavior) = REQUIRED]; 123 124 // The description of the page. The maximum length is 500 characters. 125 string description = 19; 126 127 // The fulfillment to call when the session is entering the page. 128 Fulfillment entry_fulfillment = 7; 129 130 // The form associated with the page, used for collecting parameters 131 // relevant to the page. 132 Form form = 4; 133 134 // Ordered list of 135 // [`TransitionRouteGroups`][google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup] 136 // added to the page. Transition route groups must be unique within a page. If 137 // the page links both flow-level transition route groups and agent-level 138 // transition route groups, the flow-level ones will have higher priority and 139 // will be put before the agent-level ones. 140 // 141 // * If multiple transition routes within a page scope refer to the same 142 // intent, then the precedence order is: page's transition route -> page's 143 // transition route group -> flow's transition routes. 144 // 145 // * If multiple transition route groups within a page contain the same 146 // intent, then the first group in the ordered list takes precedence. 147 // 148 // Format:`projects/<Project ID>/locations/<Location ID>/agents/<Agent 149 // ID>/flows/<Flow ID>/transitionRouteGroups/<TransitionRouteGroup ID>` 150 // or `projects/<Project ID>/locations/<Location ID>/agents/<Agent 151 // ID>/transitionRouteGroups/<TransitionRouteGroup ID>` for agent-level 152 // groups. 153 repeated string transition_route_groups = 11 154 [(google.api.resource_reference) = { 155 type: "dialogflow.googleapis.com/TransitionRouteGroup" 156 }]; 157 158 // A list of transitions for the transition rules of this page. 159 // They route the conversation to another page in the same flow, or another 160 // flow. 161 // 162 // When we are in a certain page, the TransitionRoutes are evalauted in the 163 // following order: 164 // 165 // * TransitionRoutes defined in the page with intent specified. 166 // * TransitionRoutes defined in the 167 // [transition route 168 // groups][google.cloud.dialogflow.cx.v3beta1.Page.transition_route_groups] 169 // with intent specified. 170 // * TransitionRoutes defined in flow with intent specified. 171 // * TransitionRoutes defined in the 172 // [transition route 173 // groups][google.cloud.dialogflow.cx.v3beta1.Flow.transition_route_groups] 174 // with intent specified. 175 // * TransitionRoutes defined in the page with only condition specified. 176 // * TransitionRoutes defined in the 177 // [transition route 178 // groups][google.cloud.dialogflow.cx.v3beta1.Page.transition_route_groups] 179 // with only condition specified. 180 repeated TransitionRoute transition_routes = 9; 181 182 // Handlers associated with the page to handle events such as webhook errors, 183 // no match or no input. 184 repeated EventHandler event_handlers = 10; 185 186 // Hierarchical advanced settings for this page. The settings exposed at the 187 // lower level overrides the settings exposed at the higher level. 188 AdvancedSettings advanced_settings = 13; 189 190 // Optional. Knowledge connector configuration. 191 KnowledgeConnectorSettings knowledge_connector_settings = 18 192 [(google.api.field_behavior) = OPTIONAL]; 193} 194 195// A form is a data model that groups related parameters that can be collected 196// from the user. The process in which the agent prompts the user and collects 197// parameter values from the user is called form filling. A form can be added to 198// a [page][google.cloud.dialogflow.cx.v3beta1.Page]. When form filling is done, 199// the filled parameters will be written to the 200// [session][google.cloud.dialogflow.cx.v3beta1.SessionInfo.parameters]. 201message Form { 202 // Represents a form parameter. 203 message Parameter { 204 // Configuration for how the filling of a parameter should be handled. 205 message FillBehavior { 206 // Required. The fulfillment to provide the initial prompt that the agent 207 // can present to the user in order to fill the parameter. 208 Fulfillment initial_prompt_fulfillment = 3 209 [(google.api.field_behavior) = REQUIRED]; 210 211 // The handlers for parameter-level events, used to provide reprompt for 212 // the parameter or transition to a different page/flow. The supported 213 // events are: 214 // * `sys.no-match-<N>`, where N can be from 1 to 6 215 // * `sys.no-match-default` 216 // * `sys.no-input-<N>`, where N can be from 1 to 6 217 // * `sys.no-input-default` 218 // * `sys.invalid-parameter` 219 // 220 // `initial_prompt_fulfillment` provides the first prompt for the 221 // parameter. 222 // 223 // If the user's response does not fill the parameter, a 224 // no-match/no-input event will be triggered, and the fulfillment 225 // associated with the `sys.no-match-1`/`sys.no-input-1` handler (if 226 // defined) will be called to provide a prompt. The 227 // `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond to 228 // the next no-match/no-input event, and so on. 229 // 230 // A `sys.no-match-default` or `sys.no-input-default` handler will be used 231 // to handle all following no-match/no-input events after all numbered 232 // no-match/no-input handlers for the parameter are consumed. 233 // 234 // A `sys.invalid-parameter` handler can be defined to handle the case 235 // where the parameter values have been `invalidated` by webhook. For 236 // example, if the user's response fill the parameter, however the 237 // parameter was invalidated by webhook, the fulfillment associated with 238 // the `sys.invalid-parameter` handler (if defined) will be called to 239 // provide a prompt. 240 // 241 // If the event handler for the corresponding event can't be found on the 242 // parameter, `initial_prompt_fulfillment` will be re-prompted. 243 repeated EventHandler reprompt_event_handlers = 5; 244 } 245 246 // Required. The human-readable name of the parameter, unique within the 247 // form. 248 string display_name = 1 [(google.api.field_behavior) = REQUIRED]; 249 250 // Indicates whether the parameter is required. Optional parameters will not 251 // trigger prompts; however, they are filled if the user specifies them. 252 // Required parameters must be filled before form filling concludes. 253 bool required = 2; 254 255 // Required. The entity type of the parameter. 256 // Format: `projects/-/locations/-/agents/-/entityTypes/<System Entity Type 257 // ID>` for system entity types (for example, 258 // `projects/-/locations/-/agents/-/entityTypes/sys.date`), or 259 // `projects/<Project ID>/locations/<Location ID>/agents/<Agent 260 // ID>/entityTypes/<Entity Type ID>` for developer entity types. 261 string entity_type = 3 [ 262 (google.api.field_behavior) = REQUIRED, 263 (google.api.resource_reference) = { 264 type: "dialogflow.googleapis.com/EntityType" 265 } 266 ]; 267 268 // Indicates whether the parameter represents a list of values. 269 bool is_list = 4; 270 271 // Required. Defines fill behavior for the parameter. 272 FillBehavior fill_behavior = 7 [(google.api.field_behavior) = REQUIRED]; 273 274 // The default value of an optional parameter. If the parameter is required, 275 // the default value will be ignored. 276 google.protobuf.Value default_value = 9; 277 278 // Indicates whether the parameter content should be redacted in log. If 279 // redaction is enabled, the parameter content will be replaced by parameter 280 // name during logging. 281 // Note: the parameter content is subject to redaction if either parameter 282 // level redaction or [entity type level 283 // redaction][google.cloud.dialogflow.cx.v3beta1.EntityType.redact] is 284 // enabled. 285 bool redact = 11; 286 287 // Hierarchical advanced settings for this parameter. The settings exposed 288 // at the lower level overrides the settings exposed at the higher level. 289 AdvancedSettings advanced_settings = 12; 290 } 291 292 // Parameters to collect from the user. 293 repeated Parameter parameters = 1; 294} 295 296// An event handler specifies an 297// [event][google.cloud.dialogflow.cx.v3beta1.EventHandler.event] that can be 298// handled during a session. When the specified event happens, the following 299// actions are taken in order: 300// 301// * If there is a 302// [`trigger_fulfillment`][google.cloud.dialogflow.cx.v3beta1.EventHandler.trigger_fulfillment] 303// associated with the event, it will be called. 304// * If there is a 305// [`target_page`][google.cloud.dialogflow.cx.v3beta1.EventHandler.target_page] 306// associated with the event, the session will transition into the specified 307// page. 308// * If there is a 309// [`target_flow`][google.cloud.dialogflow.cx.v3beta1.EventHandler.target_flow] 310// associated with the event, the session will transition into the specified 311// flow. 312message EventHandler { 313 // Output only. The unique identifier of this event handler. 314 string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 315 316 // Required. The name of the event to handle. 317 string event = 4 [(google.api.field_behavior) = REQUIRED]; 318 319 // The fulfillment to call when the event occurs. 320 // Handling webhook errors with a fulfillment enabled with webhook could 321 // cause infinite loop. It is invalid to specify such fulfillment for a 322 // handler handling webhooks. 323 Fulfillment trigger_fulfillment = 5; 324 325 // The target to transition to, either a page in the same host flow (the flow 326 // that owns this 327 // [TransitionRoute][google.cloud.dialogflow.cx.v3beta1.TransitionRoute]), or 328 // another flow in the same agent. 329 oneof target { 330 // The target page to transition to. 331 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 332 // ID>/flows/<Flow ID>/pages/<Page ID>`. 333 string target_page = 2 [(google.api.resource_reference) = { 334 type: "dialogflow.googleapis.com/Page" 335 }]; 336 337 // The target flow to transition to. 338 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 339 // ID>/flows/<Flow ID>`. 340 string target_flow = 3 [(google.api.resource_reference) = { 341 type: "dialogflow.googleapis.com/Flow" 342 }]; 343 } 344} 345 346// A transition route specifies a 347// [intent][google.cloud.dialogflow.cx.v3beta1.Intent] that can be matched 348// and/or a data condition that can be evaluated during a session. When a 349// specified transition is matched, the following actions are taken in order: 350// 351// * If there is a 352// [`trigger_fulfillment`][google.cloud.dialogflow.cx.v3beta1.TransitionRoute.trigger_fulfillment] 353// associated with the transition, it will be called. 354// * If there is a 355// [`target_page`][google.cloud.dialogflow.cx.v3beta1.TransitionRoute.target_page] 356// associated with the transition, the session will transition into the 357// specified page. 358// * If there is a 359// [`target_flow`][google.cloud.dialogflow.cx.v3beta1.TransitionRoute.target_flow] 360// associated with the transition, the session will transition into the 361// specified flow. 362message TransitionRoute { 363 // Output only. The unique identifier of this transition route. 364 string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 365 366 // Optional. The description of the transition route. The maximum length is 367 // 500 characters. 368 string description = 8 [(google.api.field_behavior) = OPTIONAL]; 369 370 // The unique identifier of an 371 // [Intent][google.cloud.dialogflow.cx.v3beta1.Intent]. Format: 372 // `projects/<Project ID>/locations/<Location ID>/agents/<Agent 373 // ID>/intents/<Intent ID>`. 374 // Indicates that the transition can only happen when the given intent is 375 // matched. 376 // At least one of `intent` or `condition` must be specified. When both 377 // `intent` and `condition` are specified, the transition can only happen 378 // when both are fulfilled. 379 string intent = 1 [(google.api.resource_reference) = { 380 type: "dialogflow.googleapis.com/Intent" 381 }]; 382 383 // The condition to evaluate against [form 384 // parameters][google.cloud.dialogflow.cx.v3beta1.Form.parameters] or [session 385 // parameters][google.cloud.dialogflow.cx.v3beta1.SessionInfo.parameters]. 386 // 387 // See the [conditions 388 // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). 389 // At least one of `intent` or `condition` must be specified. When both 390 // `intent` and `condition` are specified, the transition can only happen 391 // when both are fulfilled. 392 string condition = 2; 393 394 // The fulfillment to call when the condition is satisfied. At least one of 395 // `trigger_fulfillment` and `target` must be specified. When both are 396 // defined, `trigger_fulfillment` is executed first. 397 Fulfillment trigger_fulfillment = 3; 398 399 // The target to transition to, either a page in the same host flow (the flow 400 // that owns this 401 // [TransitionRoute][google.cloud.dialogflow.cx.v3beta1.TransitionRoute]), or 402 // another flow in the same agent. 403 oneof target { 404 // The target page to transition to. 405 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 406 // ID>/flows/<Flow ID>/pages/<Page ID>`. 407 string target_page = 4 [(google.api.resource_reference) = { 408 type: "dialogflow.googleapis.com/Page" 409 }]; 410 411 // The target flow to transition to. 412 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 413 // ID>/flows/<Flow ID>`. 414 string target_flow = 5 [(google.api.resource_reference) = { 415 type: "dialogflow.googleapis.com/Flow" 416 }]; 417 } 418} 419 420// The request message for 421// [Pages.ListPages][google.cloud.dialogflow.cx.v3beta1.Pages.ListPages]. 422message ListPagesRequest { 423 // Required. The flow to list all pages for. 424 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 425 // ID>/flows/<Flow ID>`. 426 string parent = 1 [ 427 (google.api.field_behavior) = REQUIRED, 428 (google.api.resource_reference) = { 429 child_type: "dialogflow.googleapis.com/Page" 430 } 431 ]; 432 433 // The language to list pages for. The following fields are language 434 // dependent: 435 // 436 // * `Page.entry_fulfillment.messages` 437 // * `Page.entry_fulfillment.conditional_cases` 438 // * `Page.event_handlers.trigger_fulfillment.messages` 439 // * `Page.event_handlers.trigger_fulfillment.conditional_cases` 440 // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` 441 // * 442 // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` 443 // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` 444 // * 445 // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` 446 // * `Page.transition_routes.trigger_fulfillment.messages` 447 // * `Page.transition_routes.trigger_fulfillment.conditional_cases` 448 // 449 // If not specified, the agent's default language is used. 450 // [Many 451 // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) 452 // are supported. 453 // Note: languages must be enabled in the agent before they can be used. 454 string language_code = 2; 455 456 // The maximum number of items to return in a single page. By default 100 and 457 // at most 1000. 458 int32 page_size = 3; 459 460 // The next_page_token value returned from a previous list request. 461 string page_token = 4; 462} 463 464// The response message for 465// [Pages.ListPages][google.cloud.dialogflow.cx.v3beta1.Pages.ListPages]. 466message ListPagesResponse { 467 // The list of pages. There will be a maximum number of items returned based 468 // on the page_size field in the request. 469 repeated Page pages = 1; 470 471 // Token to retrieve the next page of results, or empty if there are no more 472 // results in the list. 473 string next_page_token = 2; 474} 475 476// The request message for 477// [Pages.GetPage][google.cloud.dialogflow.cx.v3beta1.Pages.GetPage]. 478message GetPageRequest { 479 // Required. The name of the page. 480 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 481 // ID>/flows/<Flow ID>/pages/<Page ID>`. 482 string name = 1 [ 483 (google.api.field_behavior) = REQUIRED, 484 (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Page" } 485 ]; 486 487 // The language to retrieve the page for. The following fields are language 488 // dependent: 489 // 490 // * `Page.entry_fulfillment.messages` 491 // * `Page.entry_fulfillment.conditional_cases` 492 // * `Page.event_handlers.trigger_fulfillment.messages` 493 // * `Page.event_handlers.trigger_fulfillment.conditional_cases` 494 // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` 495 // * 496 // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` 497 // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` 498 // * 499 // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` 500 // * `Page.transition_routes.trigger_fulfillment.messages` 501 // * `Page.transition_routes.trigger_fulfillment.conditional_cases` 502 // 503 // If not specified, the agent's default language is used. 504 // [Many 505 // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) 506 // are supported. 507 // Note: languages must be enabled in the agent before they can be used. 508 string language_code = 2; 509} 510 511// The request message for 512// [Pages.CreatePage][google.cloud.dialogflow.cx.v3beta1.Pages.CreatePage]. 513message CreatePageRequest { 514 // Required. The flow to create a page for. 515 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 516 // ID>/flows/<Flow ID>`. 517 string parent = 1 [ 518 (google.api.field_behavior) = REQUIRED, 519 (google.api.resource_reference) = { 520 child_type: "dialogflow.googleapis.com/Page" 521 } 522 ]; 523 524 // Required. The page to create. 525 Page page = 2 [(google.api.field_behavior) = REQUIRED]; 526 527 // The language of the following fields in `page`: 528 // 529 // * `Page.entry_fulfillment.messages` 530 // * `Page.entry_fulfillment.conditional_cases` 531 // * `Page.event_handlers.trigger_fulfillment.messages` 532 // * `Page.event_handlers.trigger_fulfillment.conditional_cases` 533 // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` 534 // * 535 // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` 536 // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` 537 // * 538 // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` 539 // * `Page.transition_routes.trigger_fulfillment.messages` 540 // * `Page.transition_routes.trigger_fulfillment.conditional_cases` 541 // 542 // If not specified, the agent's default language is used. 543 // [Many 544 // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) 545 // are supported. 546 // Note: languages must be enabled in the agent before they can be used. 547 string language_code = 3; 548} 549 550// The request message for 551// [Pages.UpdatePage][google.cloud.dialogflow.cx.v3beta1.Pages.UpdatePage]. 552message UpdatePageRequest { 553 // Required. The page to update. 554 Page page = 1 [(google.api.field_behavior) = REQUIRED]; 555 556 // The language of the following fields in `page`: 557 // 558 // * `Page.entry_fulfillment.messages` 559 // * `Page.entry_fulfillment.conditional_cases` 560 // * `Page.event_handlers.trigger_fulfillment.messages` 561 // * `Page.event_handlers.trigger_fulfillment.conditional_cases` 562 // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` 563 // * 564 // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` 565 // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` 566 // * 567 // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` 568 // * `Page.transition_routes.trigger_fulfillment.messages` 569 // * `Page.transition_routes.trigger_fulfillment.conditional_cases` 570 // 571 // If not specified, the agent's default language is used. 572 // [Many 573 // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) 574 // are supported. 575 // Note: languages must be enabled in the agent before they can be used. 576 string language_code = 2; 577 578 // The mask to control which fields get updated. If the mask is not present, 579 // all fields will be updated. 580 google.protobuf.FieldMask update_mask = 3; 581} 582 583// The request message for 584// [Pages.DeletePage][google.cloud.dialogflow.cx.v3beta1.Pages.DeletePage]. 585message DeletePageRequest { 586 // Required. The name of the page to delete. 587 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 588 // ID>/Flows/<flow ID>/pages/<Page ID>`. 589 string name = 1 [ 590 (google.api.field_behavior) = REQUIRED, 591 (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Page" } 592 ]; 593 594 // This field has no effect for pages with no incoming transitions. 595 // For pages with incoming transitions: 596 // 597 // * If `force` is set to false, an error will be returned with message 598 // indicating the incoming transitions. 599 // * If `force` is set to true, Dialogflow will remove the page, as well as 600 // any transitions to the page (i.e. [Target 601 // page][EventHandler.target_page] in event handlers or [Target 602 // page][TransitionRoute.target_page] in transition routes that point to 603 // this page will be cleared). 604 bool force = 2; 605} 606 607// The Knowledge Connector settings for this page or flow. 608// This includes information such as the attached Knowledge Bases, and the way 609// to execute fulfillment. 610message KnowledgeConnectorSettings { 611 // Whether Knowledge Connector is enabled or not. 612 bool enabled = 1; 613 614 // The fulfillment to be triggered. 615 // 616 // When the answers from the Knowledge Connector are selected by Dialogflow, 617 // you can utitlize the request scoped parameter `$request.knowledge.answers` 618 // (contains up to the 5 highest confidence answers) and 619 // `$request.knowledge.questions` (contains the corresponding questions) to 620 // construct the fulfillment. 621 Fulfillment trigger_fulfillment = 3; 622 623 // The target to transition to, either a page in the same host flow (the flow 624 // that owns this 625 // [KnowledgeConnectorSettings][google.cloud.dialogflow.cx.v3beta1.KnowledgeConnectorSettings]), 626 // or another flow in the same agent. 627 oneof target { 628 // The target page to transition to. 629 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 630 // ID>/flows/<Flow ID>/pages/<Page ID>`. 631 string target_page = 4 [(google.api.resource_reference) = { 632 type: "dialogflow.googleapis.com/Page" 633 }]; 634 635 // The target flow to transition to. 636 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 637 // ID>/flows/<Flow ID>`. 638 string target_flow = 5 [(google.api.resource_reference) = { 639 type: "dialogflow.googleapis.com/Flow" 640 }]; 641 } 642 643 // Optional. List of related data store connections. 644 repeated DataStoreConnection data_store_connections = 6 645 [(google.api.field_behavior) = OPTIONAL]; 646} 647