Package google.cloud.dialogflow.v2beta1

Index

Agents

Agents are best described as Natural Language Understanding (NLU) modules that transform user requests into actionable data. You can include agents in your app, product, or service to determine user intent and respond to the user in a natural way.

After you create an agent, you can add Intents, Contexts, Entity Types, Webhooks, and so on to manage the flow of a conversation and match user input to predefined intents and actions.

You can create an agent using both Dialogflow Standard Edition and Dialogflow Enterprise Edition. For details, see Dialogflow Editions.

You can save your agent for backup or versioning by exporting the agent by using the ExportAgent method. You can import a saved agent by using the ImportAgent method.

Dialogflow provides several prebuilt agents for common conversation scenarios such as determining a date and time, converting currency, and so on.

For more information about agents, see the Dialogflow documentation.

ExportAgent

rpc ExportAgent(ExportAgentRequest) returns (Operation)

Exports the specified agent to a ZIP file.

Operation <response: ExportAgentResponse, metadata: google.protobuf.Struct>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

GetAgent

rpc GetAgent(GetAgentRequest) returns (Agent)

Retrieves the specified agent.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

ImportAgent

rpc ImportAgent(ImportAgentRequest) returns (Operation)

Imports the specified agent from a ZIP file.

Uploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions from ImportAgentRequest.

Operation <response: google.protobuf.Empty, metadata: google.protobuf.Struct>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

RestoreAgent

rpc RestoreAgent(RestoreAgentRequest) returns (Operation)

Restores the specified agent from a ZIP file.

Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted.

Operation <response: google.protobuf.Empty, metadata: google.protobuf.Struct>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

SearchAgents

rpc SearchAgents(SearchAgentsRequest) returns (SearchAgentsResponse)

Returns the list of agents.

Since there is at most one conversational agent per project, this method is useful primarily for listing all agents across projects the caller has access to. One can achieve that with a wildcard project collection id "-". Refer to List Sub-Collections.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

TrainAgent

rpc TrainAgent(TrainAgentRequest) returns (Operation)

Trains the specified agent.

Operation <response: google.protobuf.Empty, metadata: google.protobuf.Struct>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

Contexts

A context represents additional information included with user input or with an intent returned by the Dialogflow API. Contexts are helpful for differentiating user input which may be vague or have a different meaning depending on additional details from your application such as user setting and preferences, previous user input, where the user is in your application, geographic location, and so on.

You can include contexts as input parameters of a DetectIntent (or StreamingDetectIntent) request, or as output contexts included in the returned intent. Contexts expire when an intent is matched, after the number of DetectIntent requests specified by the lifespan_count parameter, or after 10 minutes if no intents are matched for a DetectIntent request.

For more information about contexts, see the Dialogflow documentation.

CreateContext

rpc CreateContext(CreateContextRequest) returns (Context)

Creates a context.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

DeleteAllContexts

rpc DeleteAllContexts(DeleteAllContextsRequest) returns (Empty)

Deletes all active contexts in the specified session.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

DeleteContext

rpc DeleteContext(DeleteContextRequest) returns (Empty)

Deletes the specified context.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

GetContext

rpc GetContext(GetContextRequest) returns (Context)

Retrieves the specified context.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

ListContexts

rpc ListContexts(ListContextsRequest) returns (ListContextsResponse)

Returns the list of all contexts in the specified session.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

UpdateContext

rpc UpdateContext(UpdateContextRequest) returns (Context)

Updates the specified context.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

Documents

Manages documents of a knowledge base.

CreateDocument

rpc CreateDocument(CreateDocumentRequest) returns (Operation)

Creates a new document.

Operation <response: Document, metadata: KnowledgeOperationMetadata>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

DeleteDocument

rpc DeleteDocument(DeleteDocumentRequest) returns (Operation)

Deletes the specified document.

Operation <response: google.protobuf.Empty, metadata: KnowledgeOperationMetadata>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

GetDocument

rpc GetDocument(GetDocumentRequest) returns (Document)

Retrieves the specified document.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

ListDocuments

rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse)

Returns the list of all documents of the knowledge base.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

EntityTypes

Entities are extracted from user input and represent parameters that are meaningful to your application. For example, a date range, a proper name such as a geographic location or landmark, and so on. Entities represent actionable data for your application.

When you define an entity, you can also include synonyms that all map to that entity. For example, "soft drink", "soda", "pop", and so on.

There are three types of entities:

  • System - entities that are defined by the Dialogflow API for common data types such as date, time, currency, and so on. A system entity is represented by the EntityType type.

  • Developer - entities that are defined by you that represent actionable data that is meaningful to your application. For example, you could define a pizza.sauce entity for red or white pizza sauce, a pizza.cheese entity for the different types of cheese on a pizza, a pizza.topping entity for different toppings, and so on. A developer entity is represented by the EntityType type.

  • User - entities that are built for an individual user such as favorites, preferences, playlists, and so on. A user entity is represented by the SessionEntityType type.

For more information about entity types, see the Dialogflow documentation.

BatchCreateEntities

rpc BatchCreateEntities(BatchCreateEntitiesRequest) returns (Operation)

Creates multiple new entities in the specified entity type (extends the existing collection of entries).

Operation <response: google.protobuf.Empty>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

BatchDeleteEntities

rpc BatchDeleteEntities(BatchDeleteEntitiesRequest) returns (Operation)

Deletes entities in the specified entity type.

Operation <response: google.protobuf.Empty, metadata: google.protobuf.Struct>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

BatchDeleteEntityTypes

rpc BatchDeleteEntityTypes(BatchDeleteEntityTypesRequest) returns (Operation)

Deletes entity types in the specified agent.

Operation <response: google.protobuf.Empty, metadata: google.protobuf.Struct>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

BatchUpdateEntities

rpc BatchUpdateEntities(BatchUpdateEntitiesRequest) returns (Operation)

Updates entities in the specified entity type (replaces the existing collection of entries).

Operation <response: google.protobuf.Empty, metadata: google.protobuf.Struct>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

BatchUpdateEntityTypes

rpc BatchUpdateEntityTypes(BatchUpdateEntityTypesRequest) returns (Operation)

Updates/Creates multiple entity types in the specified agent.

Operation <response: BatchUpdateEntityTypesResponse, metadata: google.protobuf.Struct>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

CreateEntityType

rpc CreateEntityType(CreateEntityTypeRequest) returns (EntityType)

Creates an entity type in the specified agent.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

DeleteEntityType

rpc DeleteEntityType(DeleteEntityTypeRequest) returns (Empty)

Deletes the specified entity type.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

GetEntityType

rpc GetEntityType(GetEntityTypeRequest) returns (EntityType)

Retrieves the specified entity type.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

ListEntityTypes

rpc ListEntityTypes(ListEntityTypesRequest) returns (ListEntityTypesResponse)

Returns the list of all entity types in the specified agent.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

UpdateEntityType

rpc UpdateEntityType(UpdateEntityTypeRequest) returns (EntityType)

Updates the specified entity type.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

Intents

An intent represents a mapping between input from a user and an action to be taken by your application. When you pass user input to the DetectIntent (or StreamingDetectIntent) method, the Dialogflow API analyzes the input and searches for a matching intent. If no match is found, the Dialogflow API returns a fallback intent (is_fallback = true).

You can provide additional information for the Dialogflow API to use to match user input to an intent by adding the following to your intent.

  • Contexts - provide additional context for intent analysis. For example, if an intent is related to an object in your application that plays music, you can provide a context to determine when to match the intent if the user input is “turn it off”. You can include a context that matches the intent when there is previous user input of "play music", and not when there is previous user input of "turn on the light".

  • Events - allow for matching an intent by using an event name instead of user input. Your application can provide an event name and related parameters to the Dialogflow API to match an intent. For example, when your application starts, you can send a welcome event with a user name parameter to the Dialogflow API to match an intent with a personalized welcome message for the user.

  • Training phrases - provide examples of user input to train the Dialogflow API agent to better match intents.

For more information about intents, see the Dialogflow documentation.

BatchDeleteIntents

rpc BatchDeleteIntents(BatchDeleteIntentsRequest) returns (Operation)

Deletes intents in the specified agent.

Operation <response: google.protobuf.Empty>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

BatchUpdateIntents

rpc BatchUpdateIntents(BatchUpdateIntentsRequest) returns (Operation)

Updates/Creates multiple intents in the specified agent.

Operation <response: BatchUpdateIntentsResponse>

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

CreateIntent

rpc CreateIntent(CreateIntentRequest) returns (Intent)

Creates an intent in the specified agent.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

DeleteIntent

rpc DeleteIntent(DeleteIntentRequest) returns (Empty)

Deletes the specified intent.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

GetIntent

rpc GetIntent(GetIntentRequest) returns (Intent)

Retrieves the specified intent.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

ListIntents

rpc ListIntents(ListIntentsRequest) returns (ListIntentsResponse)

Returns the list of all intents in the specified agent.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

UpdateIntent

rpc UpdateIntent(UpdateIntentRequest) returns (Intent)

Updates the specified intent.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

KnowledgeBases

Manages knowledge bases.

Allows users to setup and maintain knowledge bases with their knowledge data.

CreateKnowledgeBase

rpc CreateKnowledgeBase(CreateKnowledgeBaseRequest) returns (KnowledgeBase)

Creates a knowledge base.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

DeleteKnowledgeBase

rpc DeleteKnowledgeBase(DeleteKnowledgeBaseRequest) returns (Empty)

Deletes the specified knowledge base.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

GetKnowledgeBase

rpc GetKnowledgeBase(GetKnowledgeBaseRequest) returns (KnowledgeBase)

Retrieves the specified knowledge base.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

ListKnowledgeBases

rpc ListKnowledgeBases(ListKnowledgeBasesRequest) returns (ListKnowledgeBasesResponse)

Returns the list of all knowledge bases of the specified agent.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

SessionEntityTypes

Entities are extracted from user input and represent parameters that are meaningful to your application. For example, a date range, a proper name such as a geographic location or landmark, and so on. Entities represent actionable data for your application.

Session entity types are referred to as User entity types and are entities that are built for an individual user such as favorites, preferences, playlists, and so on. You can redefine a session entity type at the session level.

For more information about entity types, see the Dialogflow documentation.

CreateSessionEntityType

rpc CreateSessionEntityType(CreateSessionEntityTypeRequest) returns (SessionEntityType)

Creates a session entity type.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

DeleteSessionEntityType

rpc DeleteSessionEntityType(DeleteSessionEntityTypeRequest) returns (Empty)

Deletes the specified session entity type.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

GetSessionEntityType

rpc GetSessionEntityType(GetSessionEntityTypeRequest) returns (SessionEntityType)

Retrieves the specified session entity type.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

ListSessionEntityTypes

rpc ListSessionEntityTypes(ListSessionEntityTypesRequest) returns (ListSessionEntityTypesResponse)

Returns the list of all session entity types in the specified session.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

UpdateSessionEntityType

rpc UpdateSessionEntityType(UpdateSessionEntityTypeRequest) returns (SessionEntityType)

Updates the specified session entity type.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

Sessions

A session represents an interaction with a user. You retrieve user input and pass it to the DetectIntent (or StreamingDetectIntent) method to determine user intent and respond.

DetectIntent

rpc DetectIntent(DetectIntentRequest) returns (DetectIntentResponse)

Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

StreamingDetectIntent

rpc StreamingDetectIntent(StreamingDetectIntentRequest) returns (StreamingDetectIntentResponse)

Processes a natural language query in audio format in a streaming fashion and returns structured, actionable data as a result. This method is only available via the gRPC API (not REST).

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the OAuth 2.0 Overview.

Agent

Represents a conversational agent.

Fields
parent

string

Required. The project of this agent. Format: projects/<Project ID>.

display_name

string

Required. The name of this agent.

default_language_code

string

Required. The default language of the agent as a language tag. See Language Support for a list of the currently supported language codes. This field cannot be set by the Update method.

supported_language_codes[]

string

Optional. The list of all languages supported by this agent (except for the default_language_code).

time_zone

string

Required. The time zone of this agent from the time zone database, e.g., America/New_York, Europe/Paris.

description

string

Optional. The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected.

avatar_uri

string

Optional. The URI of the agent's avatar. Avatars are used throughout the Dialogflow console and in the self-hosted Web Demo integration.

enable_logging

bool

Optional. Determines whether this agent should log conversation queries.

match_mode

MatchMode

Optional. Determines how intents are detected from user queries.

classification_threshold

float

Optional. To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. If the returned score value is less than the threshold value, then a fallback intent is be triggered or, if there are no fallback intents defined, no intent will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used.

MatchMode

Match mode determines how intents are detected from user queries.

Enums
MATCH_MODE_UNSPECIFIED Not specified.
MATCH_MODE_HYBRID Best for agents with a small number of examples in intents and/or wide use of templates syntax and composite entities.
MATCH_MODE_ML_ONLY Can be used for agents with a large number of examples in intents, especially the ones using @sys.any or very large developer entities.

AudioEncoding

Audio encoding of the audio content sent in the conversational query request. Refer to the Cloud Speech API documentation for more details.

Enums
AUDIO_ENCODING_UNSPECIFIED Not specified.
AUDIO_ENCODING_LINEAR_16 Uncompressed 16-bit signed little-endian samples (Linear PCM).
AUDIO_ENCODING_FLAC FLAC (Free Lossless Audio Codec) is the recommended encoding because it is lossless (therefore recognition is not compromised) and requires only about half the bandwidth of LINEAR16. FLAC stream encoding supports 16-bit and 24-bit samples, however, not all fields in STREAMINFO are supported.
AUDIO_ENCODING_MULAW 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
AUDIO_ENCODING_AMR Adaptive Multi-Rate Narrowband codec. sample_rate_hertz must be 8000.
AUDIO_ENCODING_AMR_WB Adaptive Multi-Rate Wideband codec. sample_rate_hertz must be 16000.
AUDIO_ENCODING_OGG_OPUS Opus encoded audio frames in Ogg container (OggOpus). sample_rate_hertz must be 16000.
AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE Although the use of lossy encodings is not recommended, if a very low bitrate encoding is required, OGG_OPUS is highly preferred over Speex encoding. The Speex encoding supported by Dialogflow API has a header byte in each block, as in MIME type audio/x-speex-with-header-byte. It is a variant of the RTP Speex encoding defined in RFC 5574. The stream is a sequence of blocks, one block per RTP packet. Each block starts with a byte containing the length of the block, in bytes, followed by one or more frames of Speex data, padded to an integral number of bytes (octets) as specified in RFC 5574. In other words, each RTP header is replaced with a single byte containing the block length. Only Speex wideband is supported. sample_rate_hertz must be 16000.

BatchCreateEntitiesRequest

The request message for EntityTypes.BatchCreateEntities.

Fields
parent

string

Required. The name of the entity type to create entities in. Format: projects/<Project ID>/agent/entityTypes/<Entity Type ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.entityTypes.batchCreateEntities

entities[]

Entity

Required. The collection of entities to create.

language_code

string

Optional. The language of entity synonyms defined in entities. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

BatchDeleteEntitiesRequest

The request message for EntityTypes.BatchDeleteEntities.

Fields
parent

string

Required. The name of the entity type to delete entries for. Format: projects/<Project ID>/agent/entityTypes/<Entity Type ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.entityTypes.batchDeleteEntities

entity_values[]

string

Required. The canonical values of the entities to delete. Note that these are not fully-qualified names, i.e. they don't start with projects/<Project ID>.

language_code

string

Optional. The language of entity synonyms defined in entities. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

BatchDeleteEntityTypesRequest

The request message for EntityTypes.BatchDeleteEntityTypes.

Fields
parent

string

Required. The name of the agent to delete all entities types for. Format: projects/<Project ID>/agent.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.entityTypes.batchDelete

entity_type_names[]

string

Required. The names entity types to delete. All names must point to the same agent as parent.

BatchDeleteIntentsRequest

The request message for Intents.BatchDeleteIntents.

Fields
parent

string

Required. The name of the agent to delete all entities types for. Format: projects/<Project ID>/agent.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.intents.batchDelete

intents[]

Intent

Required. The collection of intents to delete. Only intent name must be filled in.

BatchUpdateEntitiesRequest

The response message for EntityTypes.BatchCreateEntities.

Fields
parent

string

Required. The name of the entity type to update the entities in. Format: projects/<Project ID>/agent/entityTypes/<Entity Type ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.entityTypes.batchUpdateEntities

entities[]

Entity

Required. The collection of new entities to replace the existing entities.

language_code

string

Optional. The language of entity synonyms defined in entities. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

update_mask

FieldMask

Optional. The mask to control which fields get updated.

BatchUpdateEntityTypesRequest

The request message for EntityTypes.BatchUpdateEntityTypes.

Fields
parent

string

Required. The name of the agent to update or create entity types in. Format: projects/<Project ID>/agent.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.entityTypes.batchUpdate

language_code

string

Optional. The language of entity synonyms defined in entity_types. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

update_mask

FieldMask

Optional. The mask to control which fields get updated.

Union field entity_type_batch. Required. The source of the entity type batch.

For each entity type in the batch: * If name is specified, we update an existing entity type. * If name is not specified, we create a new entity type. entity_type_batch can be only one of the following:

entity_type_batch_uri

string

The URI to a Google Cloud Storage file containing entity types to update or create. The file format can either be a serialized proto (of EntityBatch type) or a JSON object. Note: The URI must start with "gs://".

entity_type_batch_inline

EntityTypeBatch

The collection of entity type to update or create.

BatchUpdateEntityTypesResponse

The response message for EntityTypes.BatchUpdateEntityTypes.

Fields
entity_types[]

EntityType

The collection of updated or created entity types.

BatchUpdateIntentsRequest

The request message for Intents.BatchUpdateIntents.

Fields
parent

string

Required. The name of the agent to update or create intents in. Format: projects/<Project ID>/agent.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.intents.batchUpdate

language_code

string

Optional. The language of training phrases, parameters and rich messages defined in intents. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

update_mask

FieldMask

Optional. The mask to control which fields get updated.

intent_view

IntentView

Optional. The resource view to apply to the returned intent.

Union field intent_batch. Required. The source of the intent batch. intent_batch can be only one of the following:
intent_batch_uri

string

The URI to a Google Cloud Storage file containing intents to update or create. The file format can either be a serialized proto (of IntentBatch type) or JSON object. Note: The URI must start with "gs://".

intent_batch_inline

IntentBatch

The collection of intents to update or create.

BatchUpdateIntentsResponse

The response message for Intents.BatchUpdateIntents.

Fields
intents[]

Intent

The collection of updated or created intents.

Context

Represents a context.

Fields
name

string

Required. The unique identifier of the context. Format: projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>, or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>/contexts/<Context ID>. The Context ID is always converted to lowercase. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

lifespan_count

int32

Optional. The number of conversational query requests after which the context expires. If set to 0 (the default) the context expires immediately. Contexts expire automatically after 10 minutes even if there are no matching queries.

parameters

Struct

Optional. The collection of parameters associated with this context. Refer to this doc for syntax.

CreateContextRequest

The request message for Contexts.CreateContext.

Fields
parent

string

Required. The session to create a context for. Format: projects/<Project ID>/agent/sessions/<Session ID> or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.contexts.create

context

Context

Required. The context to create.

CreateDocumentRequest

Request message for Documents.CreateDocument.

Fields
parent

string

Required. The knoweldge base to create a document for. Format: projects/<Project ID>/knowledgeBases/<Knowledge Base ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.documents.create

document

Document

Required. The document to create.

CreateEntityTypeRequest

The request message for EntityTypes.CreateEntityType.

Fields
parent

string

Required. The agent to create a entity type for. Format: projects/<Project ID>/agent.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.entityTypes.create

entity_type

EntityType

Required. The entity type to create.

language_code

string

Optional. The language of entity synonyms defined in entity_type. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

CreateIntentRequest

The request message for Intents.CreateIntent.

Fields
parent

string

Required. The agent to create a intent for. Format: projects/<Project ID>/agent.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.intents.create

intent

Intent

Required. The intent to create.

language_code

string

Optional. The language of training phrases, parameters and rich messages defined in intent. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

intent_view

IntentView

Optional. The resource view to apply to the returned intent.

CreateKnowledgeBaseRequest

Request message for KnowledgeBases.CreateKnowledgeBase.

Fields
parent

string

Required. The project to create a knowledge base for. Format: projects/<Project ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.knowledgeBases.create

knowledge_base

KnowledgeBase

Required. The knowledge base to create.

CreateSessionEntityTypeRequest

The request message for SessionEntityTypes.CreateSessionEntityType.

Fields
parent

string

Required. The session to create a session entity type for. Format: projects/<Project ID>/agent/sessions/<Session ID> or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/ sessions/<Session ID>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.sessionEntityTypes.create

session_entity_type

SessionEntityType

Required. The session entity type to create.

DeleteAllContextsRequest

The request message for Contexts.DeleteAllContexts.

Fields
parent

string

Required. The name of the session to delete all contexts from. Format: projects/<Project ID>/agent/sessions/<Session ID> or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>. If Environment ID is not specified we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.contexts.deleteAll

DeleteContextRequest

The request message for Contexts.DeleteContext.

Fields
name

string

Required. The name of the context to delete. Format: projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID> or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>/contexts/<Context ID>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.contexts.delete

DeleteDocumentRequest

Request message for Documents.DeleteDocument.

Fields
name

string

The name of the document to delete. Format: projects/<Project ID>/knowledgeBases/<Knowledge Base ID>/documents/<Document ID>.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.documents.delete

DeleteEntityTypeRequest

The request message for EntityTypes.DeleteEntityType.

Fields
name

string

Required. The name of the entity type to delete. Format: projects/<Project ID>/agent/entityTypes/<EntityType ID>.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.entityTypes.delete

DeleteIntentRequest

The request message for Intents.DeleteIntent.

Fields
name

string

Required. The name of the intent to delete. Format: projects/<Project ID>/agent/intents/<Intent ID>.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.intents.delete

DeleteKnowledgeBaseRequest

Request message for KnowledgeBases.DeleteKnowledgeBase.

Fields
name

string

Required. The name of the knowledge base to delete. Format: projects/<Project ID>/knowledgeBases/<Knowledge Base ID>.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.knowledgeBases.delete

force

bool

Optional. Force deletes the knowledge base. When set to true, any documents in the knowledge base are also deleted.

DeleteSessionEntityTypeRequest

The request message for SessionEntityTypes.DeleteSessionEntityType.

Fields
name

string

Required. The name of the entity type to delete. Format: projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type Display Name> or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>/entityTypes/<Entity Type Display Name>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.sessionEntityTypes.delete

DetectIntentRequest

The request to detect user's intent.

Fields
session

string

Required. The name of the session this query is sent to. Format: projects/<Project ID>/agent/sessions/<Session ID>, or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we are using "-". It’s up to the API caller to choose an appropriate Session ID and User Id. They can be a random numbers or some type of user and session identifiers (preferably hashed). The length of the Session ID and User ID must not exceed 36 characters.

Authorization requires the following Google IAM permission on the specified resource session:

  • dialogflow.sessions.detectIntent

query_params

QueryParameters

Optional. The parameters of this query.

query_input

QueryInput

Required. The input specification. It can be set to:

  1. an audio config which instructs the speech recognizer how to process the speech audio,

  2. a conversational query in the form of text, or

  3. an event that specifies which intent to trigger.

output_audio_config

OutputAudioConfig

Optional. Instructs the speech synthesizer how to generate the output audio. If this field is not set and agent-level speech synthesizer is not configured, no output audio is generated.

input_audio

bytes

Optional. The natural language speech audio to be processed. This field should be populated iff query_input is set to an input audio config. A single request can contain up to 1 minute of speech audio data.

DetectIntentResponse

The message returned from the DetectIntent method.

Fields
response_id

string

The unique identifier of the response. It can be used to locate a response in the training example set or for reporting issues.

query_result

QueryResult

The selected results of the conversational query or event processing. See alternative_query_results for additional potential results.

alternative_query_results[]

QueryResult

If Knowledge Connectors are enabled, there could be more than one result returned for a given query or event, and this field will contain all results except for the top one, which is captured in query_result. The alternative results are ordered by decreasing QueryResult.intent_detection_confidence. If Knowledge Connectors are disabled, this field will be empty until multiple responses for regular intents are supported, at which point those additional results will be surfaced here.

webhook_status

Status

Specifies the status of the webhook request. webhook_status is never populated in webhook requests.

output_audio

bytes

The audio data bytes encoded as specified in the request.

output_audio_config

OutputAudioConfig

Instructs the speech synthesizer how to generate the output audio. This field is populated from the agent-level speech synthesizer configuration, if enabled.

Document

A document resource.

Fields
name

string

The document resource name. The name must be empty when creating a document. Format: projects/<Project ID>/knowledgeBases/<Knowledge Base ID>/documents/<Document ID>.

display_name

string

Required. The display name of the document. The name must be 1024 bytes or less; otherwise, the creation request fails.

mime_type

string

Required. The MIME type of this document.

knowledge_types[]

KnowledgeType

Required. The knowledge type of document content.

Union field source. Required. The source of this document. source can be only one of the following:
content_uri

string

The URI where the file content is located.

For documents stored in Google Cloud Storage, these URIs must have the form gs://<bucket-name>/<object-name>.

NOTE: External URLs must correspond to public webpages, i.e., they must be indexed by Google Search. In particular, URLs for showing documents in Google Cloud Storage (i.e. the URL in your browser) are not supported. Instead use the gs:// format URI described above.

content
(deprecated)

string

The raw content of the document. This field is only permitted for EXTRACTIVE_QA and FAQ knowledge types. Note: This field is in the process of being deprecated, please use raw_content instead.

raw_content

bytes

The raw content of the document. This field is only permitted for EXTRACTIVE_QA and FAQ knowledge types.

KnowledgeType

The knowledge type of document content.

Enums
KNOWLEDGE_TYPE_UNSPECIFIED The type is unspecified or arbitrary.
FAQ

The document content contains question and answer pairs as either HTML or CSV. Typical FAQ HTML formats are parsed accurately, but unusual formats may fail to be parsed.

CSV must have questions in the first column and answers in the second, with no header. Because of this explicit format, they are always parsed accurately.

EXTRACTIVE_QA Documents for which unstructured text is extracted and used for question answering.

EntityType

Represents an entity type. Entity types serve as a tool for extracting parameter values from natural language queries.

Fields
name

string

Required for all methods except create (create populates the name automatically. The unique identifier of the entity type. Format: projects/<Project ID>/agent/entityTypes/<Entity Type ID>.

display_name

string

Required. The name of the entity.

kind

Kind

Required. Indicates the kind of entity type.

auto_expansion_mode

AutoExpansionMode

Optional. Indicates whether the entity type can be automatically expanded.

entities[]

Entity

Optional. The collection of entities associated with the entity type.

AutoExpansionMode

Represents different entity type expansion modes. Automated expansion allows an agent to recognize values that have not been explicitly listed in the entity (for example, new kinds of shopping list items).

Enums
AUTO_EXPANSION_MODE_UNSPECIFIED Auto expansion disabled for the entity.
AUTO_EXPANSION_MODE_DEFAULT Allows an agent to recognize values that have not been explicitly listed in the entity.

Entity

Optional. Represents an entity.

Fields
value

string

Required. For KIND_MAP entity types: A canonical name to be used in place of synonyms. For KIND_LIST entity types: A string that can contain references to other entity types (with or without aliases).

synonyms[]

string

Required. A collection of synonyms. For KIND_LIST entity types this must contain exactly one synonym equal to value.

Kind

Represents kinds of entities.

Enums
KIND_UNSPECIFIED Not specified. This value should be never used.
KIND_MAP Map entity types allow mapping of a group of synonyms to a canonical value.
KIND_LIST List entity types contain a set of entries that do not map to canonical values. However, list entity types can contain references to other entity types (with or without aliases).

EntityTypeBatch

This message is a wrapper around a collection of entity types.

Fields
entity_types[]

EntityType

A collection of entity types.

EventInput

Events allow for matching intents by event name instead of the natural language input. For instance, input <event: { name: “welcome_event”, parameters: { name: “Sam” } }> can trigger a personalized welcome response. The parameter name may be used by the agent in the response: “Hello #welcome_event.name! What can I do for you today?”.

Fields
name

string

Required. The unique identifier of the event.

parameters

Struct

Optional. The collection of parameters associated with the event.

language_code

string

Required. The language of this query. See Language Support for a list of the currently supported language codes. Note that queries in the same session do not necessarily need to specify the same language.

ExportAgentRequest

The request message for Agents.ExportAgent.

Fields
parent

string

Required. The project that the agent to export is associated with. Format: projects/<Project ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.agents.export

agent_uri

string

Optional. The Google Cloud Storage URI to export the agent to. The format of this URI must be gs://<bucket-name>/<object-name>. If left unspecified, the serialized agent is returned inline.

ExportAgentResponse

The response message for Agents.ExportAgent.

Fields
Union field agent. Required. The exported agent. agent can be only one of the following:
agent_uri

string

The URI to a file containing the exported agent. This field is populated only if agent_uri is specified in ExportAgentRequest.

agent_content

bytes

The exported agent.

Example for how to export an agent to a zip file via a command line:

curl \
  'https://dialogflow.googleapis.com/v2beta1/projects/<project_name>/agent:export'\
  -X POST \
  -H 'Authorization: Bearer '$(gcloud auth application-default
  print-access-token) \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --compressed \
  --data-binary '{}' \
| grep agentContent | sed -e 's/.*"agentContent": "\([^"]*\)".*/\1/' \
| base64 --decode > <agent zip file>

GetAgentRequest

The request message for Agents.GetAgent.

Fields
parent

string

Required. The project that the agent to fetch is associated with. Format: projects/<Project ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.agents.get

GetContextRequest

The request message for Contexts.GetContext.

Fields
name

string

Required. The name of the context. Format: projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID> or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>/contexts/<Context ID>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.contexts.get

GetDocumentRequest

Request message for Documents.GetDocument.

Fields
name

string

Required. The name of the document to retrieve. Format projects/<Project ID>/knowledgeBases/<Knowledge Base ID>/documents/<Document ID>.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.documents.get

GetEntityTypeRequest

The request message for EntityTypes.GetEntityType.

Fields
name

string

Required. The name of the entity type. Format: projects/<Project ID>/agent/entityTypes/<EntityType ID>.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.entityTypes.get

language_code

string

Optional. The language to retrieve entity synonyms for. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

GetIntentRequest

The request message for Intents.GetIntent.

Fields
name

string

Required. The name of the intent. Format: projects/<Project ID>/agent/intents/<Intent ID>.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.intents.get

language_code

string

Optional. The language to retrieve training phrases, parameters and rich messages for. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

intent_view

IntentView

Optional. The resource view to apply to the returned intent.

GetKnowledgeBaseRequest

Request message for [KnowledgeBase.GetDocument][].

Fields
name

string

Required. The name of the knowledge base to retrieve. Format projects/<Project ID>/knowledgeBases/<Knowledge Base ID>.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.knowledgeBases.get

GetSessionEntityTypeRequest

The request message for SessionEntityTypes.GetSessionEntityType.

Fields
name

string

Required. The name of the session entity type. Format: projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type Display Name> or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>/entityTypes/<Entity Type Display Name>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

Authorization requires the following Google IAM permission on the specified resource name:

  • dialogflow.sessionEntityTypes.get

ImportAgentRequest

The request message for Agents.ImportAgent.

Fields
parent

string

Required. The project that the agent to import is associated with. Format: projects/<Project ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.agents.import

Union field agent. Required. The agent to import. agent can be only one of the following:
agent_uri

string

The URI to a Google Cloud Storage file containing the agent to import. Note: The URI must start with "gs://".

agent_content

bytes

The agent to import.

Example for how to import an agent via the command line:

curl \
  'https://dialogflow.googleapis.com/v2beta1/projects/<project_name>/agent:import\
   -X POST \
   -H 'Authorization: Bearer '$(gcloud auth application-default
   print-access-token) \
   -H 'Accept: application/json' \
   -H 'Content-Type: application/json' \
   --compressed \
   --data-binary "{
      'agentContent': '$(cat <agent zip file> | base64 -w 0)'
   }"

InputAudioConfig

Instructs the speech recognizer how to process the audio content.

Fields
audio_encoding

AudioEncoding

Required. Audio encoding of the audio content to process.

sample_rate_hertz

int32

Required. Sample rate (in Hertz) of the audio content sent in the query. Refer to Cloud Speech API documentation for more details.

language_code

string

Required. The language of the supplied audio. Dialogflow does not do translations. See Language Support for a list of the currently supported language codes. Note that queries in the same session do not necessarily need to specify the same language.

phrase_hints[]

string

Optional. The collection of phrase hints which are used to boost accuracy of speech recognition. Refer to Cloud Speech API documentation for more details.

model

string

Optional. Which Speech model to select for the given request. Select the model best suited to your domain to get best results. If a model is not explicitly specified, then we auto-select a model based on the parameters in the InputAudioConfig. If enhanced speech model is enabled for the agent and an enhanced version of the specified model for the language does not exist, then the speech is recognized using the standard version of the specified model. Refer to Cloud Speech API documentation for more details.

Intent

Represents an intent. Intents convert a number of user expressions or patterns into an action. An action is an extraction of a user command or sentence semantics.

Fields
name

string

Required for all methods except create (create populates the name automatically. The unique identifier of this intent. Format: projects/<Project ID>/agent/intents/<Intent ID>.

display_name

string

Required. The name of this intent.

webhook_state

WebhookState

Required. Indicates whether webhooks are enabled for the intent.

priority

int32

Optional. The priority of this intent. Higher numbers represent higher priorities. Zero or negative numbers mean that the intent is disabled.

is_fallback

bool

Optional. Indicates whether this is a fallback intent.

ml_enabled
(deprecated)

bool

Optional. Indicates whether Machine Learning is enabled for the intent. Note: If ml_enabled setting is set to false, then this intent is not taken into account during inference in ML ONLY match mode. Also, auto-markup in the UI is turned off. DEPRECATED! Please use ml_disabled field instead. NOTE: If both ml_enabled and ml_disabled are either not set or false, then the default value is determined as follows: - Before April 15th, 2018 the default is: ml_enabled = false / ml_disabled = true. - After April 15th, 2018 the default is: ml_enabled = true / ml_disabled = false.

ml_disabled

bool

Optional. Indicates whether Machine Learning is disabled for the intent. Note: If ml_disabled setting is set to true, then this intent is not taken into account during inference in ML ONLY match mode. Also, auto-markup in the UI is turned off.

end_interaction

bool

Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.

input_context_names[]

string

Optional. The list of context names required for this intent to be triggered. Format: projects/<Project ID>/agent/sessions/-/contexts/<Context ID>.

events[]

string

Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent.

training_phrases[]

TrainingPhrase

Optional. The collection of examples/templates that the agent is trained on.

action

string

Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.

output_contexts[]

Context

Optional. The collection of contexts that are activated when the intent is matched. Context messages in this collection should not set the parameters field. Setting the lifespan_count to 0 will reset the context when the intent is matched. Format: projects/<Project ID>/agent/sessions/-/contexts/<Context ID>.

reset_contexts

bool

Optional. Indicates whether to delete all contexts in the current session when this intent is matched.

parameters[]

Parameter

Optional. The collection of parameters associated with the intent.

messages[]

Message

Optional. The collection of rich messages corresponding to the Response field in the Dialogflow console.

default_response_platforms[]

Platform

Optional. The list of platforms for which the first response will be taken from among the messages assigned to the DEFAULT_PLATFORM.

root_followup_intent_name

string

The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: projects/<Project ID>/agent/intents/<Intent ID>.

parent_followup_intent_name

string

The unique identifier of the parent intent in the chain of followup intents. It identifies the parent followup intent. Format: projects/<Project ID>/agent/intents/<Intent ID>.

followup_intent_info[]

FollowupIntentInfo

Optional. Collection of information about all followup intents that have name of this intent as a root_name.

FollowupIntentInfo

Represents a single followup intent in the chain.

Fields
followup_intent_name

string

The unique identifier of the followup intent. Format: projects/<Project ID>/agent/intents/<Intent ID>.

parent_followup_intent_name

string

The unique identifier of the followup intent parent. Format: projects/<Project ID>/agent/intents/<Intent ID>.

Message

Corresponds to the Response field in the Dialogflow console.

Fields
platform

Platform

Optional. The platform that this message is intended for.

Union field message. Required. The rich response message. message can be only one of the following:
text

Text

Returns a text response.

image

Image

Displays an image.

quick_replies

QuickReplies

Displays quick replies.

card

Card

Displays a card.

payload

Struct

Returns a response containing a custom, platform-specific payload. See the Intent.Message.Platform type for a description of the structure that may be required for your platform.

simple_responses

SimpleResponses

Returns a voice or text-only response for Actions on Google.

basic_card

BasicCard

Displays a basic card for Actions on Google.

suggestions

Suggestions

Displays suggestion chips for Actions on Google.

list_select

ListSelect

Displays a list card for Actions on Google.

carousel_select

CarouselSelect

Displays a carousel card for Actions on Google.

telephony_play_audio

TelephonyPlayAudio

Plays audio from a file in Telephony Gateway.

telephony_synthesize_speech

TelephonySynthesizeSpeech

Synthesizes speech in Telephony Gateway.

telephony_transfer_call

TelephonyTransferCall

Transfers the call in Telephony Gateway.

BasicCard

The basic card message. Useful for displaying information.

Fields
title

string

Optional. The title of the card.

subtitle

string

Optional. The subtitle of the card.

formatted_text

string

Required, unless image is present. The body text of the card.

image

Image

Optional. The image for the card.

buttons[]

Button

Optional. The collection of card buttons.

Button

The button object that appears at the bottom of a card.

Fields
title

string

Required. The title of the button.

open_uri_action

OpenUriAction

Required. Action to take when a user taps on the button.

OpenUriAction

Opens the given URI.

Fields
uri

string

Required. The HTTP or HTTPS scheme URI.

Card

The card response message.

Fields
title

string

Optional. The title of the card.

subtitle

string

Optional. The subtitle of the card.

image_uri

string

Optional. The public URI to an image file for the card.

buttons[]

Button

Optional. The collection of card buttons.

Button

Optional. Contains information about a button.

Fields
text

string

Optional. The text to show on the button.

postback

string

Optional. The text to send back to the Dialogflow API or a URI to open.

CarouselSelect

The card for presenting a carousel of options to select from.

Fields
items[]

Item

Required. Carousel items.

Item

An item in the carousel.

Fields
info

SelectItemInfo

Required. Additional info about the option item.

title

string

Required. Title of the carousel item.

description

string

Optional. The body text of the card.

image

Image

Optional. The image to display.

Image

The image response message.

Fields
image_uri

string

Optional. The public URI to an image file.

accessibility_text

string

A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.

LinkOutSuggestion

The suggestion chip message that allows the user to jump out to the app or website associated with this agent.

Fields
destination_name

string

Required. The name of the app or site this chip is linking to.

uri

string

Required. The URI of the app or site to open when the user taps the suggestion chip.

ListSelect

The card for presenting a list of options to select from.

Fields
title

string

Optional. The overall title of the list.

items[]

Item

Required. List items.

Item

An item in the list.

Fields
info

SelectItemInfo

Required. Additional information about this option.

title

string

Required. The title of the list item.

description

string

Optional. The main text describing the item.

image

Image

Optional. The image to display.

Platform

Represents different platforms that a rich message can be intended for.

Enums
PLATFORM_UNSPECIFIED Not specified.
FACEBOOK Facebook.
SLACK Slack.
TELEGRAM Telegram.
KIK Kik.
SKYPE Skype.
LINE Line.
VIBER Viber.
ACTIONS_ON_GOOGLE

Actions on Google. When using Actions on Google, you can choose one of the specific Intent.Message types that mention support for Actions on Google, or you can use the advanced Intent.Message.payload field. The payload field provides access to AoG features not available in the specific message types. If using the Intent.Message.payload field, it should have a structure similar to the JSON message shown here. For more information, see Actions on Google Webhook Format

{
  "expectUserResponse": true,
  "isSsml": false,
  "noInputPrompts": [],
  "richResponse": {
    "items": [
      {
        "simpleResponse": {
          "displayText": "hi",
          "textToSpeech": "hello"
        }
      }
    ],
    "suggestions": [
      {
        "title": "Say this"
      },
      {
        "title": "or this"
      }
    ]
  },
  "systemIntent": {
    "data": {
      "@type": "type.googleapis.com/google.actions.v2.OptionValueSpec",
      "listSelect": {
        "items": [
          {
            "optionInfo": {
              "key": "key1",
              "synonyms": [
                "key one"
              ]
            },
            "title": "must not be empty, but unique"
          },
          {
            "optionInfo": {
              "key": "key2",
              "synonyms": [
                "key two"
              ]
            },
            "title": "must not be empty, but unique"
          }
        ]
      }
    },
    "intent": "actions.intent.OPTION"
  }
}
TELEPHONY Telephony Gateway.

QuickReplies

The quick replies response message.

Fields
title

string

Optional. The title of the collection of quick replies.

quick_replies[]

string

Optional. The collection of quick replies.

SelectItemInfo

Additional info about the select item for when it is triggered in a dialog.

Fields
key

string

Required. A unique key that will be sent back to the agent if this response is given.

synonyms[]

string

Optional. A list of synonyms that can also be used to trigger this item in dialog.

SimpleResponse

The simple response message containing speech or text.

Fields
text_to_speech

string

One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.

ssml

string

One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.

display_text

string

Optional. The text to display.

SimpleResponses

The collection of simple response candidates. This message in QueryResult.fulfillment_messages and WebhookResponse.fulfillment_messages should contain only one SimpleResponse.

Fields
simple_responses[]

SimpleResponse

Required. The list of simple responses.

Suggestion

The suggestion chip message that the user can tap to quickly post a reply to the conversation.

Fields
title

string

Required. The text shown the in the suggestion chip.

Suggestions

The collection of suggestions.

Fields
suggestions[]

Suggestion

Required. The list of suggested replies.

TelephonyPlayAudio

Plays audio from a file in Telephony Gateway.

Fields
audio_uri

string

Required. URI to a Google Cloud Storage object containing the audio to play, e.g., "gs://bucket/object". The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz.

This object must be readable by the service-<Project Number>@gcp-sa-dialogflow.iam.gserviceaccount.com service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API.

For audio from other sources, consider using the TelephonySynthesizeSpeech message with SSML.

TelephonySynthesizeSpeech

Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway.

Telephony Gateway takes the synthesizer settings from DetectIntentResponse.output_audio_config which can either be set at request-level or can come from the agent-level synthesizer config.

Fields
Union field source. Required. The source to be synthesized. source can be only one of the following:
text

string

The raw text to be synthesized.

ssml

string

The SSML to be synthesized. For more information, see SSML.

TelephonyTransferCall

Transfers the call in Telephony Gateway.

Fields
phone_number

string

Required. The phone number to transfer the call to in E.164 format.

We currently only allow transferring to US numbers (+1xxxyyyzzzz).

Text

The text response message.

Fields
text[]

string

Optional. The collection of the agent's responses.

Parameter

Represents intent parameters.

Fields
name

string

The unique identifier of this parameter.

display_name

string

Required. The name of the parameter.

value

string

Optional. The definition of the parameter value. It can be: - a constant string, - a parameter value defined as $parameter_name, - an original parameter value defined as $parameter_name.original, - a parameter value from some context defined as #context_name.parameter_name.

default_value

string

Optional. The default value to use when the value yields an empty result. Default values can be extracted from contexts by using the following syntax: #context_name.parameter_name.

entity_type_display_name

string

Optional. The name of the entity type, prefixed with @, that describes values of the parameter. If the parameter is required, this must be provided.

mandatory

bool

Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.

prompts[]

string

Optional. The collection of prompts that the agent can present to the user in order to collect value for the parameter.

is_list

bool

Optional. Indicates whether the parameter represents a list of values.

TrainingPhrase

Represents an example or template that the agent is trained on.

Fields
name

string

Required. The unique identifier of this training phrase.

type

Type

Required. The type of the training phrase.

parts[]

Part

Required. The collection of training phrase parts (can be annotated). Fields: entity_type, alias and user_defined should be populated only for the annotated parts of the training phrase.

times_added_count

int32

Optional. Indicates how many times this example or template was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.

Part

Represents a part of a training phrase.

Fields
text

string

Required. The text corresponding to the example or template, if there are no annotations. For annotated examples, it is the text for one of the example's parts.

entity_type

string

Optional. The entity type name prefixed with @. This field is required for the annotated part of the text and applies only to examples.

alias

string

Optional. The parameter name for the value extracted from the annotated part of the example.

user_defined

bool

Optional. Indicates whether the text was manually annotated by the developer.

Type

Represents different types of training phrases.

Enums
TYPE_UNSPECIFIED Not specified. This value should never be used.
EXAMPLE Examples do not contain @-prefixed entity type names, but example parts can be annotated with entity types.
TEMPLATE Templates are not annotated with entity types, but they can contain @-prefixed entity type names as substrings.

WebhookState

Represents the different states that webhooks can be in.

Enums
WEBHOOK_STATE_UNSPECIFIED Webhook is disabled in the agent and in the intent.
WEBHOOK_STATE_ENABLED Webhook is enabled in the agent and in the intent.
WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING Webhook is enabled in the agent and in the intent. Also, each slot filling prompt is forwarded to the webhook.

IntentBatch

This message is a wrapper around a collection of intents.

Fields
intents[]

Intent

A collection of intents.

IntentView

Represents the options for views of an intent. An intent can be a sizable object. Therefore, we provide a resource view that does not return training phrases in the response by default.

Enums
INTENT_VIEW_UNSPECIFIED Training phrases field is not populated in the response.
INTENT_VIEW_FULL All fields are populated.

KnowledgeAnswers

Represents the result of querying a Knowledge base.

Fields
answers[]

Answer

A list of answers from Knowledge Connector.

Answer

An answer from Knowledge Connector.

Fields
source

string

Indicates which Knowledge Document this answer was extracted from. Format: projects/<Project ID>/knowledgeBases/<Knowledge Base ID>/documents/<Document ID>.

faq_question

string

The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.

answer

string

The piece of text from the source knowledge base document that answers this conversational query.

match_confidence_level

MatchConfidenceLevel

The system's confidence level that this knowledge answer is a good match for this conversational query. NOTE: The confidence level for a given <query, answer> pair may change without notice, as it depends on models that are constantly being improved. However, it will change less frequently than the confidence score below, and should be preferred for referencing the quality of an answer.

match_confidence

float

The system's confidence score that this Knowledge answer is a good match for this converstational query, range from 0.0 (completely uncertain) to 1.0 (completely certain). Note: The confidence score is likely to vary somewhat (possibly even for identical requests), as the underlying model is under constant improvement, we may deprecate it in the future. We recommend using match_confidence_level which should be generally more stable.

MatchConfidenceLevel

Represents the system's confidence that this knowledge answer is a good match for this conversational query.

Enums
MATCH_CONFIDENCE_LEVEL_UNSPECIFIED Not specified.
LOW Indicates that the confidence is low.
MEDIUM Indicates our confidence is medium.
HIGH Indicates our confidence is high.

KnowledgeBase

Represents knowledge base resource.

Fields
name

string

The knowledge base resource name. The name must be empty when creating a knowledge base. Format: projects/<Project ID>/knowledgeBases/<Knowledge Base ID>.

display_name

string

Required. The display name of the knowledge base. The name must be 1024 bytes or less; otherwise, the creation request fails.

KnowledgeOperationMetadata

Metadata in google::longrunning::Operation for Knowledge operations.

Fields
state

State

Required. The current state of this operation.

State

States of the operation.

Enums
STATE_UNSPECIFIED State unspecified.
PENDING The operation has been created.
RUNNING The operation is currently running.
DONE The operation is done, either cancelled or completed.

ListContextsRequest

The request message for Contexts.ListContexts.

Fields
parent

string

Required. The session to list all contexts from. Format: projects/<Project ID>/agent/sessions/<Session ID> or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.contexts.list

page_size

int32

Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.

page_token

string

Optional. The next_page_token value returned from a previous list request.

ListContextsResponse

The response message for Contexts.ListContexts.

Fields
contexts[]

Context

The list of contexts. There will be a maximum number of items returned based on the page_size field in the request.

next_page_token

string

Token to retrieve the next page of results, or empty if there are no more results in the list.

ListDocumentsRequest

Request message for Documents.ListDocuments.

Fields
parent

string

Required. The knowledge base to list all documents for. Format: projects/<Project ID>/knowledgeBases/<Knowledge Base ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.documents.list

page_size

int32

Optional. The maximum number of items to return in a single page. By default 10 and at most 100.

page_token

string

Optional. The next_page_token value returned from a previous list request.

ListDocumentsResponse

Response message for Documents.ListDocuments.

Fields
documents[]

Document

The list of documents.

next_page_token

string

Token to retrieve the next page of results, or empty if there are no more results in the list.

ListEntityTypesRequest

The request message for EntityTypes.ListEntityTypes.

Fields
parent

string

Required. The agent to list all entity types from. Format: projects/<Project ID>/agent.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.entityTypes.list

language_code

string

Optional. The language to list entity synonyms for. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

page_size

int32

Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.

page_token

string

Optional. The next_page_token value returned from a previous list request.

ListEntityTypesResponse

The response message for EntityTypes.ListEntityTypes.

Fields
entity_types[]

EntityType

The list of agent entity types. There will be a maximum number of items returned based on the page_size field in the request.

next_page_token

string

Token to retrieve the next page of results, or empty if there are no more results in the list.

ListIntentsRequest

The request message for Intents.ListIntents.

Fields
parent

string

Required. The agent to list all intents from. Format: projects/<Project ID>/agent.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.intents.list

language_code

string

Optional. The language to list training phrases, parameters and rich messages for. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent before they can be used.

intent_view

IntentView

Optional. The resource view to apply to the returned intent.

page_size

int32

Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.

page_token

string

Optional. The next_page_token value returned from a previous list request.

ListIntentsResponse

The response message for Intents.ListIntents.

Fields
intents[]

Intent

The list of agent intents. There will be a maximum number of items returned based on the page_size field in the request.

next_page_token

string

Token to retrieve the next page of results, or empty if there are no more results in the list.

ListKnowledgeBasesRequest

Request message for KnowledgeBases.ListKnowledgeBases.

Fields
parent

string

Required. The project to list of knowledge bases for. Format: projects/<Project ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.knowledgeBases.list

page_size

int32

Optional. The maximum number of items to return in a single page. By default 10 and at most 100.

page_token

string

Optional. The next_page_token value returned from a previous list request.

ListKnowledgeBasesResponse

Response message for KnowledgeBases.ListKnowledgeBases.

Fields
knowledge_bases[]

KnowledgeBase

The list of knowledge bases.

next_page_token

string

Token to retrieve the next page of results, or empty if there are no more results in the list.

ListSessionEntityTypesRequest

The request message for SessionEntityTypes.ListSessionEntityTypes.

Fields
parent

string

Required. The session to list all session entity types from. Format: projects/<Project ID>/agent/sessions/<Session ID> or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/ sessions/<Session ID>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.sessionEntityTypes.list

page_size

int32

Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.

page_token

string

Optional. The next_page_token value returned from a previous list request.

ListSessionEntityTypesResponse

The response message for SessionEntityTypes.ListSessionEntityTypes.

Fields
session_entity_types[]

SessionEntityType

The list of session entity types. There will be a maximum number of items returned based on the page_size field in the request.

next_page_token

string

Token to retrieve the next page of results, or empty if there are no more results in the list.

OriginalDetectIntentRequest

Represents the contents of the original request that was passed to the [Streaming]DetectIntent call.

Fields
source

string

The source of this request, e.g., google, facebook, slack. It is set by Dialogflow-owned servers.

version

string

Optional. The version of the protocol used for this request. This field is AoG-specific.

payload

Struct

Optional. This field is set to the value of the QueryParameters.payload field passed in the request. Some integrations that query a Dialogflow agent may provide additional information in the payload.

In particular for the Telephony Gateway this field has the form:

{
 "telephony": {
   "caller_id": "+18558363987"
 }
}

Note: The caller ID field (caller_id) will be redacted for Standard Edition agents and populated with the caller ID in E.164 format for Enterprise Edition agents.

OutputAudioConfig

Instructs the speech synthesizer how to generate the output audio content.

Fields
audio_encoding

OutputAudioEncoding

Required. Audio encoding of the synthesized audio content.

sample_rate_hertz

int32

Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality).

synthesize_speech_config

SynthesizeSpeechConfig

Optional. Configuration of how speech should be synthesized.

OutputAudioEncoding

Audio encoding of the output audio format in Text-To-Speech.

Enums
OUTPUT_AUDIO_ENCODING_UNSPECIFIED Not specified.
OUTPUT_AUDIO_ENCODING_LINEAR_16 Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.
OUTPUT_AUDIO_ENCODING_MP3 MP3 audio.
OUTPUT_AUDIO_ENCODING_OGG_OPUS Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.

QueryInput

Represents the query input. It can contain either:

  1. An audio config which instructs the speech recognizer how to process the speech audio.

  2. A conversational query in the form of text,.

  3. An event that specifies which intent to trigger.

Fields
Union field input. Required. The input specification. input can be only one of the following:
audio_config

InputAudioConfig

Instructs the speech recognizer how to process the speech audio.

text

TextInput

The natural language text to be processed.

event

EventInput

The event to be processed.

QueryParameters

Represents the parameters of the conversational query.

Fields
time_zone

string

Optional. The time zone of this conversational query from the time zone database, e.g., America/New_York, Europe/Paris. If not provided, the time zone specified in agent settings is used.

geo_location

LatLng

Optional. The geo location of this conversational query.

contexts[]

Context

Optional. The collection of contexts to be activated before this query is executed.

reset_contexts

bool

Optional. Specifies whether to delete all contexts in the current session before the new ones are activated.

session_entity_types[]

SessionEntityType

Optional. The collection of session entity types to replace or extend developer entities with for this query only. The entity synonyms apply to all languages.

payload

Struct

Optional. This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported.

knowledge_base_names[]

string

Optional. KnowledgeBases to get alternative results from. If not set, the KnowledgeBases enabled in the agent (through UI) will be used. Format: projects/<Project ID>/knowledgeBases/<Knowledge Base ID>.

Note: This field is repeated for forward compatibility, currently only the first one is supported, we may return an error if multiple KnowledgeBases are specified.

sentiment_analysis_request_config

SentimentAnalysisRequestConfig

Optional. Configures the type of sentiment analysis to perform. If not provided, sentiment analysis is not performed. Note: Sentiment Analysis is only currently available for Enterprise Edition agents.

QueryResult

Represents the result of conversational query or event processing.

Fields
query_text

string

The original conversational query text: - If natural language text was provided as input, query_text contains a copy of the input. - If natural language speech audio was provided as input, query_text contains the speech recognition result. If speech recognizer produced multiple alternatives, a particular one is picked. - If an event was provided as input, query_text is not set.

language_code

string

The language that was triggered during intent detection. See Language Support for a list of the currently supported language codes.

speech_recognition_confidence

float

The Speech recognition confidence between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set.

This field is not guaranteed to be accurate or set. In particular this field isn't set for StreamingDetectIntent since the streaming endpoint has separate confidence estimates per portion of the audio in StreamingRecognitionResult.

action

string

The action name from the matched intent.

parameters

Struct

The collection of extracted parameters.

all_required_params_present

bool

This field is set to: - false if the matched intent has required parameters and not all of the required parameter values have been collected. - true if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.

fulfillment_text

string

The text to be pronounced to the user or shown on the screen.

fulfillment_messages[]

Message

The collection of rich messages to present to the user.

webhook_source

string

If the query was fulfilled by a webhook call, this field is set to the value of the source field returned in the webhook response.

webhook_payload

Struct

If the query was fulfilled by a webhook call, this field is set to the value of the payload field returned in the webhook response.

output_contexts[]

Context

The collection of output contexts. If applicable, output_contexts.parameters contains entries with name <parameter name>.original containing the original parameter values before the query.

intent

Intent

The intent that matched the conversational query. Some, not all fields are filled in this message, including but not limited to: name, display_name and webhook_state.

intent_detection_confidence

float

The intent detection confidence. Values range from 0.0 (completely uncertain) to 1.0 (completely certain). If there are multiple knowledge_answers messages, this value is set to the greatest knowledgeAnswers.match_confidence value in the list.

diagnostic_info

Struct

The free-form diagnostic info. For example, this field could contain webhook call latency.

sentiment_analysis_result

SentimentAnalysisResult

The sentiment analysis result, which depends on the sentiment_analysis_request_config specified in the request.

knowledge_answers

KnowledgeAnswers

The result from Knowledge Connector (if any), ordered by decreasing KnowledgeAnswers.match_confidence.

RestoreAgentRequest

The request message for Agents.RestoreAgent.

Fields
parent

string

Required. The project that the agent to restore is associated with. Format: projects/<Project ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.agents.restore

Union field agent. Required. The agent to restore. agent can be only one of the following:
agent_uri

string

The URI to a Google Cloud Storage file containing the agent to restore. Note: The URI must start with "gs://".

agent_content

bytes

The agent to restore.

Example for how to restore an agent via the command line:

curl \
  'https://dialogflow.googleapis.com/v2beta1/projects/<project_name>/agent:restore\
   -X POST \
   -H 'Authorization: Bearer '$(gcloud auth application-default
   print-access-token) \
   -H 'Accept: application/json' \
   -H 'Content-Type: application/json' \
   --compressed \
   --data-binary "{
       'agentContent': '$(cat <agent zip file> | base64 -w 0)'
   }"

SearchAgentsRequest

The request message for Agents.SearchAgents.

Fields
parent

string

Required. The project to list agents from. Format: projects/<Project ID or '-'>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.agents.search

page_size

int32

Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.

page_token

string

Optional. The next_page_token value returned from a previous list request.

SearchAgentsResponse

The response message for Agents.SearchAgents.

Fields
agents[]

Agent

The list of agents. There will be a maximum number of items returned based on the page_size field in the request.

next_page_token

string

Token to retrieve the next page of results, or empty if there are no more results in the list.

Sentiment

The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text.

Fields
score

float

Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).

magnitude

float

A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).

SentimentAnalysisRequestConfig

Configures the types of sentiment analysis to perform.

Fields
analyze_query_text_sentiment

bool

Optional. Instructs the service to perform sentiment analysis on query_text. If not provided, sentiment analysis is not performed on query_text.

SentimentAnalysisResult

The result of sentiment analysis as configured by sentiment_analysis_request_config.

Fields
query_text_sentiment

Sentiment

The sentiment analysis result for query_text.

SessionEntityType

Represents a session entity type.

Extends or replaces a developer entity type at the user session level (we refer to the entity types defined at the agent level as "developer entity types").

Note: session entity types apply to all queries, regardless of the language.

Fields
name

string

Required. The unique identifier of this session entity type. Format: projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type Display Name>, or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>/entityTypes/<Entity Type Display Name>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

entity_override_mode

EntityOverrideMode

Required. Indicates whether the additional data should override or supplement the developer entity type definition.

entities[]

Entity

Required. The collection of entities associated with this session entity type.

EntityOverrideMode

The types of modifications for a session entity type.

Enums
ENTITY_OVERRIDE_MODE_UNSPECIFIED Not specified. This value should be never used.
ENTITY_OVERRIDE_MODE_OVERRIDE The collection of session entities overrides the collection of entities in the corresponding developer entity type.
ENTITY_OVERRIDE_MODE_SUPPLEMENT The collection of session entities extends the collection of entities in the corresponding developer entity type. Calls to ListSessionEntityTypes, GetSessionEntityType, CreateSessionEntityType and UpdateSessionEntityType return the full collection of entities from the developer entity type in the agent's default language and the session entity type.

SsmlVoiceGender

Gender of the voice as described in SSML voice element.

Enums
SSML_VOICE_GENDER_UNSPECIFIED An unspecified gender, which means that the client doesn't care which gender the selected voice will have.
SSML_VOICE_GENDER_MALE A male voice.
SSML_VOICE_GENDER_FEMALE A female voice.
SSML_VOICE_GENDER_NEUTRAL A gender-neutral voice.

StreamingDetectIntentRequest

The top-level message sent by the client to the StreamingDetectIntent method.

Multiple request messages should be sent in order:

  1. The first message must contain session, query_input plus optionally query_params and/or single_utterance. If the client wants to receive an audio response, it should also contain output_audio_config. The message must not contain input_audio.

  2. If query_input was set to a streaming input audio config, all subsequent messages must contain only input_audio. Otherwise, finish the request stream.

Fields
session

string

Required. The name of the session the query is sent to. Format of the session name: projects/<Project ID>/agent/sessions/<Session ID>, or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we are using "-". It’s up to the API caller to choose an appropriate Session ID and User Id. They can be a random numbers or some type of user and session identifiers (preferably hashed). The length of the Session ID and User ID must not exceed 36 characters.

Authorization requires the following Google IAM permission on the specified resource session:

  • dialogflow.sessions.streamingDetectIntent

query_params

QueryParameters

Optional. The parameters of this query.

query_input

QueryInput

Required. The input specification. It can be set to:

  1. an audio config which instructs the speech recognizer how to process the speech audio,

  2. a conversational query in the form of text, or

  3. an event that specifies which intent to trigger.

single_utterance

bool

Optional. If false (default), recognition does not cease until the client closes the stream. If true, the recognizer will detect a single spoken utterance in input audio. Recognition ceases when it detects the audio's voice has stopped or paused. In this case, once a detected intent is received, the client should close the stream and start a new request with a new stream as needed. This setting is ignored when query_input is a piece of text or an event.

output_audio_config

OutputAudioConfig

Optional. Instructs the speech synthesizer how to generate the output audio. If this field is not set and agent-level speech synthesizer is not configured, no output audio is generated.

input_audio

bytes

Optional. The input audio content to be recognized. Must be sent if query_input was set to a streaming input audio config. The complete audio over all streaming messages must not exceed 1 minute.

StreamingDetectIntentResponse

The top-level message returned from the StreamingDetectIntent method.

Multiple response messages can be returned in order:

  1. If the input was set to streaming audio, the first one or more messages contain recognition_result. Each recognition_result represents a more complete transcript of what the user said. The last recognition_result has is_final set to true.

  2. The next message contains response_id, query_result, alternative_query_results and optionally webhook_status if a WebHook was called.

  3. If output_audio_config was specified in the request or agent-level speech synthesizer is configured, all subsequent messages contain output_audio and output_audio_config.

Fields
response_id

string

The unique identifier of the response. It can be used to locate a response in the training example set or for reporting issues.

recognition_result

StreamingRecognitionResult

The result of speech recognition.

query_result

QueryResult

The selected results of the conversational query or event processing. See alternative_query_results for additional potential results.

alternative_query_results[]

QueryResult

If Knowledge Connectors are enabled, there could be more than one result returned for a given query or event, and this field will contain all results except for the top one, which is captured in query_result. The alternative results are ordered by decreasing QueryResult.intent_detection_confidence. If Knowledge Connectors are disabled, this field will be empty until multiple responses for regular intents are supported, at which point those additional results will be surfaced here.

webhook_status

Status

Specifies the status of the webhook request.

output_audio

bytes

The audio data bytes encoded as specified in the request.

output_audio_config

OutputAudioConfig

Instructs the speech synthesizer how to generate the output audio. This field is populated from the agent-level speech synthesizer configuration, if enabled.

StreamingRecognitionResult

Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance.

Example:

  1. transcript: "tube"

  2. transcript: "to be a"

  3. transcript: "to be"

  4. transcript: "to be or not to be" is_final: true

  5. transcript: " that's"

  6. transcript: " that is"

  7. recognition_event_type: RECOGNITION_EVENT_END_OF_SINGLE_UTTERANCE

  8. transcript: " that is the question" is_final: true

Only two of the responses contain final results (#4 and #8 indicated by is_final: true). Concatenating these generates the full transcript: "to be or not to be that is the question".

In each response we populate:

  • for MESSAGE_TYPE_TRANSCRIPT: transcript and possibly is_final.

  • for MESSAGE_TYPE_END_OF_SINGLE_UTTERANCE: only event_type.

Fields
message_type

MessageType

Type of the result message.

transcript

string

Transcript text representing the words that the user spoke. Populated if and only if event_type = RECOGNITION_EVENT_TRANSCRIPT.

is_final

bool

The default of 0.0 is a sentinel value indicating confidence was not set. If false, the StreamingRecognitionResult represents an interim result that may change. If true, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for event_type = RECOGNITION_EVENT_TRANSCRIPT.

confidence

float

The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set.

This field is typically only provided if is_final is true and you should not rely on it being accurate or even set.

MessageType

Type of the response message.

Enums
MESSAGE_TYPE_UNSPECIFIED Not specified. Should never be used.
TRANSCRIPT Message contains a (possibly partial) transcript.
END_OF_SINGLE_UTTERANCE Event indicates that the server has detected the end of the user's speech utterance and expects no additional speech. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if single_utterance was set to true, and is not used otherwise.

SynthesizeSpeechConfig

Configuration of how speech should be synthesized.

Fields
speaking_rate

double

Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error.

pitch

double

Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch.

volume_gain_db

double

Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.

effects_profile_id[]

string

Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given.

voice

VoiceSelectionParams

Optional. The desired voice of the synthesized audio.

TextInput

Represents the natural language text to be processed.

Fields
text

string

Required. The UTF-8 encoded natural language text to be processed. Text length must not exceed 256 bytes.

language_code

string

Required. The language of this conversational query. See Language Support for a list of the currently supported language codes. Note that queries in the same session do not necessarily need to specify the same language.

TrainAgentRequest

The request message for Agents.TrainAgent.

Fields
parent

string

Required. The project that the agent to train is associated with. Format: projects/<Project ID>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • dialogflow.agents.train

UpdateContextRequest

The request message for Contexts.UpdateContext.

Fields
context

Context

Required. The context to update.

Authorization requires the following Google IAM permission on the specified resource context:

  • dialogflow.contexts.update

update_mask

FieldMask

Optional. The mask to control which fields get updated.

UpdateEntityTypeRequest

The request message for EntityTypes.UpdateEntityType.

Fields
entity_type

EntityType

Required. The entity type to update. Format: projects/<Project ID>/agent/entityTypes/<EntityType ID>.

Authorization requires the following Google IAM permission on the specified resource entity_type:

  • dialogflow.entityTypes.update

language_code

string

Optional. The language of entity synonyms defined in entity_type. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

update_mask

FieldMask

Optional. The mask to control which fields get updated.

UpdateIntentRequest

The request message for Intents.UpdateIntent.

Fields
intent

Intent

Required. The intent to update. Format: projects/<Project ID>/agent/intents/<Intent ID>.

Authorization requires the following Google IAM permission on the specified resource intent:

  • dialogflow.intents.update

language_code

string

Optional. The language of training phrases, parameters and rich messages defined in intent. If not specified, the agent's default language is used. More than a dozen languages are supported. Note: languages must be enabled in the agent, before they can be used.

update_mask

FieldMask

Optional. The mask to control which fields get updated.

intent_view

IntentView

Optional. The resource view to apply to the returned intent.

UpdateSessionEntityTypeRequest

The request message for SessionEntityTypes.UpdateSessionEntityType.

Fields
session_entity_type

SessionEntityType

Required. The entity type to update. Format: projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type Display Name> or projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session ID>/entityTypes/<Entity Type Display Name>. If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

Authorization requires the following Google IAM permission on the specified resource session_entity_type:

  • dialogflow.sessionEntityTypes.update

update_mask

FieldMask

Optional. The mask to control which fields get updated.

VoiceSelectionParams

Description of which voice to use for speech synthesis.

Fields
name

string

Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and gender.

ssml_gender

SsmlVoiceGender

Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request.

WebhookRequest

The request message for a webhook call.

Fields
session

string

The unique identifier of detectIntent request session. Can be used to identify end-user inside webhook implementation. Format: projects/<Project ID>/agent/sessions/<Session ID>.

response_id

string

The unique identifier of the response. Contains the same value as [Streaming]DetectIntentResponse.response_id.

query_result

QueryResult

The result of the conversational query or event processing. Contains the same value as [Streaming]DetectIntentResponse.query_result.

alternative_query_results[]

QueryResult

Alternative query results from KnowledgeService.

original_detect_intent_request

OriginalDetectIntentRequest

Optional. The contents of the original request that was passed to [Streaming]DetectIntent call.

WebhookResponse

The response message for a webhook call.

Fields
fulfillment_text

string

Optional. The text to be shown on the screen. This value is passed directly to QueryResult.fulfillment_text.

fulfillment_messages[]

Message

Optional. The collection of rich messages to present to the user. This value is passed directly to QueryResult.fulfillment_messages.

source

string

Optional. This value is passed directly to QueryResult.webhook_source.

payload

Struct

Optional. This value is passed directly to QueryResult.webhook_payload. See the related fulfillment_messages[i].payload field, which may be used as an alternative to this field.

This field can be used for Actions on Google responses. It should have a structure similar to the JSON message shown here. For more information, see Actions on Google Webhook Format

{
  "google": {
    "expectUserResponse": true,
    "richResponse": {
      "items": [
        {
          "simpleResponse": {
            "textToSpeech": "this is a simple response"
          }
        }
      ]
    }
  }
}

output_contexts[]

Context

Optional. The collection of output contexts. This value is passed directly to QueryResult.output_contexts.

followup_event_input

EventInput

Optional. Makes the platform immediately invoke another DetectIntent call internally with the specified event as input.

end_interaction

bool

Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.