Crea un componente aggiuntivo di Google Chat con Dialogflow ES

Questa pagina spiega come creare un'app Google Chat come componente aggiuntivo di Google Workspace che utilizza Dialogflow ES per comprendere e rispondere al linguaggio naturale. Puoi anche utilizzare Dialogflow CX, che ha un'integrazione diretta con Google Chat, per creare un'app Google Chat di Dialogflow CX seguendo la guidadi Google Chat di Dialogflow CX.

Obiettivi

  • Configurare l'ambiente.
  • Creare ed eseguire il deployment di un agente Dialogflow ES.
  • Creare ed eseguire il deployment di un'app di chat basata sull'agente Dialogflow ES.
  • Testare l'app di chat.

Prerequisiti

Architettura

Il seguente diagramma mostra l'architettura di un'app di chat creata con Dialogflow:

Architettura di un'app di chat implementata con Dialogflow.

Nel diagramma precedente, un utente che interagisce con un'app di chat di Dialogflow ha il seguente flusso di informazioni:

  1. Un utente invia un messaggio in Chat a un'app di chat, tramite un messaggio diretto o in uno spazio di Chat.
  2. Un agente virtuale di Dialogflow, che risiede in , riceve ed elabora il messaggio per produrre una risposta.
  3. Facoltativamente, utilizzando un webhook di Dialogflow, l'agente Dialogflow può interagire con servizi esterni di terze parti, come un sistema di gestione dei progetti o uno strumento di gestione dei ticket.
  4. L'agente Dialogflow invia una risposta al servizio dell'app di chat in Chat.
  5. La risposta viene inviata allo spazio di Chat.

Configurare l'ambiente

Prima di utilizzare le API di Google, devi attivarle in un progetto Google Cloud. Puoi attivare una o più API in un singolo progetto Google Cloud.
  1. Nella console API di Google, attiva l'API Google Chat e l'API Dialogflow.

    Abilita le API

  2. Verifica di aver attivato le API nel progetto Cloud corretto, quindi fai clic su Avanti.

  3. Verifica di aver attivato le API corrette, quindi fai clic su Attiva.

Creare un agente Dialogflow ES

Se non hai un agente Dialogflow ES esistente:

  1. Vai alla console di Dialogflow ES.
  2. Fai clic su Crea agente.
  3. Assegna un nome, seleziona una lingua predefinita e un fuso orario.
  4. Associalo al tuo progetto Cloud.
  5. Fai clic su Crea.
  6. Crea gli intent e le entità in base alle esigenze del flusso conversazionale dell'app di chat. Puoi iniziare con un intent di saluto.
  7. Prendi nota dell'ID progetto.

Per una guida dettagliata, consulta Creare un agente.

Creare un'app di chat e collegarla all'agente Dialogflow

Dopo aver creato un agente Dialogflow ES, segui questi passaggi per trasformarlo in un'app di chat:

  1. Nella console API di Google, vai all'API Google Chat. Cerca "API Google Chat" e fai clic su API Google Chat, quindi fai clic su Gestisci.

    Vai all'API Chat

  2. Fai clic su Configurazione e configura l'app di chat:

    1. In Nome app, inserisci Dialogflow App.
    2. In URL avatar, inserisci https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.
    3. In Descrizione, inserisci Responds to real human conversation.
    4. In Funzionalità, seleziona Partecipa a spazi e conversazioni di gruppo.
    5. In Impostazioni di connessione, seleziona Dialogflow.
    6. In Impostazioni di Dialogflow, seleziona Dialogflow ES.
    7. Rendi disponibile l'app di chat a utenti e gruppi specifici nel tuo dominio e inserisci il tuo indirizzo email.
    8. In Log, seleziona Registra gli errori in Logging.
  3. Fai clic su Salva.

L'app di chat è pronta a ricevere e rispondere ai messaggi in Chat.

Testare l'app di chat

Testa l'app di chat di Dialogflow ES inviandole un messaggio in Google Chat.

  1. Apri Google Chat utilizzando l'account Google Workspace che hai fornito quando ti sei aggiunto come tester di fiducia.

    Vai a Google Chat

  2. Fai clic su Nuova chat.
  3. Nel campo Aggiungi una o più persone, digita il nome della tua app di Chat.
  4. Seleziona l'app di chat dai risultati. Si apre un messaggio diretto.

  5. Nel nuovo messaggio diretto con l'app, digita Hello e premi enter.

    L'app di chat di Dialogflow risponde con un messaggio di saluto.

Messaggi di risposta

I messaggi di risposta vengono inviati a Google Chat come messaggi di testo. Con questa formattazione puoi mettere il testo in grassetto o in corsivo racchiudendolo tra determinati simboli (markdown light).

Il messaggio di risposta in formato testo ha lo stesso aspetto del messaggio di risposta predefinito nella console di Dialogflow. Tuttavia, la risposta API non elaborata avrà un aspetto leggermente diverso. Imposta anche la configurazione della piattaforma su GOOGLE_HANGOUTS, il che potrebbe essere interessante quando crei agenti per più integrazioni.

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

Carte

I messaggi di risposta in formato scheda vengono inviati a Google Chat come messaggi di schede.

Google Immagini

I messaggi di risposta in formato immagine vengono inviati a Google Chat come widget immagine di Google Chat.

Payload personalizzato

Per inviare altri tipi di messaggi di Google Chat, puoi utilizzare un payload personalizzato.

Il payload personalizzato di Google Chat ti consente di creare schede più avanzate. Una scheda può avere una o più sezioni. Ogni sezione può avere un'intestazione. Puoi consultare la guida di riferimento Estendere le schede di Chat dei componenti aggiuntivi di Google Workspace per vedere alcune delle combinazioni che puoi creare con questa funzionalità. Tuttavia, l'utilizzo di payload personalizzati significa che dovrai fornire il formato JSON.

Di seguito è riportato un esempio di payload personalizzato per la creazione di un messaggio con una scheda:

{ "hangouts": { "hostAppDataAction": { "chatDataAction": {
  "createMessageAction": { "message": { "cardsV2": [{
    "cardId": "pizza",
    "card": {
      "header": {
        "title": "Pizza Delivery Customer Support",
        "subtitle": "pizzadelivery@example.com",
        "imageUrl": "https://goo.gl/aeDtrS"
      },
      "sections": [{ "widgets": [{ "textParagraph": {
        "text": " Your pizza is here!"
      }}]}]
    }
  }]}}
}}}}

Limiti e considerazioni

  • Quando utilizzi i componenti aggiuntivi di Google Workspace con Dialogflow, gli oggetti evento di Chat presentano i seguenti limiti e considerazioni:
    • Eventi della home dell'app: il supporto per gli eventi APP_HOME non è ancora disponibile.
    • Input della query di Dialogflow: il testo inviato come input della query all'agente Dialogflow dipende dal tipo di evento:
      • MESSAGE: il valore del campo argumentText del messaggio di Chat.
      • APP_COMMAND: La stringa "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: viene inviato un evento di benvenuto predefinito.
      • REMOVED_FROM_SPACE: La stringa "REMOVED_FROM_SPACE_PAYLOAD".
      • CARD_CLICKED: La stringa "BUTTON_CLICKED_PAYLOAD".
      • WIDGET_UPDATED: La stringa "WIDGET_UPDATED_PAYLOAD" (utilizzata per il completamento automatico).
    • Payload completo dell'evento: il payload JSON completo dell'evento di interazione di Chat viene inviato a Dialogflow nel campo WebhookRequest.payload. Puoi accedervi nel webhook di Dialogflow. Per saperne di più, consulta la documentazione relativa alla richiesta webhook di Dialogflow ES.
  • Considerazioni per rispondere ai comandi e ricevere dati da schede o finestre di dialogo:
  • Le anteprime dei link non sono supportate.
  • Se l'agente Dialogflow risponde con un solo messaggio, questo viene inviato a Google Chat in modo sincrono. Se l'agente Dialogflow risponde con più messaggi, tutti i messaggi vengono inviati a Chat in modo asincrono chiamando il create metodo sulla risorsa spaces.messages nell'API Chat una volta per ogni messaggio.
  • Quando utilizzi l'integrazione di Dialogflow ES con Chat, l'agente Dialogflow e l'app di Chat devono essere configurati nello stesso progetto Google Cloud.

Risoluzione dei problemi

Per eseguire il debug dell'app di chat, inizia esaminando i log degli errori. Poiché questa app utilizza Dialogflow, sono disponibili diverse risorse di logging e risoluzione dei problemi:

Libera spazio

Per evitare che al tuo account vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, ti consigliamo di eliminare il progetto Cloud.

  1. Nella console API di Google, vai alla pagina Gestisci risorse. Fai clic su Menu > IAM e amministrazione > Gestisci risorse.

    Vai a Resource Manager

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina .
  3. Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
  • Dialogflow CX è un altro modo per utilizzare Dialogflow con un'app di chat.