Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Le azioni conversazionali ti consentono di estendere l'Assistente Google con le tue
interfacce di conversazione che forniscono agli utenti l'accesso ai tuoi prodotti e
servizi. Le azioni sfruttano il potente motore di comprensione del linguaggio naturale (NLU) dell'assistente per elaborare e comprendere l'input di linguaggio naturale ed eseguire attività basate su questi input.
Panoramica
Un'azione conversazionale è un oggetto semplice che definisce un punto di ingresso (chiamato) in una conversazione:
Una chiamata definisce il modo in cui gli utenti dicono all'assistente di voler avviare una
conversazione con una delle tue azioni. La chiamata di una Azione è definita da un singolo intent che viene abbinato quando gli utenti richiedono l'Azione.
Una conversazione definisce il modo in cui gli utenti interagiscono con un'azione dopo
che viene richiamata. Puoi creare conversazioni con intent, tipi,
scene e messaggi.
Inoltre, le azioni possono delegare il lavoro aggiuntivo a fulfillment, che sono servizi web che comunicano con le azioni tramite webhook. Ciò ti consente di eseguire la convalida dei dati, chiamare altri servizi web, eseguire la logica di business e altro ancora.
Puoi raggruppare una o più azioni, in base ai casi d'uso importanti per i tuoi utenti, in un container logico chiamato progetto Actions.
Il progetto Actions contiene l'intero modello di chiamata (la raccolta di tutte le chiamate), che consente agli utenti di iniziare da punti logici nel modello di conversazione (tutte le cose che gli utenti possono dire e tutti i modi possibili con cui rispondi agli utenti).
Figura 1. Una raccolta di azioni che fungono da punti di ingresso in un modello di conversazione. Gli intent idonei per le chiamate sono considerati globali.
Chiamata
La chiamata è associata a un nome visualizzato che rappresenta un brand, un nome o un utente tipo che consente agli utenti di chiedere all'assistente di richiamare le tue azioni.
Gli utenti possono utilizzare questo nome visualizzato da solo (chiamato principale) o in
combinazione con frasi facoltative di link diretto per richiamare le azioni.
Ad esempio, gli utenti possono pronunciare le seguenti frasi per richiamare tre diverse azioni
in un progetto con il nome visualizzato "Facts su Google":
"Hey Google, parla con Facts su Google"
"Hey Google, parla con Facts su Google per ottenere informazioni sull'azienda"
"Hey Google, parla con Facts su Google per ottenere informazioni sulla storia"
La prima chiamata nell'esempio è la chiamata principale. Questa chiamata è associata a un intent di sistema speciale denominato actions.intent.MAIN. La seconda e la terza chiamata sono chiamate di link diretto che consentono di specificare frasi aggiuntive che consentono agli utenti di richiedere funzionalità specifiche. Queste chiamate corrispondono agli intent utente che hai
classificato come globali. Ogni chiamata in questo esempio fornisce un punto di ingresso
in una conversazione e corrisponde a una singola azione.
Figura 2. Esempio della chiamata principale
La Figura 2 descrive un tipico flusso di chiamata principale:
Quando gli utenti richiedono un'Azione, in genere chiedono all'assistente di farlo
con il tuo nome visualizzato.
L'assistente associa la richiesta dell'utente all'intent corrispondente
che corrisponde alla richiesta. In questo caso, è actions.intent.MAIN.
L'Azione riceve una notifica relativa alla corrispondenza dell'intent e risponde con la richiesta corrispondente per avviare una conversazione con l'utente.
Dialogo
La conversazione definisce il modo in cui gli utenti interagiscono con un'azione dopo che è stata richiamata. Per creare queste interazioni, definisci l'input utente valido per la conversazione, la logica per l'elaborazione dell'input e i prompt corrispondenti con cui rispondere all'utente. La figura e la spiegazione seguenti mostrano come funziona un tipico turno di conversazione con i componenti di basso livello di una conversazione: intent, tipi, scene e messaggi.
Figura 3. Esempio di una conversazione
La figura 3 descrive un tipico turno di conversazione:
Quando gli utenti dicono qualcosa, la NLU dell'assistente abbina l'input a un
intent appropriato. Un intent viene abbinato se il modello linguistico per quell'intent
può corrispondere esattamente o esattamente all'input dell'utente. Puoi definire il modello linguistico specificando frasi di addestramento o esempi di cose che gli utenti potrebbero voler dire. L'assistente prende queste frasi di addestramento e le espande per
creare il modello linguistico dell'intent.
Quando l'NLU dell'assistente corrisponde a un intent, può estrarre i parametri necessari dall'input. A questi parametri sono associati dei tipi, come una data o un numero. Puoi annotare parti specifiche delle frasi di addestramento di un intent per specificare quali parametri vuoi estrarre.
Una scena elabora quindi l'intent corrispondente. Puoi pensare alle scene come agli esecutori logici di un'Azione, che svolgono il lavoro pesante e svolgono la logica necessaria per portare avanti una conversazione. Le scene vengono eseguite in un loop, fornendo un ciclo di vita dell'esecuzione flessibile che ti consente di eseguire operazioni come convalidare i parametri di intent, completare gli slot, inviare prompt all'utente e altro ancora.
Al termine dell'esecuzione di una scena, in genere viene inviata agli utenti una richiesta per continuare la conversazione o, se opportuno, può terminare la conversazione.
Evasione dell'ordine
Durante la chiamata o una conversazione, l'Azione può attivare un webhook che informa un servizio di fulfillment per eseguire alcune attività.
Figura 4. Esempio di una conversazione
La Figura 4 descrive come utilizzare il fulfillment per generare prompt, un modo comune per utilizzare il fulfillment:
In punti specifici dell'esecuzione dell'Azione, può attivare un webhook che invia una richiesta a un gestore di webhook registrato (il servizio di fulfillment) con un payload JSON.
Il fulfillment elabora la richiesta, ad esempio chiamando un'API REST per eseguire
alcune ricerche di dati o convalidando alcuni dati dal payload JSON. Un modo molto comune per utilizzare il fulfillment è generare un prompt dinamico in fase di runtime, in modo che le conversazioni siano più personalizzate in base all'utente corrente.
Il fulfillment restituisce una risposta all'Azione contenente un payload JSON. Può utilizzare i dati del payload per continuare l'esecuzione e rispondere all'utente.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]