Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Las acciones de conversación te permiten ampliar Asistente de Google con tus propias interfaces conversacionales que brindan a los usuarios acceso a tus productos y servicios. Las acciones aprovechan el potente motor de comprensión del lenguaje natural (CLN) de Asistente para procesar y comprender las entradas de lenguaje natural y realizar tareas basadas en esa entrada.
Descripción general
Una acción de conversación es un objeto simple que define un punto de entrada (denominado invocación) en una conversación:
Una invocación define cómo los usuarios le dicen a Asistente que quieren iniciar una conversación con una de tus Acciones. La invocación de una Acción se define mediante un solo intent que se detecta cuando los usuarios solicitan la acción.
Una conversación define cómo los usuarios interactúan con una acción después de que se la invoca. Las conversaciones se compilan con intents, tipos, escenas y mensajes.
Además, tus acciones pueden delegar trabajo adicional a las entregas, que son servicios web que se comunican con tus acciones a través de webhooks. Esto te permite realizar la validación de datos, llamar a otros servicios web, llevar a cabo la lógica empresarial y mucho más.
Se agrupan una o varias acciones, según los casos prácticos que son importantes para los usuarios, en un contenedor lógico llamado proyecto de Acciones.
Tu proyecto de acciones contiene todo tu modelo de invocación (la colección de todas tus invocaciones), que permite a los usuarios comenzar en lugares lógicos en tu modelo de conversación (todo lo que los usuarios pueden decir y todas las formas posibles en las que puedes responderles).
Figura 1: Una colección de acciones que funcionan como puntos de entrada en un modelo de conversación. Los intents aptos para la invocación se consideran globales.
Invocación
La invocación se asocia con un nombre visible que representa una marca, un nombre o un arquetipo que permite a los usuarios pedirle al Asistente que invoque tus acciones.
Los usuarios pueden usar este nombre visible por sí solo (llamado invocación principal) o en
combinación con frases opcionales de vínculo directo para invocar tus acciones.
Por ejemplo, los usuarios pueden decir las siguientes frases para invocar tres acciones distintas en un proyecto con el nombre visible "Datos sobre Google":
"Hey Google, habla con Datos sobre Google"
"Hey Google, habla con Datos sobre Google para obtener datos sobre la empresa"
"Hey Google, habla con Datos sobre Google para obtener datos históricos"
La primera invocación del ejemplo es la invocación principal. Esta invocación está asociada con un intent del sistema especial llamado actions.intent.MAIN. La segunda y la tercera invocación son invocaciones de vínculos directos que te permiten especificar frases adicionales que permiten a los usuarios solicitar funcionalidades específicas. Estas invocaciones corresponden a los intents de usuario que designaste como globales. Cada invocación de este ejemplo proporciona un punto de entrada a una conversación y corresponde a una sola Acción.
Figura 2: Ejemplo de invocación principal
En la Figura 2, se describe un flujo de invocación principal típico:
Cuando los usuarios solicitan una acción, por lo general, se la piden al Asistente usando tu nombre visible.
Asistente asocia la solicitud del usuario con el intent correspondiente que coincide con la solicitud. En este caso, sería actions.intent.MAIN.
La acción recibe una notificación sobre la coincidencia del intent y responde con el mensaje correspondiente para iniciar una conversación con el usuario.
Conversación
La conversación define cómo interactúan los usuarios con una acción después de que se la invoca. A fin de crear estas interacciones, define la entrada del usuario válida para la conversación, la lógica para procesar esa entrada y los mensajes correspondientes con los que responder al usuario. En la siguiente figura y explicación, se muestra cómo funciona un turno típico de conversación con los componentes de bajo nivel de una conversación: intents, tipos, escenas y mensajes.
Figura 3: Ejemplo de conversación
En la Figura 3, se describe un turno típico de conversación:
Cuando los usuarios dicen algo, la CLN de Asistente asocia la entrada con un intent adecuado. Un intent coincide si su modelo de lenguaje para ese intent puede coincidir de manera cercana o exacta con la entrada del usuario. Para definir el modelo de lenguaje, debes especificar frases de entrenamiento o ejemplos de lo que los usuarios podrían querer decir. Asistente toma estas frases de entrenamiento y las expande para crear el modelo de idioma del intent.
Cuando la CLN de Asistente establece una coincidencia con un intent, puede extraer parámetros que necesitas de la entrada. Estos parámetros tienen tipos asociados, como una fecha o un número. Debes anotar partes específicas de las frases de entrenamiento de un intent para especificar qué parámetros deseas extraer.
Luego, una escena procesa el intent coincidente. Puedes pensar en las escenas como los ejecutores lógicos de una acción, que realizan el trabajo pesado y llevan a cabo la lógica necesaria para impulsar una conversación. Las escenas se ejecutan en bucle, lo que proporciona un ciclo de vida de ejecución flexible que te permite realizar acciones como validar parámetros de intents, completar ranuras, enviar mensajes al usuario y mucho más.
Cuando termina de ejecutarse una escena, por lo general, vuelve a enviar un mensaje a los usuarios para que continúen la conversación o puede finalizarla si corresponde.
Entrega
Durante la invocación o una conversación, tu Acción puede activar un webhook que notifica a un servicio de entrega para que realice algunas tareas.
Figura 4: Ejemplo de conversación
En la Figura 4, se describe cómo puedes usar la entrega para generar mensajes, una forma común de usar la entrega:
En puntos específicos de la ejecución de tu Acción, puede activar un webhook que envíe una solicitud a un controlador de webhooks registrado (tu servicio de entrega) con una carga útil de JSON.
Tu entrega procesa la solicitud, como llamar a una API de REST para buscar datos o validar algunos datos de la carga útil de JSON. Una forma muy común de usar las entregas es generar una instrucción dinámica durante el tiempo de ejecución para que tus conversaciones se adapten mejor al usuario actual.
Tu entrega muestra una respuesta a tu acción que contiene una carga útil de JSON. Puede usar los datos de la carga útil para continuar con su ejecución y responder al usuario.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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--------\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----------\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------------\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-----------\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."]]