Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.
As ações de conversa permitem que você estenda o Google Assistente com suas próprias interfaces de conversação, que dão aos usuários acesso aos seus produtos e serviços. As ações usam o avançado mecanismo de processamento de linguagem natural (PLN) do Google Assistente para processar e entender entradas de linguagem natural e realizar tarefas com base nelas.
Informações gerais
Uma ação de conversa é um objeto simples que define um ponto de entrada (chamado de invocação) em uma conversa:
Uma invocação define como os usuários informam ao Google Assistente que querem iniciar uma conversa com uma das suas ações. A invocação de uma ação é definida por uma única intent que é correspondida quando os usuários a solicitam.
Uma conversa define como os usuários interagem com uma ação depois que ela é invocada. Você cria conversas com intents, tipos, cenas e solicitações.
Além disso, suas ações podem delegar trabalho extra para fulfillment, que são serviços da Web que se comunicam com suas ações por webhooks. Isso permite que você faça a validação de dados, chame outros serviços da Web, realize a lógica de negócios e muito mais.
Você agrupa uma ou várias ações, com base nos casos de uso importantes para os usuários, em um contêiner lógico chamado de projeto do Actions. O projeto do Actions contém todo o modelo de invocação (a coleção de todas as suas invocações), que permite que os usuários comecem em locais lógicos no modelo de conversa (todas as coisas que os usuários podem dizer e todas as maneiras possíveis de responder aos usuários).
Figura 1. Uma coleção de ações que servem como pontos de entrada para um modelo de conversa. As intents qualificadas para invocação são consideradas globais.
Invocação
A invocação está associada a um nome de exibição que representa uma marca, nome ou persona que permite aos usuários pedir ao Google Assistente para invocar suas ações. Os usuários podem usar esse nome de exibição sozinho (chamado de invocação principal) ou em combinação com frases de link direto opcionais para invocar suas ações.
Por exemplo, os usuários podem dizer as frases abaixo para invocar três Ações separadas em um projeto com o nome de exibição "Fatos sobre o Google":
"Ok Google, falar com Fatos sobre o Google"
"Ok Google, fale com o Facts about Google para receber informações da empresa"
"Ok Google, fale com Facts about Google para receber fatos históricos"
A primeira invocação no exemplo é a invocação principal. Essa invocação está associada a uma intent especial de sistema chamada actions.intent.MAIN. A segunda e a terceira são invocações de links diretos que permitem especificar frases adicionais para que os usuários solicitem uma funcionalidade específica. Essas invocações correspondem às intents de usuário que você designou como globais. Cada invocação neste exemplo fornece um ponto de entrada em uma conversa e corresponde a uma única ação.
Figura 2. Exemplo de invocação principal.
A Figura 2 descreve um fluxo de invocação principal típico:
Quando os usuários solicitam uma ação, eles geralmente pedem ao Google Assistente pelo seu nome de exibição.
O Google Assistente associa a solicitação do usuário à intent correspondente que corresponde à solicitação. Nesse caso, é actions.intent.MAIN.
A ação é notificada da correspondência da intent e responde com a solicitação correspondente para iniciar uma conversa com o usuário.
Conversa
A conversa define como os usuários interagem com uma ação depois que ela é invocada. Você cria essas interações definindo a entrada válida do usuário para sua conversa, a lógica para processar essa entrada e as solicitações correspondentes para responder ao usuário com elas. A figura e a explicação a seguir mostram como uma conversa típica funciona com os componentes de baixo nível de uma conversa: intents, tipos, cenas e solicitações.
Figura 3. Exemplo de uma conversa
A Figura 3 descreve uma conversa típica:
Quando o usuário diz algo, o PLN do Google Assistente associa a entrada a uma intent adequada. Uma intent será escolhida se o modelo de idioma dela tiver uma correspondência próxima ou exata com a entrada do usuário. Você define o modelo de linguagem especificando frases de treinamento ou exemplos de frases que os usuários podem querer dizer. O Google Assistente analisa essas frases de treinamento para criar o modelo de linguagem da intent.
Quando o PLN do Google Assistente corresponde a uma intent, ele pode extrair os parâmetros necessários da entrada. Esses parâmetros têm tipos associados a eles, como uma data ou um número. Anote partes específicas das frases de treinamento de uma intent para especificar quais parâmetros você quer extrair.
Em seguida, uma cena processa a intent correspondente. Pense nas cenas como os executores lógicos de uma ação, que fazem o trabalho pesado e a lógica necessária para levar uma conversa adiante. Os cenários são executados em loop, proporcionando um ciclo de vida de execução flexível que permite realizar tarefas como validar parâmetros de intent, preencher slots, enviar solicitações de volta ao usuário e muito mais.
Quando a execução de uma cena termina, ela geralmente envia uma solicitação de volta aos usuários para continuar a conversa ou pode encerrá-la, se apropriado.
Fulfillment
Durante a invocação ou uma conversa, sua ação pode acionar um webhook que notifica um serviço de fulfillment para realizar algumas tarefas.
Figura 4. Exemplo de uma conversa
A Figura 4 descreve como usar o fulfillment para gerar comandos, uma maneira comum de usar o fulfillment:
Em pontos específicos da execução da ação, ela pode acionar um webhook que envia uma solicitação para um gerenciador de webhook registrado (seu serviço de fulfillment) com um payload JSON.
O fulfillment processa a solicitação, como chamar uma API REST para realizar pesquisas de dados ou validar alguns dados do payload JSON. Uma maneira muito comum de usar o fulfillment é gerar um comando dinâmico no momento da execução para que suas conversas fiquem mais personalizadas para o usuário atual.
O fulfillment retorna uma resposta para a ação que contém um payload JSON. Ele pode usar os dados do payload para continuar a execução e responder ao usuário.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-26 UTC."],[[["\u003cp\u003eConversational Actions extend Google Assistant, letting you create conversational interfaces for your services using natural language understanding.\u003c/p\u003e\n"],["\u003cp\u003eActions are invoked by users through specific phrases, triggering a conversation flow defined by intents, types, scenes, and prompts.\u003c/p\u003e\n"],["\u003cp\u003eFulfillment webhooks can be used to enhance Actions by validating data, calling external services, and generating dynamic prompts during conversations.\u003c/p\u003e\n"],["\u003cp\u003eActions are grouped within an Actions project which manages the invocation model and overall conversation flow.\u003c/p\u003e\n"]]],["Conversational Actions enable interactions with Google Assistant via natural language. Users initiate these interactions through **invocations**, using a display name or deep links. **Conversations** follow, where Assistant's NLU matches user input to **intents**, extracting **parameters**. **Scenes** then process these intents, executing logic and sending **prompts**. **Fulfillment** services handle tasks like data validation or dynamic prompt generation through webhooks, allowing actions to interact with web services and tailor responses. An **Actions project** bundles actions together.\n"],null,["Conversational Actions let you extend Google Assistant with your own\nconversational interfaces that give users access to your products and\nservices. Actions leverage Assistant's powerful natural language\nunderstanding (NLU) engine to process and understand natural language input\nand carry out tasks based on that input.\n\nOverview\n\nA Conversational Action is a simple object that defines an\nentry point (referred to as invocation) into a conversation:\n\n- An **invocation** defines how users tell Assistant they want to start a conversation with one of your Actions. An Action's invocation is defined by a single [intent](/assistant/conversational/intents) that gets matched when users request the Action.\n- A **conversation** defines how users interact with an Action after it's invoked. You build conversations with [intents](/assistant/conversational/intents), [types](/assistant/conversational/types), [scenes](/assistant/conversational/scenes), and [prompts](/assistant/conversational/prompts).\n- In addition, your Actions can delegate extra work to **fulfillment**, which are web services that communicate with your Actions via webhooks. This lets you do data validation, call other web services, carry out business logic, and more.\n\nYou bundle one or many Actions together, based on the use cases that are\nimportant for your users, into a logical container called an Actions project.\nYour Actions project contains your entire invocation model (the collection of\nall your invocations), which lets users start at logical places in your\nconversation model (all the possible things users can say and all the possible\nways you respond back to users).\n**Figure 1** . A collection of Actions that serve as entry points into a conversation model. Intents that are eligible for invocation are considered to be *global*.\n\nInvocation\n\nInvocation is associated with a **display name** that represents a brand,\nname, or persona that lets users ask Assistant to invoke your Actions.\nUsers can use this display name on its own (called the main invocation) or in\ncombination with optional, **deep link** phrases to invoke your Actions.\n\nFor example, users can say the following phrases to invoke three separate\nActions in an project with a display name of \"Facts about Google\":\n\n- *\"Ok Google, talk to Facts about Google\"*\n- *\"Ok Google, talk to Facts about Google to get company facts\"*\n- *\"Ok Google, talk to Facts about Google to get history facts\"*\n\nThe first invocation in the example is the **main invocation** . This\ninvocation is associated with a special system intent named\n`actions.intent.MAIN`. The second and third invocations are deep link\ninvocations that let you specify additional phrases that let users ask for\nspecific functionality. These invocations correspond to user intents that you\ndesignated as global. Each invocation in this example provides an entry point\ninto a conversation and corresponds to a single Action.\n**Figure 2**. Example of main invocation\n\nFigure 2 describes a typical main invocation flow:\n\n1. When users request an Action, they typically ask Assistant for it by your display name.\n2. Assistant matches the user's request with the corresponding intent that matches the request. In this case, it would be `actions.intent.MAIN`.\n3. The Action is notified of the intent match and responds with the corresponding prompt to start a conversation with the user.\n\nConversation\n\nConversation defines how users interact with an Action after it's invoked. You\nbuild these interactions by defining the valid user input for your\nconversation, the logic to process that input, and the corresponding prompts\nto respond back to the user with. The following figure and explanation shows\nyou how a typical conversation turn works with a conversation's low level\ncomponents: [intents](/assistant/conversational/intents), [types](/assistant/conversational/types), [scenes](/assistant/conversational/scenes), and\n[prompts](/assistant/conversational/prompts).\n**Figure 3**. Example of a conversation\n\nFigure 3 describes a typical conversation turn:\n\n1. When users say something, the Assistant NLU matches the input to an appropriate intent. An intent is matched if the *language model* for that intent can closely or exactly match the user input. You define the language model by specifying *training phrases*, or examples of things users might want to say. Assistant takes these training phrases and expands upon them to create the intent's language model.\n2. When the Assistant NLU matches an intent, it can extract *parameters* that you need from the input. These parameters have *types* associated with them, such as a date or number. You annotate specific parts of an intent's training phrases to specify what parameters you want to extract.\n3. A *scene* then processes the matched intent. You can think of scenes as the logic executors of an Action, doing the heavy lifting and carrying out logic necessary to drive a conversation forward. Scenes run in a loop, providing a flexible execution lifecycle that lets you do things like validate intent parameters, do slot filling, send prompts back to the user, and more.\n4. When a scene is done executing, it typically sends a prompt back to users to continue the conversation or can end the conversation if appropriate.\n\nFulfillment\n\nDuring invocation or a conversation, your Action can trigger a webhook that\nnotifies a fulfillment service to carry out some tasks.\n**Figure 4**. Example of a conversation\n\nFigure 4 describes how you can use fulfillment to generate prompts, a common\nway to use fulfillment:\n\n1. At specific points of your Action's execution, it can trigger a webhook that sends a request to a registered webhook handler (your fulfillment service) with a JSON payload.\n2. Your fulfillment processes the request, such as calling a REST API to do some data lookup or validating some data from the JSON payload. A very common way to use fulfillment is to generate a dynamic prompt at runtime so your conversations are more tailored to the current user.\n3. Your fulfillment returns a response back to your Action containing a JSON payload. It can use the data from the payload to continue it's execution and respond back to the user."]]