Stay organized with collections
Save and categorize content based on your preferences.
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:
Create deep link invocations
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:
Prompts
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:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-09-18 UTC."],[[["\u003cp\u003eActions Builder allows you to define how users initiate conversations with your Actions using an invocation model.\u003c/p\u003e\n"],["\u003cp\u003eYou can use a main invocation, deep link invocations, or built-in intents to enable users to trigger your Actions.\u003c/p\u003e\n"],["\u003cp\u003eWhen an Action is invoked, you can handle the event through webhooks, static prompts, or transitions to specific scenes within your conversation model.\u003c/p\u003e\n"],["\u003cp\u003eDeep link invocations allow users to jump to specific parts of your Action by using targeted phrases in their requests.\u003c/p\u003e\n"],["\u003cp\u003eImplicit invocation allows users to trigger your Action without needing to know your project's display name, relying on contextual cues and system intents.\u003c/p\u003e\n"]]],["Invocation models define how users start conversations with Actions. Key invocation types include: **Main invocation**, triggered by \"Ok Google, talk to [display name]\"; **Deep link invocations**, using custom phrases like \"talk to [display name] to [deep link phrase]\"; and **Built-in intents**, allowing invocation without the display name, such as \"Ok Google, play a game\". Upon invocation, a handler can trigger a webhook, respond with a prompt, or transition to a scene for further logic processing.\n"],null,["# Build invocation models\n\nActions Builder Actions SDK\n\nAn invocation model specifies how users invoke the Actions in your project.\nWhen users invoke an Action, they begin a conversation with it, which is\ndefined by your [conversation model](/assistant/conversational/build/conversation). You can define invocations\nin the following ways:\n\n- [**Main invocation**](/assistant/conversational/build/main-invocation) - This\n is the only required invocation for your Actions project. Users say a phrase\n similar to *\"Ok Google, talk to \\\u003cdisplay name\\\u003e\"* to match this intent,\n which you typically handle by greeting the user with a welcome message.\n\n- [**Deep link invocations**](/assistant/conversational/build/deep-link-invocations) -\n These are optional invocations that let you define training phrases in a\n custom intent, so users can deep link into a specific part of your\n conversation. Users can say a phrase similar to *\"Ok Google, talk to\n \\\u003cdisplay name\\\u003e to \\\u003cdeep link phrase\\\u003e\"* to match these types of\n intents (for example, *\"Ok Google, talk to Facts about Google to get company\n facts\"*)\n\n- [**Built-in intents**](/assistant/conversational/build/built-in-intents) -\n These are optional invocations that let you take advantage of system-defined\n invocation models. By declaring support for a built-in intent, users can\n discover and invoke your Actions project without having to specify your\n display name. For example, users can say *\"Ok Google, play a game\"*, and\n Google Assistant can present your Action as an option for invocation.\n\n**Figure 1.** An invocation model consists of all the intents that are eligible to start conversations with your Actions. **Note:** Only intents that are defined in your invocation model are eligible for matching during invocation. User intents in your [conversation model](#conversation_model) aren't eligible for invocation.\n\nCreate the main invocation\n--------------------------\n\nEvery Actions project has a default, main invocation that acts as the default\nentry point into your Actions project.The language model for this invocation\nis associated with your project's display name, so users just need to say a\nphrase similar to *\"Ok Google, talk to \\\u003cdisplay name\\\u003e\"* to use this\ninvocation. When users invoke your Actions in this manner, the Assistant\nruntime matches the `actions.intent.MAIN` system intent.\n\nTo create the main invocation:\n\nCreate deep link invocations\n----------------------------\n\nTo build deep link invocations, you create global user intents with training\nphrases that define the user input that you want to set for the deep link.\nUsers say your display name in combination with the deep link phrase to carry\nout a deep link invocation (for example, *\"Ok Google, talk to \\\u003cdisplay\nname\\\u003e to \\\u003cdeep link phrase\\\u003e\"*)\n| **Note:** Intents that are associated with deep link invocations are also valid for matching during a conversation.\n\nCreate implicit invocations\n---------------------------\n\n| **Note:** Currently, only the `actions.intent.PLAY_GAME` system intent is supported. You must register for this intent in order to be eligible for implicit invocation if you built a game.\n\nImplicit invocation lets users invoke your Action without using your project's\ndisplay name. To find matching Actions, Google uses signals such as users\ntelling Assistant to do something that's similar to an invocation phrase for one\nof your configured intents, or when the user is in a context where your Actions\nwould be appropriate.\n\nHandle invocation events\n------------------------\n\nWhen Assistant matches one of your global intents, it triggers an event that you\ncan process with a handler. The following sections describe what your handler\ncan carry out (you can choose one or any combination of the three).\n\n### Trigger a webhook\n\nYour intent handler can delegate to a web service by triggering a webhook event.\nTo trigger a webhook and have a web service handle the invocation:\n| **Note:** See the [webhooks](../webhooks) documentation for more information on what you can do in your fulfillment.\n\n### Prompts\n\nYour intent handler can respond with a static prompt. Typically, prompts for\ninvocation intents welcome the user, orient them on how to use the Action, or\nrespond with the information the user needs immediately (one-shot Actions).\n\nTo handle an invocation intent match with a prompt:\n| **Note:** See the [prompts](../prompts) documentation for more information on what you can do with prompts.\n\n### Transition to a scene\n\nYour intent handler can transition to a scene to process the matched invocation\nintent. This gives you the most flexibility to carry out logic. To transition to\na scene:\n| **Note:** See the [scenes](/assistant/conversational/scenes) and [conversation models](/assistant/conversational/build/conversation) documentation for more information on how to build scenes."]]