Package google.cloud.dialogflow.v2

Index

Agents

Service for managing Agents.

DeleteAgent

rpc DeleteAgent(DeleteAgentRequest) returns (Empty)

Deletes the specified agent.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

ExportAgent

rpc ExportAgent(ExportAgentRequest) returns (Operation)

Exports the specified agent to a ZIP file.

Operation <response: ExportAgentResponse>

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

GetAgent

rpc GetAgent(GetAgentRequest) returns (Agent)

Retrieves the specified agent.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

GetValidationResult

rpc GetValidationResult(GetValidationResultRequest) returns (ValidationResult)

Gets agent validation result. Agent validation is performed during training time and is updated automatically when training is completed.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication 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. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly.

Operation <response: google.protobuf.Empty> An operation which tracks when importing is complete. It only tracks when the draft agent is updated not when it is done training.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication 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. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly.

Operation <response: google.protobuf.Empty> An operation which tracks when restoring is complete. It only tracks when the draft agent is updated not when it is done training.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication 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 one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

SetAgent

rpc SetAgent(SetAgentRequest) returns (Agent)

Creates/updates the specified agent.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

TrainAgent

rpc TrainAgent(TrainAgentRequest) returns (Operation)

Trains the specified agent.

Operation <response: google.protobuf.Empty>

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

Contexts

Service for managing Contexts.

CreateContext

rpc CreateContext(CreateContextRequest) returns (Context)

Creates a context.

If the specified context already exists, overrides the context.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

DeleteAllContexts

rpc DeleteAllContexts(DeleteAllContextsRequest) returns (Empty)

Deletes all active contexts in the specified session.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

DeleteContext

rpc DeleteContext(DeleteContextRequest) returns (Empty)

Deletes the specified context.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

GetContext

rpc GetContext(GetContextRequest) returns (Context)

Retrieves the specified context.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

ListContexts

rpc ListContexts(ListContextsRequest) returns (ListContextsResponse)

Returns the list of all contexts in the specified session.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

UpdateContext

rpc UpdateContext(UpdateContextRequest) returns (Context)

Updates the specified context.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

EntityTypes

Service for managing EntityTypes.

BatchCreateEntities

rpc BatchCreateEntities(BatchCreateEntitiesRequest) returns (Operation)

Creates multiple new entities in the specified entity type.

Operation <response: google.protobuf.Empty>

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

BatchDeleteEntities

rpc BatchDeleteEntities(BatchDeleteEntitiesRequest) returns (Operation)

Deletes entities in the specified entity type.

Operation <response: google.protobuf.Empty>

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

BatchDeleteEntityTypes

rpc BatchDeleteEntityTypes(BatchDeleteEntityTypesRequest) returns (Operation)

Deletes entity types in the specified agent.

Operation <response: google.protobuf.Empty>

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

BatchUpdateEntities

rpc BatchUpdateEntities(BatchUpdateEntitiesRequest) returns (Operation)

Updates or creates multiple entities in the specified entity type. This method does not affect entities in the entity type that aren't explicitly specified in the request.

Operation <response: google.protobuf.Empty>

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

BatchUpdateEntityTypes

rpc BatchUpdateEntityTypes(BatchUpdateEntityTypesRequest) returns (Operation)

Updates/Creates multiple entity types in the specified agent.

Operation <response: BatchUpdateEntityTypesResponse>

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

CreateEntityType

rpc CreateEntityType(CreateEntityTypeRequest) returns (EntityType)

Creates an entity type in the specified agent.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

DeleteEntityType

rpc DeleteEntityType(DeleteEntityTypeRequest) returns (Empty)

Deletes the specified entity type.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

GetEntityType

rpc GetEntityType(GetEntityTypeRequest) returns (EntityType)

Retrieves the specified entity type.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

ListEntityTypes

rpc ListEntityTypes(ListEntityTypesRequest) returns (ListEntityTypesResponse)

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

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

UpdateEntityType

rpc UpdateEntityType(UpdateEntityTypeRequest) returns (EntityType)

Updates the specified entity type.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

Environments

Service for managing Environments.

ListEnvironments

rpc ListEnvironments(ListEnvironmentsRequest) returns (ListEnvironmentsResponse)

Returns the list of all non-draft environments of the specified agent.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

Fulfillments

Service for managing Fulfillments.

GetFulfillment

rpc GetFulfillment(GetFulfillmentRequest) returns (Fulfillment)

Retrieves the fulfillment.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

UpdateFulfillment

rpc UpdateFulfillment(UpdateFulfillmentRequest) returns (Fulfillment)

Updates the fulfillment.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

Intents

Service for managing Intents.

BatchDeleteIntents

rpc BatchDeleteIntents(BatchDeleteIntentsRequest) returns (Operation)

Deletes intents in the specified agent.

Operation <response: google.protobuf.Empty>

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

BatchUpdateIntents

rpc BatchUpdateIntents(BatchUpdateIntentsRequest) returns (Operation)

Updates/Creates multiple intents in the specified agent.

Operation <response: BatchUpdateIntentsResponse>

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

CreateIntent

rpc CreateIntent(CreateIntentRequest) returns (Intent)

Creates an intent in the specified agent.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

DeleteIntent

rpc DeleteIntent(DeleteIntentRequest) returns (Empty)

Deletes the specified intent and its direct or indirect followup intents.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

GetIntent

rpc GetIntent(GetIntentRequest) returns (Intent)

Retrieves the specified intent.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

ListIntents

rpc ListIntents(ListIntentsRequest) returns (ListIntentsResponse)

Returns the list of all intents in the specified agent.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

UpdateIntent

rpc UpdateIntent(UpdateIntentRequest) returns (Intent)

Updates the specified intent.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

SessionEntityTypes

Service for managing SessionEntityTypes.

CreateSessionEntityType

rpc CreateSessionEntityType(CreateSessionEntityTypeRequest) returns (SessionEntityType)

Creates a session entity type.

If the specified session entity type already exists, overrides the session entity type.

This method doesn't work with Google Assistant integration. Contact Dialogflow support if you need to use session entities with Google Assistant integration.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

DeleteSessionEntityType

rpc DeleteSessionEntityType(DeleteSessionEntityTypeRequest) returns (Empty)

Deletes the specified session entity type.

This method doesn't work with Google Assistant integration. Contact Dialogflow support if you need to use session entities with Google Assistant integration.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

GetSessionEntityType

rpc GetSessionEntityType(GetSessionEntityTypeRequest) returns (SessionEntityType)

Retrieves the specified session entity type.

This method doesn't work with Google Assistant integration. Contact Dialogflow support if you need to use session entities with Google Assistant integration.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

ListSessionEntityTypes

rpc ListSessionEntityTypes(ListSessionEntityTypesRequest) returns (ListSessionEntityTypesResponse)

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

This method doesn't work with Google Assistant integration. Contact Dialogflow support if you need to use session entities with Google Assistant integration.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

UpdateSessionEntityType

rpc UpdateSessionEntityType(UpdateSessionEntityTypeRequest) returns (SessionEntityType)

Updates the specified session entity type.

This method doesn't work with Google Assistant integration. Contact Dialogflow support if you need to use session entities with Google Assistant integration.

Authorization Scopes

Requires one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

Sessions

A service used for session interactions.

For more information, see the API interactions guide.

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 one of the following OAuth scopes:

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

For more information, see the Authentication 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 one of the following OAuth scopes:

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

For more information, see the Authentication Overview.

Agent

A Dialogflow agent is a virtual agent that handles conversations with your end-users. It is a natural language understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle the types of conversations required for your system.

For more information about agents, see the Agent guide.

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 will 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.

api_version

ApiVersion

Optional. API version displayed in Dialogflow console. If not specified, V2 API is assumed. Clients are free to query different service endpoints for different API versions. However, bots connectors and webhook calls will follow the specified API version.

tier

Tier

Optional. The agent tier. If not specified, TIER_STANDARD is assumed.

ApiVersion

API version for the agent.

Enums
API_VERSION_UNSPECIFIED Not specified.
API_VERSION_V1 Legacy V1 API.
API_VERSION_V2 V2 API.
API_VERSION_V2_BETA_1 V2beta1 API.

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 custom entities.

Tier

Represents the agent tier.

Enums
TIER_UNSPECIFIED Not specified. This value should never be used.
TIER_STANDARD Standard tier.
TIER_ENTERPRISE Enterprise tier (Essentials).
TIER_ENTERPRISE_PLUS Enterprise tier (Plus).

AnnotatedMessagePart

Represents a part of a message possibly annotated with an entity. The part can be an entity or purely a part of the message between two entities or message start/end.

Fields
text

string

A part of a message possibly annotated with an entity.

entity_type

string

The Dialogflow system entity type of this message part. If this is empty, Dialogflow could not annotate the phrase part with a system entity.

formatted_value

Value

The Dialogflow system entity formatted value of this message part. For example for a system entity of type @sys.unit-currency, this may contain:

{
  "amount": 5,
  "currency": "USD"
}

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 IAM permission on the specified resource parent:

  • dialogflow.entityTypes.batchCreateEntities
entities[]

Entity

Required. The entities to create.

language_code

string

Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

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 IAM permission on the specified resource parent:

  • dialogflow.entityTypes.batchDeleteEntities
entity_values[]

string

Required. The reference 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 used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

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 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 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 request message for EntityTypes.BatchUpdateEntities.

Fields
parent

string

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

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

  • dialogflow.entityTypes.batchUpdateEntities
entities[]

Entity

Required. The entities to update or create.

language_code

string

Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

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 IAM permission on the specified resource parent:

  • dialogflow.entityTypes.batchUpdate
language_code

string

Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

update_mask

FieldMask

Optional. The mask to control which fields get updated.

Union field entity_type_batch. 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 types to update or create.

BatchUpdateEntityTypesResponse

The response message for EntityTypes.BatchUpdateEntityTypes.

Fields
entity_types[]

EntityType

The collection of updated or created entity types.

BatchUpdateIntentsRequest

Fields
parent

string

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

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

  • dialogflow.intents.batchUpdate
language_code

string

Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

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. 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

Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent.

Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts.

For more information about context, see the Contexts guide.

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, may only contain characters in a-zA-Z0-9_-% and may be at most 250 bytes long.

If Environment ID is not specified, we assume default 'draft' environment. If User ID is not specified, we assume default '-' user.

The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names:

  • __system_counters__
  • *_id_dialog_context
  • *_dialog_params_size
lifespan_count

int32

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

parameters

Struct

Optional. The collection of parameters associated with this context.

Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs:

  • MapKey type: string
  • MapKey value: parameter name
  • MapValue type:
    • If parameter's entity type is a composite entity: map
    • Else: string or number, depending on parameter value type
  • MapValue value:
    • If parameter's entity type is a composite entity: map from composite entity property names to property values
    • Else: parameter value

ConversationEvent

Represents a notification sent to Pub/Sub subscribers for conversation lifecycle events.

Fields
conversation

string

The unique identifier of the conversation this notification refers to. Format: projects/<Project ID>/conversations/<Conversation ID>.

type

Type

The type of the event that this notification refers to.

error_status

Status

More detailed information about an error. Only set for type UNRECOVERABLE_ERROR_IN_PHONE_CALL.

new_message_payload

Message

Payload of NEW_MESSAGE event.

Type

Enumeration of the types of events available.

Enums
TYPE_UNSPECIFIED Type not set.
CONVERSATION_STARTED A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.
CONVERSATION_FINISHED An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.
HUMAN_INTERVENTION_NEEDED An existing conversation has received notification from Dialogflow that human intervention is required.
NEW_MESSAGE An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config
UNRECOVERABLE_ERROR

Unrecoverable error during a telephone call.

In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding.

We don't fire this event:

  • in an API call because we can directly return the error, or,
  • when we can recover from an error.

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 IAM permission on the specified resource parent:

  • dialogflow.contexts.create
context

Context

Required. The context 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 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 used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

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 IAM permission on the specified resource parent:

  • dialogflow.intents.create
intent

Intent

Required. The intent to create.

language_code

string

Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

intent_view

IntentView

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

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 IAM permission on the specified resource parent:

  • dialogflow.sessionEntityTypes.create
session_entity_type

SessionEntityType

Required. The session entity type to create.

DeleteAgentRequest

The request message for Agents.DeleteAgent.

Fields
parent

string

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

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

  • dialogflow.agents.delete

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 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 IAM permission on the specified resource name:

  • dialogflow.contexts.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 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. If this intent has direct or indirect followup intents, we also delete them. Format: projects/<Project ID>/agent/intents/<Intent ID>.

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

  • dialogflow.intents.delete

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 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 number or some type of user and session identifiers (preferably hashed). The length of the Session ID and User ID must not exceed 36 characters.

For more information, see the API interactions guide.

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

  • dialogflow.sessions.detectIntent
query_params

QueryParameters

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

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.

output_audio_config_mask

FieldMask

Mask for output_audio_config indicating which settings in this request-level config should override speech synthesizer settings defined at agent-level.

If unspecified or empty, output_audio_config replaces the agent-level config in its entirety.

input_audio

bytes

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.

webhook_status

Status

Specifies the status of the webhook request.

output_audio

bytes

The audio data bytes encoded as specified in the request. Note: The output audio is generated based on the values of default platform text responses found in the query_result.fulfillment_messages field. If multiple default text responses exist, they will be concatenated when generating audio. If no default platform text responses exist, the generated audio content will be empty.

In some scenarios, multiple output audio fields may be present in the response structure. In these cases, only the top-most-level audio output has content.

output_audio_config

OutputAudioConfig

The config used by the speech synthesizer to generate the output audio.

EntityType

Each intent parameter has a type, called the entity type, which dictates exactly how data from an end-user expression is extracted.

Dialogflow provides predefined system entities that can match many common types of data. For example, there are system entities for matching dates, times, colors, email addresses, and so on. You can also create your own custom entities for matching custom data. For example, you could define a vegetable entity that can match the types of vegetables available for purchase with a grocery store agent.

For more information, see the Entity guide.

Fields
name

string

The unique identifier of the entity type. Required for EntityTypes.UpdateEntityType and EntityTypes.BatchUpdateEntityTypes methods. Format: projects/<Project ID>/agent/entityTypes/<Entity Type ID>.

display_name

string

Required. The name of the entity type.

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 entity entries associated with the entity type.

enable_fuzzy_extraction

bool

Optional. Enables fuzzy entity extraction during classification.

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

An entity entry for an associated entity type.

Fields
value

string

Required. The primary value associated with this entity entry. For example, if the entity type is vegetable, the value could be scallions.

For KIND_MAP entity types:

  • A reference value 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 value synonyms. For example, if the entity type is vegetable, and value is scallions, a synonym could be green onions.

For KIND_LIST entity types:

  • This collection 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 reference value.
KIND_LIST List entity types contain a set of entries that do not map to reference values. However, list entity types can contain references to other entity types (with or without aliases).
KIND_REGEXP Regexp entity types allow to specify regular expressions in entries values.

EntityTypeBatch

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

Fields
entity_types[]

EntityType

A collection of entity types.

Environment

You can create multiple versions of your agent and publish them to separate environments.

When you edit an agent, you are editing the draft agent. At any point, you can save the draft agent as an agent version, which is an immutable snapshot of your agent.

When you save the draft agent, it is published to the default environment. When you create agent versions, you can publish them to custom environments. You can create a variety of custom environments for:

  • testing
  • development
  • production
  • etc.

For more information, see the versions and environments guide.

Fields
name

string

Output only. The unique identifier of this agent environment. Format: projects/<Project ID>/agent/environments/<Environment ID>. For Environment ID, "-" is reserved for 'draft' environment.

description

string

Optional. The developer-provided description for this environment. The maximum length is 500 characters. If exceeded, the request is rejected.

agent_version

string

Optional. The agent version loaded into this environment. Format: projects/<Project ID>/agent/versions/<Version ID>.

state

State

Output only. The state of this environment. This field is read-only, i.e., it cannot be set by create and update methods.

update_time

Timestamp

Output only. The last update time of this environment. This field is read-only, i.e., it cannot be set by create and update methods.

State

Represents an environment state. When an environment is pointed to a new agent version, the environment is temporarily set to the LOADING state. During that time, the environment keeps on serving the previous version of the agent. After the new agent version is done loading, the environment is set back to the RUNNING state.

Enums
STATE_UNSPECIFIED Not specified. This value is not used.
STOPPED Stopped.
LOADING Loading.
RUNNING Running.

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

The collection of parameters associated with the event.

Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs:

  • MapKey type: string
  • MapKey value: parameter name
  • MapValue type:
    • If parameter's entity type is a composite entity: map
    • Else: string or number, depending on parameter value type
  • MapValue value:
    • If parameter's entity type is a composite entity: map from composite entity property names to property values
    • Else: parameter value
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 IAM permission on the specified resource parent:

  • dialogflow.agents.export
agent_uri

string

Required. 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. 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

Zip compressed raw byte content for agent.

Fulfillment

By default, your agent responds to a matched intent with a static response. As an alternative, you can provide a more dynamic response by using fulfillment. When you enable fulfillment for an intent, Dialogflow responds to that intent by calling a service that you define. For example, if an end-user wants to schedule a haircut on Friday, your service can check your database and respond to the end-user with availability information for Friday.

For more information, see the fulfillment guide.

Fields
name

string

Required. The unique identifier of the fulfillment. Format: projects/<Project ID>/agent/fulfillment.

display_name

string

Optional. The human-readable name of the fulfillment, unique within the agent.

enabled

bool

Optional. Whether fulfillment is enabled.

features[]

Feature

Optional. The field defines whether the fulfillment is enabled for certain features.

generic_web_service

GenericWebService

Configuration for a generic web service.

Feature

Whether fulfillment is enabled for the specific feature.

Fields
type

Type

The type of the feature that enabled for fulfillment.

Type

The type of the feature.

Enums
TYPE_UNSPECIFIED Feature type not specified.
SMALLTALK Fulfillment is enabled for SmallTalk.

GenericWebService

Represents configuration for a generic web service. Dialogflow supports two mechanisms for authentications: - Basic authentication with username and password. - Authentication with additional authentication headers. More information could be found at: https://cloud.google.com/dialogflow/docs/fulfillment-configure.

Fields
uri

string

Required. The fulfillment URI for receiving POST requests. It must use https protocol.

username

string

Optional. The user name for HTTP Basic authentication.

password

string

Optional. The password for HTTP Basic authentication.

request_headers

map<string, string>

Optional. The HTTP request headers to send together with fulfillment requests.

is_cloud_function

bool

Optional. Indicates if generic web service is created through Cloud Functions integration. Defaults to false.

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 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 IAM permission on the specified resource name:

  • dialogflow.contexts.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 IAM permission on the specified resource name:

  • dialogflow.entityTypes.get
language_code

string

Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

GetFulfillmentRequest

The request message for Fulfillments.GetFulfillment.

Fields
name

string

Required. The name of the fulfillment. Format: projects/<Project ID>/agent/fulfillment.

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

  • dialogflow.agents.get

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 IAM permission on the specified resource name:

  • dialogflow.intents.get
language_code

string

Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

intent_view

IntentView

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

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 IAM permission on the specified resource name:

  • dialogflow.sessionEntityTypes.get

GetValidationResultRequest

The request message for Agents.GetValidationResult.

Fields
parent

string

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

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

  • dialogflow.agents.get
language_code

string

Optional. The language for which you want a validation result. If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.

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 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

Zip compressed raw byte content for agent.

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.

enable_word_info

bool

If true, Dialogflow returns SpeechWordInfo in StreamingRecognitionResult with information about the recognized speech words, e.g. start and end time offsets. If false or unspecified, Speech doesn't return any word-level information.

phrase_hints[]
(deprecated)

string

A list of strings containing words and phrases that the speech recognizer should recognize with higher likelihood.

See the Cloud Speech documentation for more details.

This field is deprecated. Please use speech_contexts instead. If you specify both phrase_hints and speech_contexts, Dialogflow will treat the phrase_hints as a single additional SpeechContext.

speech_contexts[]

SpeechContext

Context information to assist speech recognition.

See the Cloud Speech documentation for more details.

model

string

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.

model_variant

SpeechModelVariant

Which variant of the Speech model to use.

single_utterance

bool

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. Note: This setting is relevant only for streaming methods. Note: When specified, InputAudioConfig.single_utterance takes precedence over StreamingDetectIntentRequest.single_utterance.

Intent

An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification.

For more information, see the intent guide.

Fields
name

string

Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format: projects/<Project ID>/agent/intents/<Intent ID>.

display_name

string

Required. The name of this intent.

webhook_state

WebhookState

Optional. Indicates whether webhooks are enabled for the intent.

priority

int32

Optional. The priority of this intent. Higher numbers represent higher priorities.

  • If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the Normal priority in the console.
  • If the supplied value is negative, the intent is ignored in runtime detect intent requests.
is_fallback

bool

Optional. Indicates whether this is a fallback intent.

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.

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. Event names are limited to 150 characters.

training_phrases[]

TrainingPhrase

Optional. The collection of examples 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 responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).

root_followup_intent_name

string

Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output.

Format: projects/<Project ID>/agent/intents/<Intent ID>.

parent_followup_intent_name

string

Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent.

It identifies the parent followup intent. Format: projects/<Project ID>/agent/intents/<Intent ID>.

followup_intent_info[]

FollowupIntentInfo

Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.

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's parent. Format: projects/<Project ID>/agent/intents/<Intent ID>.

Message

A rich response message. Corresponds to the intent Response field in the Dialogflow console. For more information, see Rich response messages.

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

The text response.

image

Image

The image response.

quick_replies

QuickReplies

The quick replies response.

card

Card

The card response.

payload

Struct

A custom platform-specific response.

simple_responses

SimpleResponses

The voice and text-only responses for Actions on Google.

basic_card

BasicCard

The basic card response for Actions on Google.

suggestions

Suggestions

The suggestion chips for Actions on Google.

list_select

ListSelect

The list card response for Actions on Google.

carousel_select

CarouselSelect

The carousel card response for Actions on Google.

table_card

TableCard

Table card for Actions on Google.

media_content

MediaContent

The media content card for Actions on Google.

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.

BrowseCarouselCard

Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel

Fields
items[]

BrowseCarouselCardItem

Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.

image_display_options

ImageDisplayOptions

Optional. Settings for displaying the image. Applies to every image in items.

BrowseCarouselCardItem

Browsing carousel tile

Fields
open_uri_action

OpenUrlAction

Required. Action to present to the user.

title

string

Required. Title of the carousel item. Maximum of two lines of text.

description

string

Optional. Description of the carousel item. Maximum of four lines of text.

image

Image

Optional. Hero image for the carousel item.

footer

string

Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.

OpenUrlAction

Actions on Google action to open a given url.

Fields
url

string

Required. URL

url_type_hint

UrlTypeHint

Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.

UrlTypeHint

Type of the URI.

Enums
URL_TYPE_HINT_UNSPECIFIED Unspecified
AMP_ACTION Url would be an amp action
AMP_CONTENT URL that points directly to AMP content, or to a canonical URL which refers to AMP content via .

ImageDisplayOptions

Image display options for Actions on Google. This should be used for when the image's aspect ratio does not match the image container's aspect ratio.

Enums
IMAGE_DISPLAY_OPTIONS_UNSPECIFIED Fill the gaps between the image and the image container with gray bars.
GRAY Fill the gaps between the image and the image container with gray bars.
WHITE Fill the gaps between the image and the image container with white bars.
CROPPED Image is scaled such that the image width and height match or exceed the container dimensions. This may crop the top and bottom of the image if the scaled image height is greater than the container height, or crop the left and right of the image if the scaled image width is greater than the container width. This is similar to "Zoom Mode" on a widescreen TV when playing a 4:3 video.
BLURRED_BACKGROUND Pad the gaps between image and image frame with a blurred copy of the same image.

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

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.

ColumnProperties

Column properties for TableCard.

Fields
header

string

Required. Column heading.

horizontal_alignment

HorizontalAlignment

Optional. Defines text alignment for all cells in this column.

HorizontalAlignment

Text alignments within a cell.

Enums
HORIZONTAL_ALIGNMENT_UNSPECIFIED Text is aligned to the leading edge of the column.
LEADING Text is aligned to the leading edge of the column.
CENTER Text is centered in the column.
TRAILING Text is aligned to the trailing edge of the column.

Image

The image response message.

Fields
image_uri

string

Optional. The public URI to an image file.

accessibility_text

string

Optional. A text description of the image to be used for accessibility, e.g., screen readers.

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.

subtitle

string

Optional. Subtitle of the list.

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.

MediaContent

The media content card for Actions on Google.

Fields
media_type

ResponseMediaType

Optional. What type of media is the content (ie "audio").

media_objects[]

ResponseMediaObject

Required. List of media objects.

ResponseMediaObject

Response media object for media content card.

Fields
name

string

Required. Name of media card.

description

string

Optional. Description of media card.

content_url

string

Required. Url where the media is stored.

Union field image. Image to show with the media card. image can be only one of the following:
large_image

Image

Optional. Image to display above media content.

icon

Image

Optional. Icon to display above media content.

ResponseMediaType

Format of response media type.

Enums
RESPONSE_MEDIA_TYPE_UNSPECIFIED Unspecified.
AUDIO Response media type is audio.

Platform

The rich response message integration platform. See Integrations.

Enums
PLATFORM_UNSPECIFIED Default platform.
FACEBOOK Facebook.
SLACK Slack.
TELEGRAM Telegram.
KIK Kik.
SKYPE Skype.
LINE Line.
VIBER Viber.
ACTIONS_ON_GOOGLE Google Assistant See Dialogflow webhook format
GOOGLE_HANGOUTS Google Hangouts.

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.

TableCard

Table card for Actions on Google.

Fields
title

string

Required. Title of the card.

subtitle

string

Optional. Subtitle to the title.

image

Image

Optional. Image which should be displayed on the card.

column_properties[]

ColumnProperties

Optional. Display properties for the columns in this table.

rows[]

TableCardRow

Optional. Rows in this table of data.

buttons[]

Button

Optional. List of buttons for the card.

TableCardCell

Cell of TableCardRow.

Fields
text

string

Required. Text in this cell.

TableCardRow

Row of TableCard.

Fields
cells[]

TableCardCell

Optional. List of cells that make up this row.

divider_after

bool

Optional. Whether to add a visual divider after this row.

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 a value for the parameter.

is_list

bool

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

TrainingPhrase

Represents an example that the agent is trained on.

Fields
name

string

Output only. The unique identifier of this training phrase.

type

Type

Required. The type of the training phrase.

parts[]

Part

Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase.

Note: The API does not automatically annotate training phrases like the Dialogflow Console does.

Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated.

If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set.

If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways:

  • Part.text is set to a part of the phrase that has no parameters.
  • Part.text is set to a part of the phrase that you want to annotate, and the entity_type, alias, and user_defined fields are all set.
times_added_count

int32

Optional. Indicates how many times this example 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 for this part.

entity_type

string

Optional. The entity type name prefixed with @. This field is required for annotated parts of the training phrase.

alias

string

Optional. The parameter name for the value extracted from the annotated part of the example. This field is required for annotated parts of the training phrase.

user_defined

bool

Optional. Indicates whether the text was manually annotated. This field is set to true when the Dialogflow Console is used to manually annotate the part. When creating an annotated part with the API, you must set this to true.

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. Template mode has been deprecated. Example mode is the only supported way to create new training phrases. If you have existing training phrases that you've created in template mode, those will continue to work.

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.

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 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.

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 IAM permission on the specified resource parent:

  • dialogflow.entityTypes.list
language_code

string

Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

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.

ListEnvironmentsRequest

The request message for Environments.ListEnvironments.

Fields
parent

string

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

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

  • dialogflow.environments.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.

ListEnvironmentsResponse

The response message for Environments.ListEnvironments.

Fields
environments[]

Environment

The list of agent environments. 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 IAM permission on the specified resource parent:

  • dialogflow.intents.list
language_code

string

Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see Multilingual intent and entity data.

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.

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 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.

Message

Represents a message posted into a conversation.

Fields
name

string

The unique identifier of the message. Format: projects/<Project ID>/conversations/<Conversation ID>/messages/<Message ID>.

content

string

Required. The message content.

language_code

string

Optional. The message language. This should be a BCP-47 language tag. Example: "en-US".

participant

string

Output only. The participant that sends this message.

participant_role

Role

Output only. The role of the participant.

create_time

Timestamp

Output only. The time when the message was created.

message_annotation

MessageAnnotation

Output only. The annotation for the message.

MessageAnnotation

Represents the result of annotation for the message.

Fields