Intents overview (Dialogflow)

Intents are messaging objects that describe how to do something. You can use intents in one of two ways:

  • By providing the fulfillment for an intent, or
  • By requesting the fulfillment of an intent by Google Assistant.

The process by which you provide the fulfillment for an intent is different for developers building with Dialogflow and for developers building with the Actions SDK. However, in both cases, you're providing the name of the intent and the URL of your fulfillment webhook. This tells Actions on Google that you can support user queries that match the intent.

To request fulfillment of an intent, you specify the intent in the possibleIntents object when responding to the Assistant. In the subsequent request to your fulfillment, the Assistant returns the result of the processed intent to you. For more information, read the helpers usage overview.

Common intents

The following table describes intents that the Assistant requests for you to fulfill.

Intent name Usage Dialogflow event
actions.intent.MAIN Required: Every Action package declares one and only one intent acts as an entry point for users to start conversations. WELCOME or GOOGLE_ASSISTANT_WELCOME
actions.intent.TEXT Obtain raw text representation of a user request. You use this most of the time when engaging in a conversation with users.
actions.intent.CANCEL You receive this intent when you opt into receiving cancel intents in your action package. When users say a global cancel command such as "quit", you receive this intent in the next request to your fulfillment, so you can respond with a final message and do any cleanup in your fulfillment logic. actions_intent_CANCEL
actions.intent.NO_INPUT You receive this intent when you opt into receiving no-input intents in your action package. When users don't respond to a prompt, you receive this intent in the next request to your fulfillment. actions_intent_NO_INPUT

Helpers

The following table describes the supported helpers that you can request the Assistant to fulfill.

Intent name Usage Dialogflow event
actions.intent.PERMISSION Obtain the user's full name, coarse location, or precise location, or all 3. actions_intent_PERMISSION
actions.intent.OPTION Receive the selected item from a list or carousel UI. Or, if the user does not select from the list or carousel UI, receive speech or text input that matches with the key in the list or carousel UI. actions_intent_OPTION
actions.intent.DATETIME Obtain a date and time input from the user. actions_intent_DATETIME
actions.intent.SIGN_IN Requests an account linking flow to link a user's account. actions_intent_SIGN_IN
actions.intent.PLACE Obtain an address or saved location from the user. actions_intent_PLACE
actions.intent.CONFIRMATION Obtain a confirmation from the user (for example, an answer to a yes or no question). actions_intent_CONFIRMATION
actions.intent.NEW_SURFACE Asks the user for permission to hand off to another Assistant surface. actions_intent_NEW_SURFACE

Built-in intents

Built-in intents model some of the common ways that users express tasks they're trying to do or information they seek, such as ordering a meal, booking a ride, or checking an account balance. See the built-in intents reference for more information.

Additional intents

Most Conversational Actions are built with a combination of the common intents, helpers, and responses. However, Actions that incorporate additional features like transactions or daily updates have access to intents specific to those features.

Transaction helpers

The following table describes helpers related to handling purchases that you can request the Assistant to fulfill. You can find more information about how to implement these and other related intents in the transactions feature documentation.

Intent name Usage Dialogflow event
actions.intent.DELIVERY_ADDRESS Obtain a delivery address input from the user. actions_intent_DELIVERY_ADDRESS
actions.intent.TRANSACTION_REQUIREMENTS_CHECK Check if all the requirements for a transaction are met. actions_intent_TRANSACTION_REQUIREMENTS_CHECK
actions.intent.TRANSACTION_DECISION Asks the user if the transaction should occur. actions_intent_TRANSACTION_DECISION
actions.intent.DIGITAL_PURCHASE_CHECK Validates the user's transaction configuration. Used to avoid offering digital goods to users for which the transaction will fail. actions_intent_DIGITAL_PURCHASE_CHECK
actions.intent.COMPLETE_PURCHASE Begins a purchase request. Results in a purchase result describing whether and how the transaction succeeded or failed. actions_intent_COMPLETE_PURCHASE

User engagement intents

The following table describes intents related to user engagement features. You can find more information about how to implement these and other related intents in the user engagement feature documentation.

Intent name Provide fulfillment Request fulfillment Usage Dialogflow event
actions.intent.REGISTER_UPDATE X Asks the user to register for updates. actions_intent_REGISTER_UPDATE
actions.intent.CONFIGURE_UPDATES X You receive this intent when the user tries to register for updates (i.e., a REGISTER_UPDATE intent should be sent). actions_intent_CONFIGURE_UPDATES

Custom intents

You can create your own intents to define shortcuts into the conversation to help users get things done more efficiently. These intents reside in your own namespace; you define how users trigger the intents, and your Action package is the only one that can support them.

For more information, read about defining Actions in Dialogflow or with the Actions SDK. You can find more information on Action packages in the Action package reference documentation.

Smart home intents

If you're building a smart home Action, you define support for intents in a slightly different way. See the smart home intents documentation for more information.