Aggiungi automazione con Dialogflow

Dialogflow è uno strumento di comprensione del linguaggio naturale (NLU) che elabora l'input dell'utente, lo mappa su intent noti e risponde con risposte appropriate. Esistono due versioni di Dialogflow. Integrando il tuo agente Business Messages con Dialogflow ES, puoi creare facilmente un'automazione semplice per accelerare lo sviluppo dell'agente. Grazie all'integrazione con Dialogflow CX, puoi creare un'automazione avanzata per conversazioni più complesse.

Gli agenti di Business Messages supportano le integrazioni dirette con

Per integrare un agente Business Messages con altre funzionalità di Dialogflow ES o Dialogflow CX, consulta la documentazione di ogni prodotto.

Quando un utente invia un messaggio a un agente con un'integrazione Dialogflow, Business Messages trasmette il messaggio utente a Dialogflow e invia la risposta di Dialogflow all'agente nell'oggetto dialogflowResponse del messaggio. Puoi configurare gli agenti in modo che inviino automaticamente la risposta di Dialogflow all'utente senza alcun intervento da parte tua. Per informazioni dettagliate, consulta la sezione Risposte automatiche.

Integrazione di Dialogflow

Prima di poter utilizzare l'automazione basata su Dialogflow tramite Business Messages, devi abilitare l'integrazione di Dialogflow.

Prerequisiti

Per iniziare, ti serve

  • un agente Business Messages
  • Un agente Dialogflow nell'area geografica Globale con la lingua principale inglese (en).

Se non hai un agente Dialogflow, creane uno.

Dialogflow ES

Prima di abilitare un'integrazione di Dialogflow ES, è necessario l'ID progetto dell'agente Dialogflow. Per individuare l'ID progetto

  1. Vai alla console di Dialogflow.
  2. Seleziona l'agente Dialogflow che vuoi collegare a Business Messages, poi fai clic sull'icona a forma di ingranaggio accanto al nome dell'agente.
  3. In Progetto Google, prendi nota del valore ID progetto.

Dialogflow CX

Prima di poter abilitare un'integrazione di Dialogflow CX, devi avere l'ID progetto e l'ID agente dell'agente Dialogflow. Per individuare questi ID,

  1. Vai alla console di Dialogflow CX.
  2. Seleziona il progetto Dialogflow.
  3. Nel selettore dell'agente, fai clic sul menu extra accanto all'agente Dialogflow.
  4. Fai clic su Copia nome. Copia il nome completo dell'agente nel seguente formato: projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID.
  5. Prendi nota dei valori degli ID progetto e dell'ID agente.

Abilita l'integrazione

  1. Nella Business Communications Developer Console, vai alla sezione Integrazioni.
  2. Per Dialogflow, fai clic su Abilita integrazione.
  3. Fai clic su Collega modello esistente.
  4. In Versione di Dialogflow, seleziona la versione da attivare.
  5. Inserisci l'ID progetto dell'agente Dialogflow.
  6. Per attivare Dialogflow CX, inserisci anche l'ID agente dell'agente Dialogflow.
  7. Se vuoi che Business Messages risponda automaticamente agli utenti con le risposte di Dialogflow, seleziona Abilita risposta automatica.
  8. Fai clic su Avanti.
  9. Copia l'indirizzo email dell'account di servizio. Questo account connette i tuoi agenti Business Messages e Dialogflow.
  10. In Google Cloud Console, seleziona il tuo progetto Dialogflow.
  11. Vai ad Autorizzazioni IAM.
  12. Fai clic su Aggiungi e inserisci l'indirizzo email dell'account di servizio per Nuove entità.
  13. In Seleziona un ruolo, seleziona Editor agente Console Console.
  14. Fai clic su Aggiungi un altro ruolo e seleziona Client API Dialogflow.
  15. Fai clic su Salva.
  16. Nella Business Console Communications Console, fai clic su Avanti.
  17. Fai clic su Avvia integrazione.

La connessione di Business Messages e Dialogflow richiede circa due minuti.

Aggiorna l'integrazione

  1. Nella Business Communications Developer Console, vai alla sezione Integrazioni.
  2. Fai clic sull'icona a forma di ingranaggio accanto a Dialogflow.
  3. Attiva la risposta automatica, a seconda che tu voglia o meno rispondere a Messaggi aziendali con le risposte Dialogflow.

Passare da una versione all'altra di Dialogflow

Un agente di Business Messages può supportare una sola integrazione Dialogflow alla volta. Per passare da una versione di Dialogflow all'altra, devi disattivare l'integrazione corrente prima di abilitare la nuova.

Disabilita l'integrazione

  1. Nella Business Communications Developer Console, vai alla sezione Integrazioni.
  2. Fai clic sull'icona a forma di ingranaggio accanto a Dialogflow.
  3. Fai clic su Disabilita integrazione.
  4. Fai clic su Disattiva.

La disattivazione di un'integrazione Dialogflow esistente richiede circa un minuto.

Attiva una nuova integrazione di Dialogflow seguendo questi passaggi.

Corrispondenza di intent

Dopo aver abilitato l'integrazione di Dialogflow per un agente di Messaggi aziendali, l'agente può utilizzare gli intent configurati dal tuo progetto Dialogflow per comprendere e rispondere alle domande degli utenti senza dover scrivere codice. Per scoprire di più sugli intent, consulta la documentazione di Dialogflow ES e Dialogflow CX.

Configura gli intent Dialogflow per ogni opzione di conversazione che intendi supportare tramite l'automazione. Gli agenti di Business Messages si basano su Dialogflow per comprendere i messaggi degli utenti.

Quando chiami le API Dialogflow, Business Messages trasmette il carico di messaggi utente ai tuoi intent e al webhook di evasione. Quando un messaggio utente viene abbinato a un intent, puoi accedere a questo payload in formato Struct nel campo business_messages_payload all'interno di QueryParameters.

Il payload contiene tutti i campi del messaggio utente tranne DialogflowResponse.

Per Dialogflow CX, Business Messages trasmette anche un parametro di sessione chiamato channel con valore google_business_messages agli intent che puoi utilizzare come riferimento nel tuo agente con il seguente formato: $session.params.channel.

Questo parametro può essere utilizzato per aggiungere condizioni ai completamenti di Dialogflow per supportare più canali nello stesso agente Dialogflow.

Per ulteriori informazioni sui parametri di ricerca, consulta i riferimenti Dialogflow ES e Dialogflow CX.

Prerequisiti

Quando crei modelli NLU all'interno di Dialogflow, puoi configurare diversi tipi di risposta per un intent. Business Messages supporta la risposta predefinita, che può includere quanto segue:

  • Testo
  • Payload personalizzato
  • Passaggio ad agenti umani (solo Dialogflow CX)

Un payload personalizzato deve corrispondere a un oggetto risposta del messaggio JSON di Business Messages valido. Quando configuri le risposte del payload personalizzate per un intent, Business Messages ignora i seguenti campi:

  • name
  • messageId
  • representative

Vedi i seguenti esempi di risposte.

Testo con suggerimenti

{
  "text": "Hello World!",
  "fallback": "Hello World!\n\nReply with \"Hello\" or \"Hi!\"",
  "suggestions": [
    {
      "reply": {
        "text": "Hello",
        "postbackData": "hello-formal"
      }
    },
    {
      "reply": {
        "text": "Hi!",
        "postbackData": "hello-informal"
      }
    }
  ]
}

Scheda interattiva

{
  "fallback": "Hello, world!\nSent with Business Messages\n\nReply with \"Suggestion #1\" or \"Suggestion #2\"",
  "richCard": {
    "standaloneCard": {
      "cardContent": {
        "title": "Hello, world!",
        "description": "Sent with Business Messages.",
        "media": {
          "height": "TALL",
          "contentInfo":{
            "altText": "Google logo",
            "fileUrl": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
            "forceRefresh": "false"
          }
        },
        "suggestions": [
          {
            "reply": {
              "text": "Suggestion #1",
              "postbackData": "suggestion_1"
            }
          },
          {
            "reply": {
              "text": "Suggestion #2",
              "postbackData": "suggestion_2"
            }
          }
        ]
      }
    }
  }
}
{
  "fallback": "Card #1\nThe description for card #1\n\nCard #2\nThe description for card #2\n\nReply with \"Card #1\" or \"Card #2\"",
  "richCard": {
    "carouselCard": {
      "cardWidth": "MEDIUM",
      "cardContents": [
        {
          "title": "Card #1",
          "description": "The description for card #1",
          "suggestions": [
            {
              "reply": {
                "text": "Card #1",
                "postbackData": "card_1"
              }
            }
          ],
          "media": {
            "height": "MEDIUM",
            "contentInfo": {
              "fileUrl": "https://my.files/cute-dog.jpg",
              "forceRefresh": false
            }
          }
        },
        {
          "title": "Card #2",
          "description": "The description for card #2",
          "suggestions": [
            {
              "reply": {
                "text": "Card #2",
                "postbackData": "card_2"
              }
            }
          ],
          "media": {
            "height": "MEDIUM",
            "contentInfo": {
              "fileUrl": "https://my.files/elephant.jpg",
              "forceRefresh": false
            }
          }
        }
      ]
    }
  }
}

Passaggio dell'operatore in tempo reale

{
  "metadata": {}
}

Bot di domande frequenti

Dopo aver abilitato un'integrazione di Dialogflow ES per un agente di Business Messages, puoi creare un bot per le domande frequenti. Quando fornisci domande e risposte come documento di conoscenze supportato, Business Messages e Dialogflow creano l'infrastruttura necessaria per rispondere alle domande degli utenti e rispondere senza dover scrivere codice.

Per vedere un bot con domande frequenti in azione, chatta con il bot delle domande frequenti di Business Messages.

Prerequisiti

Prima di creare un bot per Domande frequenti, devi inserire le domande e le risposte in un documento di informazioni (massimo 50 MB): un file HTML disponibile pubblicamente o un file CSV.

In generale, i documenti informativi

  • Può includere un Markdown limitato nelle risposte, come specificato in Testo RTF.
  • Le dimensioni massime consentite sono pari a 50 MB.
  • Non deve superare 2000 coppie di domande/risposte.
  • Non supportare domande duplicate con risposte diverse.

Per i file HTML,

  • I file provenienti dagli URL pubblici devono essere stati sottoposti a scansione dall'indice di ricerca di Google, in modo che esistano nell'indice di ricerca. Puoi verificarlo con Google Search Console. Tieni presente che l'indice non mantiene aggiornati i tuoi contenuti. Devi aggiornare esplicitamente il documento quando il contenuto di origine cambia.
  • Dialogflow rimuove i tag HTML dai contenuti durante la creazione delle risposte. Per questo motivo, è meglio evitare i tag HTML e usare testo normale, quando possibile.
  • I file con una singola coppia di domande/risposte non sono supportati.

Per i file CSV

  • I file devono avere domande nella prima colonna e risposte nella seconda, senza intestazione.
  • I file devono utilizzare le virgole come delimitatori.

Creare un bot per Domande frequenti

  1. Nella Business Communications Developer Console, vai alla sezione Integrazioni.
  2. In Knowledge base (Domande frequenti), fai clic su Crea knowledge base.
  3. Inserisci un nome per la knowledge base, poi fai clic su Avanti.
  4. Seleziona un Tipo Mime.
  5. Aggiungi un documento di conoscenza.
    • Se hai scelto HTML per il Tipo MIME, inserisci l'URL accessibile pubblicamente per le tue Domande frequenti in URL.
    • Se hai scelto CSV per Tipo MIME, fai clic su Carica e seleziona il tuo file CSV.
  6. Fai clic su Aggiungi e termina.

Per aggiungere ulteriori documenti a un bot delle Domande frequenti, fai clic sul pulsante Aggiungi documenti.

Una volta eseguiti questi passaggi, Business Messages include l'oggetto dialogflowResponse nei messaggi utente che invia all'agente. Se attivi la risposta automatica, Business Messages risponde all'utente con la coppia di domande/risposte con il punteggio matchConfidence più elevato rispetto a quella del messaggio dell'utente.

Risposta automatica

Se attivi la risposta automatica durante l'integrazione di Dialogflow, Business Messages risponde automaticamente all'utente tramite Dialogflow. L'agente di Business Messages risponde con la corrispondenza di livello di confidenza più elevata. Con un'integrazione di Dialogflow ES, se esistono corrispondenze sia in una risposta alle domande frequenti sia in un intent personalizzato, Business Messages risponde con la corrispondenza con il livello di affidabilità più elevato.

Business Messages contrassegna tutti i messaggi con risposta automatica come provenienti da rappresentanti BOT. Se il tuo agente supporta gli agenti in tempo reale, Business Messages sospende le risposte automatiche dopo REPRESENTATIVE_JOINED eventi e ripristina le risposte automatiche dopo gli eventi REPRESENTATIVE_LEFT. Vedi Passaggio da bot ad operatore.

Rispondi automaticamente con una risposta alle domande frequenti

Con un'integrazione Dialogflow ES, se una risposta alle domande frequenti ha il livello di confidenza più alto, Business Messages mappa la risposta a un SMS. Se è disponibile una risposta relativa ma diversa, il messaggio visualizza un "Visualizza un'altra risposta" suggerimento. In caso contrario, il messaggio include una domanda e viene suggerita la risposta se il messaggio soddisfa la richiesta dell'utente.

Rispondi automaticamente con una risposta di intent

Le risposte possono includere una o più delle seguenti risposte.

Se una risposta di intent ha la corrispondenza più elevata, si applica quanto segue.

  • Se la risposta ha almeno un valore Testo, Business Messages mappa il valore a un SMS.
  • Se la risposta ha almeno un payload personalizzato con una struttura di oggetti JSON di Business Messages valida, Business Messages crea un messaggio utilizzando l'oggetto JSON fornito.
  • Se la risposta contiene almeno una risposta da operatore, fai riferimento a Rispondi automaticamente con una richiesta di operatore.

Poiché Dialogflow può includere più risposte all'interno di una corrispondenza di intent, Business Messages invia ogni risposta di testo, payload personalizzato o risposta dell'agente Live Pass come messaggio separato. Se una corrispondenza di intent contiene più messaggi, ma alcuni non sono corretti, Business Messages invia solo messaggi validi come risposte automatiche.

Rispondi automaticamente con una richiesta operatore

Dialogflow CX supporta la risposta dell'invio tramite operatore. Indica che la conversazione deve essere trasmessa a un rappresentante umano e ti consente di trasmettere i metadati personalizzati per la procedura di passaggio. Se una risposta di intent ha il livello di confidenza più alto e include un passaggio di operatore dal vivo, Business Messages invia un evento richiesto dall'agente live al tuo webhook. Per gestire questo evento, consulta Passaggio dal bot all'operatore live.

Rispondi automaticamente con un messaggio di riserva

Se Dialogflow non riceve una corrispondenza di livello di confidenza elevata, Business Messages invia una risposta di riserva. Le creatività di riserva vengono gestite in modo diverso in Dialogflow ES e Dialogflow Flow CX.

Dialogflow ES

Per i bot delle Domande frequenti, se non esiste una corrispondenza con una risposta alle Domande frequenti, Business Messages invia un messaggio di riserva che non riesce a trovare una risposta.

Per gli intent configurati, se non esiste una corrispondenza con una risposta all'intent, Business Messages invia una risposta di intent di riserva. Puoi utilizzare il testo di riserva fornito da Dialogflow oppure configurarlo con testo aggiuntivo e payload personalizzati.

Ecco un esempio di risposta all'intenzione di riserva che il tuo webhook può ricevere:

{
  "intentResponses": [
    {
      "intentName": "projects/df-integration/agent/intents/12345",
      "intentDisplayName": "Default Fallback Intent",
      "intentDetectionConfidence": "1.0",
      "fulfillmentMessages": [
        {
          "text": "One more time?"
        }
      ]
    }
  ]
}

Precompila intent_name e intent_display_name.

Dialogflow CX

Dialogflow CX gestisce le risposte intent di riserva come eventi integrati. Se non esiste una corrispondenza con una risposta di intent, Business Messages invia un messaggio di riserva dall'evento predefinito senza corrispondenza in Dialogflow. Puoi utilizzare il testo di riserva fornito da Dialogflow oppure configurarlo con testo aggiuntivo, payload personalizzati e opzioni di passaggio dell'agente live.

Ecco un esempio di risposta all'intenzione di riserva che il tuo webhook può ricevere:

{
  "intentResponses": [
    {
      "intentName": "sys.no-match-default",
      "intentDisplayName": "Default Fallback Intent",
      "intentDetectionConfidence": "0.3",
      "fulfillmentMessages": [
        {
          "text": "I missed that, say that again?"
        }
      ]
    }
  ]
}

I messaggi aziendali di hardcoded intent_name e intent_display_name.

Campi specifici di Dialogflow

Dopo aver abilitato l'integrazione di Dialogflow, i messaggi dell'utente riceve l'agente includono l'oggetto dialogflowResponse. Il webhook riceve i payload per tutti i messaggi degli utenti, indipendentemente dal fatto che Business Messages abbia risposto automaticamente o meno al messaggio per conto tuo. Per verificare la presenza di una risposta automatica, controlla il valore del campo autoResponded e decidi se devi rispondere all'utente.

Dialogflow ES

...
"dialogflowResponse": {
  "queryText": "TEXT",
  "intentResponse": {
    "intentName": "INTENT_ID",
    "intentDisplayName": "INTENT_NAME",
    "intentDetectionConfidence": "CONFIDENCE_NUMERIC",
    "fulfillmentMessages": [{
      "text": "FULFILLMENT_TEXT",
      "jsonPayload": "JSON",
      "error": "ERROR_STATUS",
    }],
  "faqResponse": {
    "userQuestion": "USER_QUESTION",
    "answers": [{
      "faqQuestion": "FAQ_QUESTION",
      "faqAnswer": "FAQ_ANSWER",
      "matchConfidenceLevel": "CONFIDENCE_LEVEL",
      "matchConfidence": "CONFIDENCE_NUMERIC",
    }],
  },
  "autoResponded": "BOOLEAN",
  "autoRespondedMessages": [{
    "message": "MESSAGE_JSON",
    "responseSource": "SOURCE",
  }],
},
...
Campo Descrizione
queryText Il testo originale della query di conversazione. Se la correzione automatica dell'ortografia è attivata per il modello Dialogflow, queryText contiene l'input utente corretto.
intentName L'identificatore univoco dell'intent corrispondente.
intentDisplayName Il nome dell'intent con corrispondenza.
intentDetectionConfidence La valutazione numerica della confidenza nella corrispondenza tra queryText e intentName.
text Una risposta di testo.
jsonPayload Una risposta payload personalizzata. Questa stringa corrisponde al payload personalizzato definito in Dialogflow. Se il payload non ha una struttura di oggetti JSON di Business Messages valida, error descrive il problema.
error Descrizione di un errore con un messaggio di evasione degli intent.
userQuestion La domanda posta dall'utente, come analizzata da Dialogflow.
faqQuestion Una domanda da Dialogflow corrisponde alla domanda dell'utente.
faqAnswer Una risposta da Dialogflow corrispondente alla domanda dell'utente.
matchConfidenceLevel Il livello di confidenza nella corrispondenza tra userQuestion e faqQuestion.
matchConfidence La valutazione numerica della confidenza nella corrispondenza tra userQuestion e faqQuestion.
autoResponded Indica se Business Messages ha risposto automaticamente all'utente con una risposta da Dialogflow.
message Il payload della risposta automatica.
responseSource L'origine della risposta automatica. Consulta ResponseSource.

Dialogflow CX

...
"dialogflowResponse": {
  "queryText": "TEXT",
  "intentResponse": {
    "intentName": "INTENT_ID",
    "intentDisplayName": "INTENT_NAME",
    "intentDetectionConfidence": "CONFIDENCE_NUMERIC",
    "fulfillmentMessages": [{
      "text": "FULFILLMENT_TEXT",
      "jsonPayload": "JSON",
      "error": "ERROR_STATUS",
      "liveAgentHandoff": {
        "metadata": {}
      }
    }],
  "autoResponded": "BOOLEAN",
  "autoRespondedMessages": [{
    "message": "MESSAGE_JSON",
    "responseSource": "SOURCE",
  }],
},
...
Campo Descrizione
queryText Il testo originale della query di conversazione. Se la correzione automatica dell'ortografia è attivata per il modello Dialogflow, queryText contiene l'input utente corretto.
intentName L'identificatore univoco dell'intent corrispondente.
intentDisplayName Il nome dell'intent con corrispondenza.
intentDetectionConfidence La valutazione numerica della confidenza nella corrispondenza tra queryText e intentName.
text Una risposta di testo.
jsonPayload Una risposta payload personalizzata. Questa stringa corrisponde al payload personalizzato definito in Dialogflow. Se il payload non ha una struttura di oggetti JSON di Business Messages valida, error descrive il problema.
error Descrizione di un errore con un messaggio di evasione degli intent.
liveAgentHandoff Metadati personalizzati per la procedura di passaggio dell'agente in tempo reale.
autoResponded Indica se Business Messages ha risposto automaticamente all'utente con una risposta da Dialogflow.
message Il payload della risposta automatica.
responseSource L'origine della risposta automatica. Consulta ResponseSource.