Join us at Google I/O from May 18 to 20 for discussions, learning, and a first look at our latest developer products. Register now.

Build invocation models

An invocation model specifies how users invoke the Actions in your project. When users invoke an Action, they begin a conversation with it, which is defined by your conversation model. You can define invocations in the following ways:

  • Main invocation - This is the only required invocation for your Actions project. Users say a phrase similar to "Ok Google, talk to <display name>" to match this intent, which you typically handle by greeting the user with a welcome message.

  • Deep link invocations - These are optional invocations that let you define training phrases in a custom intent, so users can deep link into a specific part of your conversation. Users can say a phrase similar to "Ok Google, talk to <display name> to <deep link phrase>" to match these types of intents (for example, "Ok Google, talk to Facts about Google to get company facts")

  • Built-in intents - These are optional invocations that let you take advantage of system-defined invocation models. By declaring support for a built-in intent, users can discover and invoke your Actions project without having to specify your display name. For example, users can say "Ok Google, play a game", and Google Assistant can present your Action as an option for invocation.

Figure 1. An invocation model consists of all the intents that are eligible to start conversations with your Actions.

Create the main invocation

Every Actions project has a default, main invocation that acts as the default entry point into your Actions project.The language model for this invocation is associated with your project's display name, so users just need to say a phrase similar to "Ok Google, talk to <display name>" to use this invocation. When users invoke your Actions in this manner, the Assistant runtime matches the actions.intent.MAIN system intent.

To create the main invocation:

To build deep link invocations, you create global user intents with training phrases that define the user input that you want to set for the deep link. Users say your display name in combination with the deep link phrase to carry out a deep link invocation (for example, "Ok Google, talk to <display name> to <deep link phrase>")

Create implicit invocations

Implicit invocation lets users invoke your Action without using your project's display name. To find matching Actions, Google uses signals such as users telling Assistant to do something that's similar to an invocation phrase for one of your configured intents, or when the user is in a context where your Actions would be appropriate.

Handle invocation events

When Assistant matches one of your global intents, it triggers an event that you can process with a handler. The following sections describe what your handler can carry out (you can choose one or any combination of the three).

Trigger a webhook

Your intent handler can delegate to a web service by triggering a webhook event. To trigger a webhook and have a web service handle the invocation:


Your intent handler can respond with a static prompt. Typically, prompts for invocation intents welcome the user, orient them on how to use the Action, or respond with the information the user needs immediately (one-shot Actions).

To handle an invocation intent match with a prompt:

Transition to a scene

Your intent handler can transition to a scene to process the matched invocation intent. This gives you the most flexibility to carry out logic. To transition to a scene: