Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Las acciones son puntos de entrada a tu app que definen la invocación y el descubrimiento.
para tu app. Declaras acciones en un archivo JSON conocido como el paquete de acciones.
que luego subirás a tu proyecto de desarrollador cuando quieras probar o
envía tu proyecto de Acciones para su aprobación. El paquete Action es un archivo JSON que
Define las acciones en tu proyecto de acciones.
Para definir acciones en tu paquete de acciones, debes crear un intent que defina cómo
se invoca la Acción y el extremo de entrega correspondiente para cuando
se activa el intent. Puedes crear los siguientes tipos de acciones:
Acción predeterminada: Todos los proyectos de acciones deben tener un intent de bienvenida que actúe
como punto de entrada para que los usuarios inicien conversaciones. El intent de bienvenida es
se activa cuando los usuarios invocan explícitamente una acción pronunciando su nombre (por
por ejemplo, "Hey Google, habla con AcciónDeEjemplo"). Este intent de bienvenida se identifica con
el nombre del intent actions.intent.MAIN
Acciones adicionales para la vinculación directa: Puedes crear Acciones adicionales en
el paquete Action con intents que tú definas. Esto permite que los usuarios
para invocar una funcionalidad específica con solo decir un nombre de Acción junto con un intent
(por ejemplo: "Hey Google, habla con AcciónDeEjemplo para buscar unos zapatos").
Consulta Intents y invocación para obtener más información sobre cómo
funcionan estos modelos de invocación.
Cómo definir una acción predeterminada
Cada paquete de acción debe tener un único intent que controle las
actions.intent.MAIN. Este intent se activa cuando los usuarios invocan tu
Acción por nombre (por ejemplo, "Hey Google, habla con AcciónDeEjemplo").
Para generar un archivo de paquete de acción estándar llamado action.json, toma la siguiente información:
los siguientes pasos:
Crea un directorio local para los archivos fuente de tu proyecto de acción.
Ejecuta los siguientes comandos en la terminal:
$cdPROJECT_DIRECTORY
$gactionsinit
Una vez que se genere el archivo del paquete de acciones, reemplaza el contenido del marcador de posición por tu
de salida. Este es un ejemplo de action.json con cambios para ExampleAction:
Puedes proporcionar Acciones adicionales que actúen como puntos de entrada. Esto permite que los usuarios
desambiguar su intención al permitirles especificar más detalles sobre lo que
lo que quieres hacer (por ejemplo, "Hey Google, habla con ExampleAction para encontrarme
zapatos”.).
Para definir Acciones adicionales, sigue estos pasos:
En el array actions, especifica una acción para cada punto de entrada.
Por ejemplo, el siguiente código muestra una “compra” adicional Acción que define lo siguiente:
Un nombre de intent de com.example.ExampleAction.BUY
parameters para analizar la entrada del usuario cuando se activa este intent
Esto es útil si necesitas datos específicos de la frase Acción cuando
los usuarios invoquen la acción.
queryPatterns que definen lo que los usuarios deben decir para activar el intent.
Los patrones de consulta pueden incluir tipos de Schema.org.
que definen los parámetros para analizar.
{"description":"Direct access","name":"BUY","fulfillment":{"conversationName":"ExampleAction"},"intent":{"name":"com.example.ExampleAction.BUY","parameters":[{"name":"color","type":"org.schema.type.Color"}],"trigger":{"queryPatterns":["find some $org.schema.type.Color:color sneakers","buy some blue suede shoes","get running shoes"]}}}
Para especificar la entrega de este intent, especifica un conversationName
que corresponde a un elemento del objeto conversations.
{"actions":[{"description":"Default welcome intent","name":"MAIN","fulfillment":{"conversationName":"ExampleAction"},"intent":{"name":"actions.intent.MAIN","trigger":{"queryPatterns":["talk to ExampleAction"]}}},{"description":"Direct access","name":"BUY","fulfillment":{"conversationName":"ExampleAction"},"intent":{"name":"com.example.ExampleAction.BUY","parameters":[{"name":"color","type":"org.schema.type.Color"}],"trigger":{"queryPatterns":["find some $org.schema.type.Color:color sneakers","buy some blue suede shoes","get running shoes"]}}}],"conversations":{"ExampleAction":{"name":"ExampleAction","url":"https://www.example.com/ExampleAction"}},"locale":"en"}
[[["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\u003eActions define how users invoke your app and are declared in a JSON file called the Action package.\u003c/p\u003e\n"],["\u003cp\u003eEvery Action package requires a default Action triggered by the \u003ccode\u003eactions.intent.MAIN\u003c/code\u003e intent, serving as the primary entry point.\u003c/p\u003e\n"],["\u003cp\u003eYou can define additional Actions for deep linking, enabling users to access specific app functionalities directly.\u003c/p\u003e\n"],["\u003cp\u003eActions utilize intents, query patterns, and fulfillment endpoints to process user requests and deliver responses.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egactions\u003c/code\u003e CLI helps generate and manage the Action package file for your Actions project.\u003c/p\u003e\n"]]],[],null,["# Define Actions (Dialogflow)\n\nActions are entry points into your app that define the [invocation and discovery](/assistant/df-asdk/discovery)\nmodel for your app. You declare Actions in a JSON file known as the [Action package](/assistant/df-asdk/reference/action-package/rest/Shared.Types/ActionPackage),\nwhich you later upload to your developer project when you want to test or\nsubmit your Actions project for approval. An Action package is a JSON file that\ndefines the Actions in your Actions project.\n\nTo define Actions in your Action package, you create an intent that defines how\nthe Action is invoked and the corresponding fulfillment endpoint for when the\nintent is triggered. You can create the following types of Actions:\n\n- **Default Action:** Every Actions project must have a welcome intent that acts as an entry point for users to start conversations. The welcome intent is triggered when users explicitly invoke an Action by uttering its name (for example, *\"Hey Google, talk to ExampleAction\"* ). This welcome intent is identified with the `actions.intent.MAIN` intent name.\n- **Additional Actions for deep-linking:** You can create additional Actions in your Action package with intents that you define yourself. This allows users to invoke specific functionality by saying an Action name along with an intent (for example: *\"Hey Google, talk to ExampleAction to find some shoes\"*).\n\nSee [Intents and invocation](/assistant/df-asdk/discovery) for more information on how\nthese invocation models work.\n\nDefine a default Action\n-----------------------\n\nEvery Action package must have one and only one intent that handles the\n`actions.intent.MAIN` intent. This intent is triggered when users invoke your\nAction by name (for example, *\"Hey Google, talk to ExampleAction\"*).\n| **Note:** You specify your Action name in the project, when you submit your Action package for approval. During testing, you invoke your Action by saying *\"talk\n| to my test app\"*.\n\nTo generate a boilerplate Action package file named `action.json`, take the\nfollowing steps:\n\n1. Download the [`gactions` CLI](/assistant/df-asdk/actions-sdk/gactions-cli).\n2. Create a local directory for your Action project's source files.\n3. Run the following commands in the terminal:\n\n ```bash\n $ cd PROJECT_DIRECTORY\n $ gactions init\n ```\n\nOnce the Action package file is generated, replace placeholder content with your\nvalues. Here's an example of `action.json` with changes for `ExampleAction`: \n\n```text\n{\n \"actions\": [\n {\n \"description\": \"Default welcome intent\",\n \"name\": \"MAIN\",\n \"fulfillment\": {\n \"conversationName\": \"ExampleAction\"\n },\n \"intent\": {\n \"name\": \"actions.intent.MAIN\",\n \"trigger\": {\n \"queryPatterns\": [\n \"talk to ExampleAction\"\n ]\n }\n }\n }\n ],\n \"conversations\": {\n \"ExampleAction\": {\n \"name\": \"ExampleAction\",\n \"url\": \"https://www.example.com/ExampleAction\"\n }\n },\n \"locale\": \"en\"\n}\n```\n\nDefine additional Actions\n-------------------------\n\nYou can provide additional Actions that act as entry points. This lets users\ndisambiguate their intent by letting them specify more details about what they\nwant to do (for example, *\"Hey Google, talk to ExampleAction to find me some\nshoes.\"*).\n\nTo define additional Actions:\n\n1. In the `actions` array, specify an Action for every entry point.\n\n For example, the following code shows an additional \"buy\" Action that defines:\n - An intent name of `com.example.ExampleAction.BUY`\n - `parameters` to parse from the user input when this intent is triggered. This is useful if you need specific data from the Action phrase when users invoke the Action.\n - `queryPatterns` that define what users need to say to trigger the intent. [Query patterns](/assistant/df-asdk/reference/action-package/QueryPatterns) can include Schema.org types that define parameters to parse.\n\n ```carbon\n {\n \"description\": \"Direct access\",\n \"name\": \"BUY\",\n \"fulfillment\": {\n \"conversationName\": \"ExampleAction\"\n },\n \"intent\": {\n \"name\": \"com.example.ExampleAction.BUY\",\n \"parameters\": [\n {\n \"name\": \"color\",\n \"type\": \"org.schema.type.Color\"\n }\n ],\n \"trigger\": {\n \"queryPatterns\": [\n \"find some $org.schema.type.Color:color sneakers\",\n \"buy some blue suede shoes\",\n \"get running shoes\"\n ]\n }\n }\n }\n \n ```\n| Note: We recommend around 10 `queryPatterns` phrases for each intent. These query patterns are used by Google for Action ranking and discovery. They should be representative of your Action's capabilities and indicate how users might want to invoke your Actions.\n2. Specify the fulfillment for this intent by specifying a `conversationName`\n that corresponds to an item in the `conversations` object.\n\n ```text\n {\n \"conversations\": {\n \"ExampleAction\": {\n \"name\": \"ExampleAction\",\n \"url\": \"https://www.example.com/ExampleAction\"\n }\n }\n }\n \n ```\n| Note: You typically will only need one fulfillment endpoint, but Action packages support many.\n\nHere's an example of a full Action package: \n\n```carbon\n{\n \"actions\": [\n {\n \"description\": \"Default welcome intent\",\n \"name\": \"MAIN\",\n \"fulfillment\": {\n \"conversationName\": \"ExampleAction\"\n },\n \"intent\": {\n \"name\": \"actions.intent.MAIN\",\n \"trigger\": {\n \"queryPatterns\": [\n \"talk to ExampleAction\"\n ]\n }\n }\n },\n {\n \"description\": \"Direct access\",\n \"name\": \"BUY\",\n \"fulfillment\": {\n \"conversationName\": \"ExampleAction\"\n },\n \"intent\": {\n \"name\": \"com.example.ExampleAction.BUY\",\n \"parameters\": [\n {\n \"name\": \"color\",\n \"type\": \"org.schema.type.Color\"\n }\n ],\n \"trigger\": {\n \"queryPatterns\": [\n \"find some $org.schema.type.Color:color sneakers\",\n \"buy some blue suede shoes\",\n \"get running shoes\"\n ]\n }\n }\n }\n ],\n \"conversations\": {\n \"ExampleAction\": {\n \"name\": \"ExampleAction\",\n \"url\": \"https://www.example.com/ExampleAction\"\n }\n },\n \"locale\": \"en\"\n}\n```"]]