123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753 |
- // Copyright 2022 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.dialogflow.v2;
- import "google/api/annotations.proto";
- import "google/api/client.proto";
- import "google/api/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/cloud/dialogflow/v2/audio_config.proto";
- import "google/cloud/dialogflow/v2/participant.proto";
- import "google/longrunning/operations.proto";
- import "google/protobuf/empty.proto";
- import "google/protobuf/field_mask.proto";
- import "google/protobuf/timestamp.proto";
- option cc_enable_arenas = true;
- option csharp_namespace = "Google.Cloud.Dialogflow.V2";
- option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
- option java_multiple_files = true;
- option java_outer_classname = "ConversationProfileProto";
- option java_package = "com.google.cloud.dialogflow.v2";
- option objc_class_prefix = "DF";
- option (google.api.resource_definition) = {
- type: "dialogflow.googleapis.com/CXSecuritySettings"
- pattern: "projects/{project}/locations/{location}/securitySettings/{security_settings}"
- };
- // Service for managing [ConversationProfiles][google.cloud.dialogflow.v2.ConversationProfile].
- service ConversationProfiles {
- option (google.api.default_host) = "dialogflow.googleapis.com";
- option (google.api.oauth_scopes) =
- "https://www.googleapis.com/auth/cloud-platform,"
- "https://www.googleapis.com/auth/dialogflow";
- // Returns the list of all conversation profiles in the specified project.
- rpc ListConversationProfiles(ListConversationProfilesRequest) returns (ListConversationProfilesResponse) {
- option (google.api.http) = {
- get: "/v2/{parent=projects/*}/conversationProfiles"
- additional_bindings {
- get: "/v2/{parent=projects/*/locations/*}/conversationProfiles"
- }
- };
- option (google.api.method_signature) = "parent";
- }
- // Retrieves the specified conversation profile.
- rpc GetConversationProfile(GetConversationProfileRequest) returns (ConversationProfile) {
- option (google.api.http) = {
- get: "/v2/{name=projects/*/conversationProfiles/*}"
- additional_bindings {
- get: "/v2/{name=projects/*/locations/*/conversationProfiles/*}"
- }
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a conversation profile in the specified project.
- //
- // [ConversationProfile.CreateTime][] and [ConversationProfile.UpdateTime][]
- // aren't populated in the response. You can retrieve them via
- // [GetConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.GetConversationProfile] API.
- rpc CreateConversationProfile(CreateConversationProfileRequest) returns (ConversationProfile) {
- option (google.api.http) = {
- post: "/v2/{parent=projects/*}/conversationProfiles"
- body: "conversation_profile"
- additional_bindings {
- post: "/v2/{parent=projects/*/locations/*}/conversationProfiles"
- body: "conversation_profile"
- }
- };
- option (google.api.method_signature) = "parent,conversation_profile";
- }
- // Updates the specified conversation profile.
- //
- // [ConversationProfile.CreateTime][] and [ConversationProfile.UpdateTime][]
- // aren't populated in the response. You can retrieve them via
- // [GetConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.GetConversationProfile] API.
- rpc UpdateConversationProfile(UpdateConversationProfileRequest) returns (ConversationProfile) {
- option (google.api.http) = {
- patch: "/v2/{conversation_profile.name=projects/*/conversationProfiles/*}"
- body: "conversation_profile"
- additional_bindings {
- patch: "/v2/{conversation_profile.name=projects/*/locations/*/conversationProfiles/*}"
- body: "conversation_profile"
- }
- };
- option (google.api.method_signature) = "conversation_profile,update_mask";
- }
- // Deletes the specified conversation profile.
- rpc DeleteConversationProfile(DeleteConversationProfileRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v2/{name=projects/*/conversationProfiles/*}"
- additional_bindings {
- delete: "/v2/{name=projects/*/locations/*/conversationProfiles/*}"
- }
- };
- option (google.api.method_signature) = "name";
- }
- // Adds or updates a suggestion feature in a conversation profile.
- // If the conversation profile contains the type of suggestion feature for
- // the participant role, it will update it. Otherwise it will insert the
- // suggestion feature.
- //
- // This method is a [long-running
- // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
- // The returned `Operation` type has the following method-specific fields:
- //
- // - `metadata`: [SetSuggestionFeatureConfigOperationMetadata][google.cloud.dialogflow.v2.SetSuggestionFeatureConfigOperationMetadata]
- // - `response`: [ConversationProfile][google.cloud.dialogflow.v2.ConversationProfile]
- //
- // If a long running operation to add or update suggestion feature
- // config for the same conversation profile, participant role and suggestion
- // feature type exists, please cancel the existing long running operation
- // before sending such request, otherwise the request will be rejected.
- rpc SetSuggestionFeatureConfig(SetSuggestionFeatureConfigRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v2/{conversation_profile=projects/*/conversationProfiles/*}:setSuggestionFeatureConfig"
- body: "*"
- additional_bindings {
- post: "/v2/{conversation_profile=projects/*/locations/*/conversationProfiles/*}:setSuggestionFeatureConfig"
- body: "*"
- }
- };
- option (google.api.method_signature) = "conversation_profile";
- option (google.longrunning.operation_info) = {
- response_type: "ConversationProfile"
- metadata_type: "SetSuggestionFeatureConfigOperationMetadata"
- };
- }
- // Clears a suggestion feature from a conversation profile for the given
- // participant role.
- //
- // This method is a [long-running
- // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
- // The returned `Operation` type has the following method-specific fields:
- //
- // - `metadata`: [ClearSuggestionFeatureConfigOperationMetadata][google.cloud.dialogflow.v2.ClearSuggestionFeatureConfigOperationMetadata]
- // - `response`: [ConversationProfile][google.cloud.dialogflow.v2.ConversationProfile]
- rpc ClearSuggestionFeatureConfig(ClearSuggestionFeatureConfigRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v2/{conversation_profile=projects/*/conversationProfiles/*}:clearSuggestionFeatureConfig"
- body: "*"
- additional_bindings {
- post: "/v2/{conversation_profile=projects/*/locations/*/conversationProfiles/*}:clearSuggestionFeatureConfig"
- body: "*"
- }
- };
- option (google.api.method_signature) = "conversation_profile";
- option (google.longrunning.operation_info) = {
- response_type: "ConversationProfile"
- metadata_type: "ClearSuggestionFeatureConfigOperationMetadata"
- };
- }
- }
- // Defines the services to connect to incoming Dialogflow conversations.
- message ConversationProfile {
- option (google.api.resource) = {
- type: "dialogflow.googleapis.com/ConversationProfile"
- pattern: "projects/{project}/conversationProfiles/{conversation_profile}"
- pattern: "projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}"
- };
- // The unique identifier of this conversation profile.
- // Format: `projects/<Project ID>/locations/<Location
- // ID>/conversationProfiles/<Conversation Profile ID>`.
- string name = 1;
- // Required. Human readable name for this profile. Max length 1024 bytes.
- string display_name = 2 [(google.api.field_behavior) = REQUIRED];
- // Output only. Create time of the conversation profile.
- google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Update time of the conversation profile.
- google.protobuf.Timestamp update_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Configuration for an automated agent to use with this profile.
- AutomatedAgentConfig automated_agent_config = 3;
- // Configuration for agent assistance to use with this profile.
- HumanAgentAssistantConfig human_agent_assistant_config = 4;
- // Configuration for connecting to a live agent.
- //
- // Currently, this feature is not general available, please contact Google
- // to get access.
- HumanAgentHandoffConfig human_agent_handoff_config = 5;
- // Configuration for publishing conversation lifecycle events.
- NotificationConfig notification_config = 6;
- // Configuration for logging conversation lifecycle events.
- LoggingConfig logging_config = 7;
- // Configuration for publishing new message events. Event will be sent in
- // format of [ConversationEvent][google.cloud.dialogflow.v2.ConversationEvent]
- NotificationConfig new_message_event_notification_config = 8;
- // Settings for speech transcription.
- SpeechToTextConfig stt_config = 9;
- // Language code for the conversation profile. If not specified, the language
- // is en-US. Language at ConversationProfile should be set for all non en-US
- // languages.
- // This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
- // language tag. Example: "en-US".
- string language_code = 10;
- // The time zone of this conversational profile from the
- // [time zone database](https://www.iana.org/time-zones), e.g.,
- // America/New_York, Europe/Paris. Defaults to America/New_York.
- string time_zone = 14;
- // Name of the CX SecuritySettings reference for the agent.
- // Format: `projects/<Project ID>/locations/<Location
- // ID>/securitySettings/<Security Settings ID>`.
- string security_settings = 13 [(google.api.resource_reference) = {
- type: "dialogflow.googleapis.com/CXSecuritySettings"
- }];
- }
- // The request message for [ConversationProfiles.ListConversationProfiles][google.cloud.dialogflow.v2.ConversationProfiles.ListConversationProfiles].
- message ListConversationProfilesRequest {
- // Required. The project to list all conversation profiles from.
- // Format: `projects/<Project ID>/locations/<Location ID>`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "dialogflow.googleapis.com/ConversationProfile"
- }
- ];
- // The maximum number of items to return in a single page. By
- // default 100 and at most 1000.
- int32 page_size = 2;
- // The next_page_token value returned from a previous list request.
- string page_token = 3;
- }
- // The response message for [ConversationProfiles.ListConversationProfiles][google.cloud.dialogflow.v2.ConversationProfiles.ListConversationProfiles].
- message ListConversationProfilesResponse {
- // The list of project conversation profiles. There is a maximum number
- // of items returned based on the page_size field in the request.
- repeated ConversationProfile conversation_profiles = 1;
- // Token to retrieve the next page of results, or empty if there are no
- // more results in the list.
- string next_page_token = 2;
- }
- // The request message for [ConversationProfiles.GetConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.GetConversationProfile].
- message GetConversationProfileRequest {
- // Required. The resource name of the conversation profile.
- // Format: `projects/<Project ID>/locations/<Location
- // ID>/conversationProfiles/<Conversation Profile ID>`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "dialogflow.googleapis.com/ConversationProfile"
- }
- ];
- }
- // The request message for [ConversationProfiles.CreateConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.CreateConversationProfile].
- message CreateConversationProfileRequest {
- // Required. The project to create a conversation profile for.
- // Format: `projects/<Project ID>/locations/<Location ID>`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "dialogflow.googleapis.com/ConversationProfile"
- }
- ];
- // Required. The conversation profile to create.
- ConversationProfile conversation_profile = 2 [(google.api.field_behavior) = REQUIRED];
- }
- // The request message for [ConversationProfiles.UpdateConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.UpdateConversationProfile].
- message UpdateConversationProfileRequest {
- // Required. The conversation profile to update.
- ConversationProfile conversation_profile = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. The mask to control which fields to update.
- google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
- }
- // The request message for [ConversationProfiles.DeleteConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.DeleteConversationProfile].
- //
- // This operation fails if the conversation profile is still referenced from
- // a phone number.
- message DeleteConversationProfileRequest {
- // Required. The name of the conversation profile to delete.
- // Format: `projects/<Project ID>/locations/<Location
- // ID>/conversationProfiles/<Conversation Profile ID>`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "dialogflow.googleapis.com/ConversationProfile"
- }
- ];
- }
- // Defines the Automated Agent to connect to a conversation.
- message AutomatedAgentConfig {
- // Required. ID of the Dialogflow agent environment to use.
- //
- // This project needs to either be the same project as the conversation or you
- // need to grant `service-<Conversation Project
- // Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow API
- // Service Agent` role in this project.
- //
- // - For ES agents, use format: `projects/<Project ID>/locations/<Location
- // ID>/agent/environments/<Environment ID or '-'>`. If environment is not
- // specified, the default `draft` environment is used. Refer to
- // [DetectIntentRequest](/dialogflow/docs/reference/rpc/google.cloud.dialogflow.v2#google.cloud.dialogflow.v2.DetectIntentRequest)
- // for more details.
- //
- // - For CX agents, use format `projects/<Project ID>/locations/<Location
- // ID>/agents/<Agent ID>/environments/<Environment ID
- // or '-'>`. If environment is not specified, the default `draft` environment
- // is used.
- string agent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "dialogflow.googleapis.com/Agent"
- }
- ];
- }
- // Defines the Human Agent Assist to connect to a conversation.
- message HumanAgentAssistantConfig {
- // Settings of suggestion trigger.
- message SuggestionTriggerSettings {
- // Do not trigger if last utterance is small talk.
- bool no_smalltalk = 1;
- // Only trigger suggestion if participant role of last utterance is
- // END_USER.
- bool only_end_user = 2;
- }
- // Config for suggestion features.
- message SuggestionFeatureConfig {
- // The suggestion feature.
- SuggestionFeature suggestion_feature = 5;
- // Automatically iterates all participants and tries to compile
- // suggestions.
- //
- // Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
- bool enable_event_based_suggestion = 3;
- // Settings of suggestion trigger.
- //
- // Currently, only ARTICLE_SUGGESTION and FAQ will use this field.
- SuggestionTriggerSettings suggestion_trigger_settings = 10;
- // Configs of query.
- SuggestionQueryConfig query_config = 6;
- // Configs of custom conversation model.
- ConversationModelConfig conversation_model_config = 7;
- // Configs for processing conversation.
- ConversationProcessConfig conversation_process_config = 8;
- }
- // Detail human agent assistant config.
- message SuggestionConfig {
- // Configuration of different suggestion features. One feature can have only
- // one config.
- repeated SuggestionFeatureConfig feature_configs = 2;
- // If `group_suggestion_responses` is false, and there are multiple
- // `feature_configs` in `event based suggestion` or
- // StreamingAnalyzeContent, we will try to deliver suggestions to customers
- // as soon as we get new suggestion. Different type of suggestions based on
- // the same context will be in separate Pub/Sub event or
- // `StreamingAnalyzeContentResponse`.
- //
- // If `group_suggestion_responses` set to true. All the suggestions to the
- // same participant based on the same context will be grouped into a single
- // Pub/Sub event or StreamingAnalyzeContentResponse.
- bool group_suggestion_responses = 3;
- }
- // Config for suggestion query.
- message SuggestionQueryConfig {
- // Knowledge base source settings.
- //
- // Supported features: ARTICLE_SUGGESTION, FAQ.
- message KnowledgeBaseQuerySource {
- // Required. Knowledge bases to query. Format:
- // `projects/<Project ID>/locations/<Location
- // ID>/knowledgeBases/<Knowledge Base ID>`. Currently, at most 5 knowledge
- // bases are supported.
- repeated string knowledge_bases = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "dialogflow.googleapis.com/KnowledgeBase"
- }
- ];
- }
- // Document source settings.
- //
- // Supported features: SMART_REPLY, SMART_COMPOSE.
- message DocumentQuerySource {
- // Required. Knowledge documents to query from. Format:
- // `projects/<Project ID>/locations/<Location
- // ID>/knowledgeBases/<KnowledgeBase ID>/documents/<Document ID>`.
- // Currently, at most 5 documents are supported.
- repeated string documents = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "dialogflow.googleapis.com/Document"
- }
- ];
- }
- // Dialogflow source setting.
- //
- // Supported feature: DIALOGFLOW_ASSIST.
- message DialogflowQuerySource {
- // Required. The name of a Dialogflow virtual agent used for end user side intent
- // detection and suggestion. Format: `projects/<Project Number/
- // ID>/locations/<Location ID>/agent`. When multiple agents are allowed in
- // the same Dialogflow project.
- string agent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "dialogflow.googleapis.com/Agent"
- }
- ];
- }
- // Settings that determine how to filter recent conversation context when
- // generating suggestions.
- message ContextFilterSettings {
- // If set to true, the last message from virtual agent (hand off message)
- // and the message before it (trigger message of hand off) are dropped.
- bool drop_handoff_messages = 1;
- // If set to true, all messages from virtual agent are dropped.
- bool drop_virtual_agent_messages = 2;
- // If set to true, all messages from ivr stage are dropped.
- bool drop_ivr_messages = 3;
- }
- // Source of query.
- oneof query_source {
- // Query from knowledgebase. It is used by:
- // ARTICLE_SUGGESTION, FAQ.
- KnowledgeBaseQuerySource knowledge_base_query_source = 1;
- // Query from knowledge base document. It is used by:
- // SMART_REPLY, SMART_COMPOSE.
- DocumentQuerySource document_query_source = 2;
- // Query from Dialogflow agent. It is used by DIALOGFLOW_ASSIST.
- DialogflowQuerySource dialogflow_query_source = 3;
- }
- // Maximum number of results to return. Currently, if unset, defaults to 10.
- // And the max number is 20.
- int32 max_results = 4;
- // Confidence threshold of query result.
- //
- // Agent Assist gives each suggestion a score in the range [0.0, 1.0], based
- // on the relevance between the suggestion and the current conversation
- // context. A score of 0.0 has no relevance, while a score of 1.0 has high
- // relevance. Only suggestions with a score greater than or equal to the
- // value of this field are included in the results.
- //
- // For a baseline model (the default), the recommended value is in the range
- // [0.05, 0.1].
- //
- // For a custom model, there is no recommended value. Tune this value by
- // starting from a very low value and slowly increasing until you have
- // desired results.
- //
- // If this field is not set, it defaults to 0.0, which means that all
- // suggestions are returned.
- //
- // Supported features: ARTICLE_SUGGESTION, FAQ, SMART_REPLY, SMART_COMPOSE.
- float confidence_threshold = 5;
- // Determines how recent conversation context is filtered when generating
- // suggestions. If unspecified, no messages will be dropped.
- ContextFilterSettings context_filter_settings = 7;
- }
- // Custom conversation models used in agent assist feature.
- //
- // Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY,
- // CONVERSATION_SUMMARIZATION.
- message ConversationModelConfig {
- // Conversation model resource name. Format: `projects/<Project
- // ID>/conversationModels/<Model ID>`.
- string model = 1 [(google.api.resource_reference) = {
- type: "dialogflow.googleapis.com/ConversationModel"
- }];
- }
- // Config to process conversation.
- message ConversationProcessConfig {
- // Number of recent non-small-talk sentences to use as context for article
- // and FAQ suggestion
- int32 recent_sentences_count = 2;
- }
- // Configuration for analyses to run on each conversation message.
- message MessageAnalysisConfig {
- // Enable entity extraction in conversation messages on [agent assist
- // stage](https://cloud.google.com/dialogflow/priv/docs/contact-center/basics#stages).
- // If unspecified, defaults to false.
- //
- // Currently, this feature is not general available, please contact Google
- // to get access.
- bool enable_entity_extraction = 2;
- // Enable sentiment analysis in conversation messages on [agent assist
- // stage](https://cloud.google.com/dialogflow/priv/docs/contact-center/basics#stages).
- // If unspecified, defaults to false. Sentiment analysis inspects user input
- // and identifies the prevailing subjective opinion, especially to determine
- // a user's attitude as positive, negative, or neutral:
- // https://cloud.google.com/natural-language/docs/basics#sentiment_analysis
- // For [Participants.StreamingAnalyzeContent][google.cloud.dialogflow.v2.Participants.StreamingAnalyzeContent] method, result will be in
- // [StreamingAnalyzeContentResponse.message.SentimentAnalysisResult][google.cloud.dialogflow.v2.StreamingAnalyzeContentResponse.message].
- // For [Participants.AnalyzeContent][google.cloud.dialogflow.v2.Participants.AnalyzeContent] method, result will be in
- // [AnalyzeContentResponse.message.SentimentAnalysisResult][google.cloud.dialogflow.v2.AnalyzeContentResponse.message]
- // For [Conversations.ListMessages][google.cloud.dialogflow.v2.Conversations.ListMessages] method, result will be in
- // [ListMessagesResponse.messages.SentimentAnalysisResult][google.cloud.dialogflow.v2.ListMessagesResponse.messages]
- // If Pub/Sub notification is configured, result will be in
- // [ConversationEvent.new_message_payload.SentimentAnalysisResult][google.cloud.dialogflow.v2.ConversationEvent.new_message_payload].
- bool enable_sentiment_analysis = 3;
- }
- // Pub/Sub topic on which to publish new agent assistant events.
- NotificationConfig notification_config = 2;
- // Configuration for agent assistance of human agent participant.
- SuggestionConfig human_agent_suggestion_config = 3;
- // Configuration for agent assistance of end user participant.
- //
- // Currently, this feature is not general available, please contact Google
- // to get access.
- SuggestionConfig end_user_suggestion_config = 4;
- // Configuration for message analysis.
- MessageAnalysisConfig message_analysis_config = 5;
- }
- // Defines the hand off to a live agent, typically on which external agent
- // service provider to connect to a conversation.
- //
- // Currently, this feature is not general available, please contact Google
- // to get access.
- message HumanAgentHandoffConfig {
- // Configuration specific to LivePerson (https://www.liveperson.com).
- message LivePersonConfig {
- // Required. Account number of the LivePerson account to connect. This is
- // the account number you input at the login page.
- string account_number = 1 [(google.api.field_behavior) = REQUIRED];
- }
- // Configuration specific to Salesforce Live Agent.
- message SalesforceLiveAgentConfig {
- // Required. The organization ID of the Salesforce account.
- string organization_id = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. Live Agent deployment ID.
- string deployment_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. Live Agent chat button ID.
- string button_id = 3 [(google.api.field_behavior) = REQUIRED];
- // Required. Domain of the Live Agent endpoint for this agent. You can find
- // the endpoint URL in the `Live Agent settings` page. For example if URL
- // has the form https://d.la4-c2-phx.salesforceliveagent.com/...,
- // you should fill in d.la4-c2-phx.salesforceliveagent.com.
- string endpoint_domain = 4 [(google.api.field_behavior) = REQUIRED];
- }
- // Required. Specifies which agent service to connect for human agent handoff.
- oneof agent_service {
- // Uses LivePerson (https://www.liveperson.com).
- LivePersonConfig live_person_config = 1;
- // Uses Salesforce Live Agent.
- SalesforceLiveAgentConfig salesforce_live_agent_config = 2;
- }
- }
- // Defines notification behavior.
- message NotificationConfig {
- // Format of cloud pub/sub message.
- enum MessageFormat {
- // If it is unspecified, PROTO will be used.
- MESSAGE_FORMAT_UNSPECIFIED = 0;
- // Pub/Sub message will be serialized proto.
- PROTO = 1;
- // Pub/Sub message will be json.
- JSON = 2;
- }
- // Name of the Pub/Sub topic to publish conversation
- // events like
- // [CONVERSATION_STARTED][google.cloud.dialogflow.v2.ConversationEvent.Type.CONVERSATION_STARTED] as
- // serialized [ConversationEvent][google.cloud.dialogflow.v2.ConversationEvent] protos.
- //
- // For telephony integration to receive notification, make sure either this
- // topic is in the same project as the conversation or you grant
- // `service-<Conversation Project
- // Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow Service
- // Agent` role in the topic project.
- //
- // For chat integration to receive notification, make sure API caller has been
- // granted the `Dialogflow Service Agent` role for the topic.
- //
- // Format: `projects/<Project ID>/locations/<Location ID>/topics/<Topic ID>`.
- string topic = 1;
- // Format of message.
- MessageFormat message_format = 2;
- }
- // Defines logging behavior for conversation lifecycle events.
- message LoggingConfig {
- // Whether to log conversation events like
- // [CONVERSATION_STARTED][google.cloud.dialogflow.v2.ConversationEvent.Type.CONVERSATION_STARTED] to
- // Stackdriver in the conversation project as JSON format
- // [ConversationEvent][google.cloud.dialogflow.v2.ConversationEvent] protos.
- bool enable_stackdriver_logging = 3;
- }
- // The type of Human Agent Assistant API suggestion to perform, and the maximum
- // number of results to return for that type. Multiple `Feature` objects can
- // be specified in the `features` list.
- message SuggestionFeature {
- // Defines the type of Human Agent Assistant feature.
- enum Type {
- // Unspecified feature type.
- TYPE_UNSPECIFIED = 0;
- // Run article suggestion model for chat.
- ARTICLE_SUGGESTION = 1;
- // Run FAQ model for chat.
- FAQ = 2;
- // Run smart reply model for chat.
- SMART_REPLY = 3;
- }
- // Type of Human Agent Assistant API feature to request.
- Type type = 1;
- }
- // The request message for
- // [ConversationProfiles.SetSuggestionFeature][].
- message SetSuggestionFeatureConfigRequest {
- // Required. The Conversation Profile to add or update the suggestion feature
- // config. Format: `projects/<Project ID>/locations/<Location
- // ID>/conversationProfiles/<Conversation Profile ID>`.
- string conversation_profile = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. The participant role to add or update the suggestion feature
- // config. Only HUMAN_AGENT or END_USER can be used.
- Participant.Role participant_role = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The suggestion feature config to add or update.
- HumanAgentAssistantConfig.SuggestionFeatureConfig suggestion_feature_config = 3 [(google.api.field_behavior) = REQUIRED];
- }
- // The request message for [ConversationProfiles.ClearFeature][].
- message ClearSuggestionFeatureConfigRequest {
- // Required. The Conversation Profile to add or update the suggestion feature
- // config. Format: `projects/<Project ID>/locations/<Location
- // ID>/conversationProfiles/<Conversation Profile ID>`.
- string conversation_profile = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. The participant role to remove the suggestion feature
- // config. Only HUMAN_AGENT or END_USER can be used.
- Participant.Role participant_role = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The type of the suggestion feature to remove.
- SuggestionFeature.Type suggestion_feature_type = 3 [(google.api.field_behavior) = REQUIRED];
- }
- // Metadata for a [ConversationProfile.SetSuggestionFeatureConfig][]
- // operation.
- message SetSuggestionFeatureConfigOperationMetadata {
- // The resource name of the conversation profile. Format:
- // `projects/<Project ID>/locations/<Location
- // ID>/conversationProfiles/<Conversation Profile ID>`
- string conversation_profile = 1;
- // Required. The participant role to add or update the suggestion feature
- // config. Only HUMAN_AGENT or END_USER can be used.
- Participant.Role participant_role = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The type of the suggestion feature to add or update.
- SuggestionFeature.Type suggestion_feature_type = 3 [(google.api.field_behavior) = REQUIRED];
- // Timestamp whe the request was created. The time is measured on server side.
- google.protobuf.Timestamp create_time = 4;
- }
- // Metadata for a [ConversationProfile.ClearSuggestionFeatureConfig][]
- // operation.
- message ClearSuggestionFeatureConfigOperationMetadata {
- // The resource name of the conversation profile. Format:
- // `projects/<Project ID>/locations/<Location
- // ID>/conversationProfiles/<Conversation Profile ID>`
- string conversation_profile = 1;
- // Required. The participant role to remove the suggestion feature
- // config. Only HUMAN_AGENT or END_USER can be used.
- Participant.Role participant_role = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The type of the suggestion feature to remove.
- SuggestionFeature.Type suggestion_feature_type = 3 [(google.api.field_behavior) = REQUIRED];
- // Timestamp whe the request was created. The time is measured on server side.
- google.protobuf.Timestamp create_time = 4;
- }
|