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.

JSON representation
{
  "name": string,
  "displayName": string,
  "webhookState": enum(WebhookState),
  "priority": number,
  "isFallback": boolean,
  "mlDisabled": boolean,
  "inputContextNames": [
    string
  ],
  "events": [
    string
  ],
  "trainingPhrases": [
    {
      object(TrainingPhrase)
    }
  ],
  "action": string,
  "outputContexts": [
    {
      object(Context)
    }
  ],
  "resetContexts": boolean,
  "parameters": [
    {
      object(Parameter)
    }
  ],
  "messages": [
    {
      object(Message)
    }
  ],
  "defaultResponsePlatforms": [
    enum(Platform)
  ],
  "rootFollowupIntentName": string,
  "parentFollowupIntentName": string,
  "followupIntentInfo": [
    {
      object(FollowupIntentInfo)
    }
  ]
}
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>.

displayName

string

Required. The name of this intent.

webhookState

enum(WebhookState)

Optional. Indicates whether webhooks are enabled for the intent.

priority

number

Optional. The priority of this intent. Higher numbers represent higher priorities. If this is zero or unspecified, we use the default priority 500000.

Negative numbers mean that the intent is disabled.

isFallback

boolean

Optional. Indicates whether this is a fallback intent.

mlDisabled

boolean

Optional. Indicates whether Machine Learning is disabled for the intent. Note: If ml_diabled 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.

inputContextNames[]

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.

trainingPhrases[]

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

outputContexts[]

object(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 lifespanCount to 0 will reset the context when the intent is matched. Format: projects/<Project ID>/agent/sessions/-/contexts/<Context ID>.

resetContexts

boolean

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

parameters[]

object(Parameter)

Optional. The collection of parameters associated with the intent.

messages[]

object(Message)

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

defaultResponsePlatforms[]

enum(Platform)

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

rootFollowupIntentName

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

parentFollowupIntentName

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 [intents.create][] or [intents.batchUpdate][], in order to make this intent a followup intent.

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

followupIntentInfo[]

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

TrainingPhrase

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

JSON representation
{
  "name": string,
  "type": enum(Type),
  "parts": [
    {
      object(Part)
    }
  ],
  "timesAddedCount": number
}
Fields
name

string

Output only. The unique identifier of this training phrase.

type

enum(Type)

Required. The type of the training phrase.

parts[]

object(Part)

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

timesAddedCount

number

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.

JSON representation
{
  "text": string,
  "entityType": string,
  "alias": string,
  "userDefined": boolean
}
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.

entityType

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.

userDefined

boolean

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

Parameter

Represents intent parameters.

JSON representation
{
  "name": string,
  "displayName": string,
  "value": string,
  "defaultValue": string,
  "entityTypeDisplayName": string,
  "mandatory": boolean,
  "prompts": [
    string
  ],
  "isList": boolean
}
Fields
name

string

The unique identifier of this parameter.

displayName

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.

defaultValue

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.

entityTypeDisplayName

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

boolean

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.

isList

boolean

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

FollowupIntentInfo

Represents a single followup intent in the chain.

JSON representation
{
  "followupIntentName": string,
  "parentFollowupIntentName": string
}
Fields
followupIntentName

string

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

parentFollowupIntentName

string

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