Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
As ações são pontos de entrada no app que definem a invocação e a descoberta.
para seu app. Você declara ações em um arquivo JSON conhecido como pacote de ações.
e depois enviá-los ao seu projeto de desenvolvedor quando quiser testar ou
enviar seu projeto do Actions para aprovação. Um pacote de ação é um arquivo JSON
define as ações no seu projeto.
Para definir ações no seu pacote de ações, crie uma intent que defina como
a ação é invocada e o endpoint de fulfillment correspondente para quando
é acionada. É possível criar os seguintes tipos de ações:
Ação padrão:todo projeto do Actions precisa ter uma intent de boas-vindas que aja
como ponto de entrada para os usuários iniciarem conversas. A intent de boas-vindas é
acionada quando os usuários invocam explicitamente uma ação ao expressar o nome dela (por
por exemplo: "Ok Google, falar com ExampleAction"). Essa intent de boas-vindas é identificada
o nome da intent actions.intent.MAIN.
Outras ações para links diretos:você pode criar outras ações no
seu pacote de ações com intents definidas por você. Isso permite que os usuários
invocar uma funcionalidade específica dizendo o nome de uma ação junto com uma intent
Por exemplo: "Ok Google, fale com ExampleAction para encontrar sapatos".
Consulte Intents e invocação para saber mais.
esses modelos de invocação funcionam.
Definir uma ação padrão
Cada pacote de ações precisa ter apenas uma intent que processe o
actions.intent.MAIN. Essa intent é acionada quando os usuários invocam
Ação pelo nome (por exemplo, "Ok Google, falar com ExampleAction").
Para gerar um arquivo de pacote de ação padrão chamado action.json, pegue o
etapas a seguir:
Crie um diretório local para os arquivos de origem do seu projeto do Action.
Execute estes comandos no terminal:
$cdPROJECT_DIRECTORY
$gactionsinit
Depois que o arquivo do pacote de ações for gerado, substitua o conteúdo do marcador pelo seu
e a distribuição dos valores dos dados. Confira um exemplo de action.json com mudanças para ExampleAction:
É possível fornecer ações adicionais que funcionam como pontos de entrada. Isso permite que os usuários
sem ambiguidade da intenção, permitindo que especifiquem mais detalhes sobre o que
fazer. Por exemplo, "Ok Google, fale com a ExampleAction para
sapatos.").
Para definir outras ações:
Na matriz actions, especifique uma ação para cada ponto de entrada.
Por exemplo, o código a seguir mostra uma opção de "comprar" adicional Ação que define:
O nome de uma intent de com.example.ExampleAction.BUY
parameters para analisar a entrada do usuário quando essa intent for acionada.
Isso é útil se você precisar de dados específicos da frase "Ação" quando
os usuários invocam a ação.
queryPatterns, que definem o que os usuários precisam dizer para acionar a intent.
Os padrões de consulta podem incluir tipos Schema.org
que definem os parâmetros para análise.
{"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"]}}}
Especifique o fulfillment dessa intent especificando um conversationName
que corresponde a um item no 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 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\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```"]]