Implicit invocation occurs when users invoke your Action without using its name. The Google Assistant attempts to match the user's request to a suitable Action and then presents a few of these matched Actions to the user based on some qualitative and quantitative signals.
Implicit invocation signals might include users telling the 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 Action would be appropriate.
Once your Action is implicitly invoked, the Assistant notifies your fulfillment of the specific Action that the user requested.
The following example shows how a user can trigger an implicit invocation to launch the main 'Personal Chef' Action.
Action discovery is a very powerful tool for getting your Actions in front of users. If a user wants to accomplish a task and you have deployed an Action that can help the user with their task, the Assistant may recommend your Action to the user.
This interaction occurs as follows:
- A user asks the Google Assistant to perform a task.
- The recommendation algorithm determines that your Action can complete the user's task.
- The Assistant recommends your Action to the user.
This interaction is much more likely when your Action uses invocation phrases that effectively bridge the gap between the user's choice of words and your Action's intents. In practice, your Action must serve a specific, useful purpose that real users ask the Google Assistant about in order for it to be discovered in this way.
Due to the evolving nature of the recommendation algorithm, Google cannot guarantee that your Action will be recommended via action discovery. Keep the following best practices in mind when designing your Action to improve the chance of it being recommended:
Reduce conversational errors
Look for dead ends in your Action's conversation to reduce the number of times your Action errors out or forces users to quit.
Don't block your flow with account linking
Don't give users a required account linking prompt as the first thing your Action does in its triggering intents. Give unauthenticated users a guest flow to show off the value of your Action, then only ask for account linking if it's necessary to proceed.
Avoid open-ended questions
Questions like "What can I help you with?" don't give the user context on how to proceed. Specific questions like "Can you give me the name of a beach so I can give you a surf report?" help keep the conversation moving.
Write useful invocation phrases
If your Action's invocation phrases can't be mapped to a variety of related user queries, it won't be recognized as relevant. Refer to the Writing useful invocation phrases section for more details.
The Analytics > Discovery section of the Actions Console provides useful information about what phrases prompted the Assistant to recommend your Action and which of your intents was matched to the prompt.
You can find more information on our documentation about analytics and health.
Add invocation phrases in Dialogflow
In Dialogflow, your Actions and their invocation phrases are defined as training phrases in intents that you specify for implicit invocation. These intents can be configured in the Assistant integration within Dialogflow:
In the Dialogflow Console, go to Integrations and in the Google Assistant card, click on Integration Settings.
Choose one or more implicit invocation intents. This is how users can invoke your Action without specifying it's name. For example, if your Action can locate nearby concerts, users can say "Ok Google, I want to find concerts around me.".
For more information, refer to the Dialogflow docs on Google Assistant integration.
Add invocation phrases in Actions SDK
In the Actions SDK, your Actions and their invocation phrases are defined as query patterns. See the Actions SDK docs for more information.
View implicit invocations in the Actions Console
In the Actions console, you can view your Actions and their invocation phrases under Build > Actions.
You can click on any of the Actions listed to view their invocation phrases. If you're using Dialogflow, you'll have the option to Add more phrases, which links you directly to your Actions's intents in Dialogflow.
Best practices for writing useful invocation phrases
Invocation phrases offer a helpful invocation and discovery tool for users, but you must choose them carefully. Keep the following best practices in mind when designing your Action's invocation phrases:
Keep your invocation phrases specific to your Action's use cases
Your Action should serve a specific purpose , so make sure your invocation phrases actually describe what your Action does. For example, if your Action is used to book flights, don't use "How do I get from $location to $location?". A better alternative would be "Book a flight from $location to $location.".
- If your invocation phrases contain entities, make sure all synonyms of those entities are relevant to its phrase(s) and your Action's use case overall.
Build phrases that include both a verb and an *object*
An invocation consists of a complete sentence, which means your Action's invocation phrase needs to be a verb-object pair in order to be linguistically natural. For example, "Easy recipe." would be a bad invocation phrase because the full invocation would be "Ok Google, easy recipe.". A better alternative could be "How do I make an easy recipe?" which could be invoked by "Ok Google, how do I make an easy recipe".
Consider the following examples of bad and good invocation phrases:
Bad invocation phrases
- Lacks a verb - "The number five."
- Too general - "Travel to New York."
Good invocation phrases
- Has a clear verb and object - "Hear a dad joke."
- Provides specific requests:
- "What is my horoscope for today?"
- "Hear a fun fact."
- "Give me a 5 minute workout."
- "What should I wear today?"
- "Get me a rental car."
- "I need a hotel room."
- "Buy concert tickets."
- "Coupons that expire today."
These invocation phrases may not be unique to your Action; it's up to the Assistant to determine which Actions to suggest to users.