Gli agenti Business Messages supportano integrazioni dirette con
- Dialogflow ES: corrispondenza dell'intent e bot Domande frequenti
- Dialogflow CX: corrispondenza dell'intent e trasferimento da parte di un operatore
Per integrare un agente Business Messages con altre funzionalità di Dialogflow ES oppure Dialogflow CX consulta la documentazione di ciascun prodotto.
Quando un utente invia un messaggio a un agente con un'integrazione Dialogflow,
Business Messages passa il messaggio dell'utente a Dialogflow e invia i messaggi di Dialogflow.
all'agente nella richiesta
dialogflowResponse
. Puoi configurare gli agenti per
invia automaticamente la risposta di Dialogflow all'utente senza che sia necessario alcun intervento da parte tua
. Vedi Risposte automatiche.
per maggiori dettagli.
Integrazione di Dialogflow
Prima di poter sfruttare l'automazione basata su Dialogflow tramite Business Messages, devi abilitare l'integrazione di Dialogflow.
Prerequisiti
Per iniziare, devi
- Business Messages agente
- Un agente Dialogflow nella regione Globale con lingua radice inglese (it)
Se non hai un agente Dialogflow, creane uno.
Dialogflow ES
Prima di poter abilitare un'integrazione Dialogflow ES, devi avere ID progetto dell'agente Dialogflow. Per individuare l'ID progetto,
- Vai alla console di Dialogflow.
- Seleziona l'agente Dialogflow che vuoi collegare a Business Messages. quindi fai clic sull'icona dell'ingranaggio accanto al nome dell'agente.
- In Progetto Google prendi nota del valore ID progetto.
Dialogflow CX
Prima di poter abilitare un'integrazione Dialogflow CX, devi disporre ID progetto e ID agente dell'agente Dialogflow. Per individuare questi ID,
- Accedi alla console Dialogflow CX.
- Seleziona il progetto Dialogflow.
- Nel selettore dell'agente, fai clic sul menu extra accanto all'agente Dialogflow.
- Fai clic su Copia nome. Viene copiato il nome completo dell'agente nel
seguente formato:
projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID
. - Prendi nota dei valori dell'ID progetto e dell'ID agente.
Abilita l'integrazione
- Nella Developer Console di Business Communications, vai a Integrazioni.
- Per Dialogflow, fai clic su Abilita integrazione.
- Fai clic su Collega modello esistente.
- Per Dialogflow edition, seleziona la versione da abilitare.
- Inserisci l'ID progetto dell'agente Dialogflow.
- Per abilitare Dialogflow CX, inserisci anche l'ID agente dell'agente Dialogflow.
- Se vuoi che Business Messages risponda automaticamente agli utenti con Per le risposte di Dialogflow, seleziona Abilita risposta automatica.
- Fai clic su Avanti.
- Copia l'indirizzo email dell'account di servizio. Questo account collega Business Messages e gli agenti Dialogflow.
- Nella piattaforma Google Cloud Console, seleziona il progetto Dialogflow.
- Vai a IAM. autorizzazioni.
- Fai clic su Aggiungi e inserisci l'email dell'account di servizio per Nuove entità.
- In Seleziona un ruolo, seleziona Editor agente console Dialogflow.
- Fai clic su Aggiungi un altro ruolo e seleziona Client API Dialogflow.
- Fai clic su Salva.
- Nella Developer Console di Business Communications, fai clic su Avanti.
- Fai clic su Avvia integrazione.
La connessione di Business Messages e Dialogflow richiede circa due minuti.
Aggiorna l'integrazione
- Nella Developer Console di Business Communications, vai a Integrazioni.
- Fai clic sull'icona dell'ingranaggio . accanto a Dialogflow.
- Attiva l'opzione Attiva risposta automatica, se vuoi o meno. Business Messages per rispondere automaticamente agli utenti con le risposte Dialogflow.
Passare da una versione di Dialogflow a un'altra
Un agente Business Messages può supportare solo un'integrazione Dialogflow alla volta. Per passare da una versione di Dialogflow a un'altra, devi disattivare l'integrazione attuale prima di abilitare quella nuova.
Disattiva l'integrazione
- Nella Developer Console di Business Communications, vai a Integrazioni.
- Fai clic sull'icona dell'ingranaggio . accanto a Dialogflow.
- Fai clic su Disabilita integrazione.
- Fai clic su Disattiva.
Per disabilitare un'integrazione di Dialogflow esistente è necessario circa un minuto.
Abilita una nuova integrazione di Dialogflow seguendo questi passaggi.
Corrispondenza di intent
Dopo aver abilitato l'integrazione di Dialogflow per un agente Business Messages, può utilizzare gli intent configurati del progetto Dialogflow per comprendere e rispondere alle domande degli utenti senza che tu debba scrivere codice. Per scoprire di più su per intent, consulta la documentazione di Dialogflow ES e Dialogflow CX.
Configura gli intent Dialogflow per ogni opzione di conversazione che intendi utilizzare e assistenza tramite l'automazione. Gli agenti Business Messages si affidano a Dialogflow per: a capire i messaggi degli utenti.
Quando chiami le API Dialogflow, Business Messages passa il
payload dei messaggi utente
agli intent e al webhook di fulfillment. Quando viene trovata una corrispondenza con un messaggio per l'utente
con un intent, puoi accedere a questo payload nel formato Struct
nel
campo business_messages_payload
all'interno di QueryParameters
.
Il payload contiene tutti i campi del messaggio utente, ad eccezione di DialogflowResponse
.
Per Dialogflow CX, Business Messages passa anche un parametro di sessione denominato channel
con valore google_business_messages
per i tuoi intent e puoi farvi riferimento nel tuo agente con il seguente formato: $session.params.channel
.
Questo parametro può essere utilizzato per aggiungere condizionali ai completamenti Dialogflow per supportare più canali nello stesso agente Dialogflow.
Per ulteriori informazioni sui parametri di query, consulta i riferimenti Dialogflow ES e Dialogflow CX.
Prerequisiti
Quando crei modelli NLU in Dialogflow, puoi configurare diversi tipi di risposta per un intent. Business Messages supporta la risposta predefinita, che possono includere:
- Testo
- Payload personalizzato
- Passaggio ad un operatore (solo Dialogflow CX)
Un payload personalizzato deve corrispondere a una risposta di messaggio JSON Business Messages valida . Quando configuri risposte di payload personalizzate per un intent, Business Messages ignora i seguenti campi:
name
messageId
representative
Vedi le risposte di esempio che seguono.
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"
}
}
]
}
}
}
}
Carosello di schede informative
{
"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
}
}
}
]
}
}
}
Trasferimento operatore
{
"metadata": {}
}
Bot di domande frequenti
Dopo aver abilitato un'integrazione Dialogflow ES per un agente Business Messages, puoi creare un bot per le domande frequenti. Quando fornisci domande e risposte come un documento informativo supportato, Business Messages e Dialogflow creano l'infrastruttura necessaria per comprendere e rispondere alle domande degli utenti senza devi scrivere del codice.
Per vedere un bot per le domande frequenti in azione, chatta con le Domande frequenti su Business Messages Bot.
Prerequisiti
Prima di creare un bot per le domande frequenti, è necessario che le domande e le risposte siano disponibili un documento informativo (massimo 50 MB): un file HTML disponibile pubblicamente o un file CSV.
In genere, i documenti informativi
- Può includere un Markdown limitato nelle risposte, come specificato in Richiamo testo.
- Avere una dimensione massima di 50 MB.
- Non deve superare 2000 coppie di domanda/risposta.
- Non supportare domande duplicate con risposte diverse.
Per i file HTML,
- I file di URL pubblici devono essere stati sottoposti a scansione dall'indicizzatore della Ricerca Google. in modo che esistano nell'indice di ricerca. Puoi verificarlo con il Search Console. Tieni presente che l'indicizzatore non mantiene aggiornati i tuoi contenuti. Devi indicare esplicitamente aggiornare il documento quando cambiano i contenuti di origine.
- Dialogflow rimuove i tag HTML dai contenuti durante la creazione delle risposte. Poiché per cui è consigliabile evitare i tag HTML e, se possibile, utilizzare testo normale.
- I file con una singola coppia di domanda/risposta non sono supportati.
Per i file CSV,
- I file devono contenere domande nella prima colonna e risposte nella seconda. senza intestazione.
- I file devono utilizzare le virgole come delimitatori.
Crea un bot per domande frequenti
- Nella Developer Console di Business Communications, vai a Integrazioni.
- In Knowledge Base (Domande frequenti), fai clic su Crea knowledge base.
- Inserisci un nome per la knowledge base e poi fai clic su Avanti.
- Seleziona un Tipo MIME.
- Aggiungi un documento informativo.
- Se hai scelto HTML per Tipo MIME, inserisci il valore URL delle domande frequenti in URL.
- Se hai scelto CSV come Tipo MIME, fai clic su Carica e seleziona il CSV.
- Fai clic su Aggiungi e termina.
Per aggiungere altri documenti a un bot per domande frequenti, fai clic sul pulsante Aggiungi documenti.
Una volta eseguiti questi passaggi, Business Messages include
dialogflowResponse
nei messaggi per gli utenti che invia al tuo agente. Se attivi la risposta automatica, Business Messages risponde all'utente.
con la coppia domanda/risposta che ha il punteggio matchConfidence
più alto quando
rispetto al messaggio dell'utente.
Risposte automatiche
Se abiliti la risposta automatica durante l'integrazione di Dialogflow, le Messaggi risponde automaticamente all'utente tramite Dialogflow. La tua attività L'agente di Messaggi risponde con la corrispondenza con il livello di confidenza più alto. Con un Integrazione di Dialogflow ES, in caso di corrispondenze con una risposta delle domande frequenti e una personalizzato per intenzione, Business Messages risponde con la corrispondenza con il tasso un livello di confidenza elevato.
Business Messages contrassegna tutti i messaggi a risposta automatica come provenienti da BOT
rappresentanti di Google Cloud. Se il tuo agente supporta gli operatori live,
Business Messages sospende le risposte automatiche dopo il giorno REPRESENTATIVE_JOINED
eventi
e riprende le risposte automatiche dopo REPRESENTATIVE_LEFT
eventi. Vedi Handoff
dal bot all'agente.
Rispondi automaticamente con una risposta alle domande frequenti
Con un'integrazione Dialogflow ES, se una risposta alle domande frequenti ha la massima affidabilità Business Messages mappa la risposta a un SMS. Se esiste un una risposta correlata ma diversa disponibile, il messaggio mostra risposta" suggerimento. In caso contrario, il messaggio include una domanda e un suggerimento risposte per chiedere se il messaggio ha soddisfatto la richiesta dell'utente.
Rispondere automaticamente con una risposta di intent
Le risposte per intent possono includere una o più delle seguenti risposte.
- Dialogflow ES: Testo, Payload personalizzato
- Dialogflow CX: Testo, Payload personalizzato, Trasferimento ad un operatore
Se una risposta di intent ha la corrispondenza con il livello di confidenza più elevato, quanto segue .
- Se la risposta ha almeno un valore di testo, Business Messages mappa questo a un messaggio di testo.
- Se la risposta include almeno un payload personalizzato con un indirizzo Struttura dell'oggetto JSON di Messaggi, Business Messages crea un messaggio utilizzando fornito dall'oggetto JSON.
- Se per la risposta è presente almeno una risposta di trasferimento da parte di un operatore, consulta Rispondi automaticamente con una richiesta di operatore.
Poiché Dialogflow può includere più risposte all'interno di una corrispondenza di intent, Business Messages invia ogni messaggio di testo, payload personalizzato o trasferimento da parte di un operatore come messaggio separato. Se un intent include più messaggi ma alcune non sono nel formato corretto, Business Messages invia solo messaggi i messaggi come risposte automatiche.
Rispondi automaticamente con una richiesta di operatore
Dialogflow CX supporta il passaggio ad agenti live la risposta corretta. Segnala che la conversazione deve essere trasferita a una persona e ti permette di trasferire metadati personalizzati per il trasferimento . Se una risposta di intent ha la più alta corrispondenza di livello di confidenza include il trasferimento di un operatore, Business Messages invia un evento richiesto da un operatore al webhook. Per gestire questo evento, vedi Passaggio da bot ad operatore.
Rispondi automaticamente con un messaggio di riserva
Se Dialogflow non trova una corrispondenza con un livello di confidenza elevato, Business Messages invia una risposta di riserva. I fallback vengono gestiti in modo diverso in Dialogflow ES e Dialogflow CX.
Dialogflow ES
Nel caso dei bot relativi alle domande frequenti, se non esiste una risposta corrispondente a una delle domande frequenti, Business Messages invia un messaggio di riserva che non ha trovato una risposta.
Per gli intent configurati, se non esiste una corrispondenza con una risposta di intent, Messaggi invia una risposta di intent di riserva. Puoi utilizzare il testo di fallback fornito da Dialogflow o configurare il metodo di riserva con testo aggiuntivo e payload personalizzati.
Ecco un esempio di risposta di un intent 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?"
}
]
}
]
}
Dialogflow precompila intent_name
e intent_display_name
.
Dialogflow CX
Dialogflow CX gestisce le risposte degli intent di fallback come eventi integrati. Se non esiste una corrispondenza con una risposta di intent, Business Messages invia un messaggio di fallback dell'evento predefinito senza corrispondenza in Dialogflow. Puoi usa il testo di fallback fornito da Dialogflow o configura il fallback con testo aggiuntivo, payload personalizzati e opzioni di trasferimento di operatori.
Ecco un esempio di risposta di un intent di riserva che il webhook può ricevere:
{
"intentResponses": [
{
"intentName": "sys.no-match-default",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "0.3",
"fulfillmentMessages": [
{
"text": "I missed that, say that again?"
}
]
}
]
}
Business Messages esegue l'hardcoded di intent_name
e intent_display_name
.
Campi specifici di Dialogflow
Dopo aver abilitato l'integrazione di Dialogflow, l'utente invia un messaggio all'agente.
riceve
includi il
dialogflowResponse
:
. Il webhook riceve payload per tutti i messaggi degli utenti, indipendentemente
se Business Messages ha risposto automaticamente o meno al messaggio sul tuo
per conto tuo. Per verificare la presenza di una risposta automatica, controlla il valore del parametro
autoResponded
e deciderai 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 della query conversazionale originale. Se l'ortografia automatica
la correzione è abilitata per il modello Dialogflow, queryText
contiene l'input utente corretto. |
intentName |
L'identificatore univoco dell'intent abbinato. |
intentDisplayName |
Il nome dell'intent corrispondente. |
intentDetectionConfidence
|
La valutazione di confidenza numerica nella corrispondenza
tra queryText e intentName . |
text |
Una risposta testuale. |
jsonPayload
|
Una risposta payload personalizzata.
Questa stringa corrisponde alla stringa
Payload definito in Dialogflow.
Se il payload non ha un JSON Business Messages valido
dell'oggetto, error descrive il problema. |
error |
Descrizione di un errore con un messaggio di completamento di intent. |
userQuestion |
La domanda posta dall'utente, analizzata da Dialogflow. |
faqQuestion |
Una domanda di Dialogflow corrispondente alla domanda dell'utente. |
faqAnswer |
Una risposta di Dialogflow corrispondente alla domanda dell'utente. |
matchConfidenceLevel
|
Il livello di affidabilità nella corrispondenza
userQuestion e faqQuestion . |
matchConfidence
|
La valutazione di confidenza numerica nella corrispondenza tra
userQuestion e faqQuestion . |
autoResponded
|
Se Business Messages ha risposto automaticamente o meno l'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 della query conversazionale originale. Se l'ortografia automatica
la correzione è abilitata per il modello Dialogflow, queryText
contiene l'input utente corretto. |
intentName |
L'identificatore univoco dell'intent abbinato. |
intentDisplayName |
Il nome dell'intent corrispondente. |
intentDetectionConfidence
|
La valutazione di confidenza numerica nella corrispondenza
tra queryText e intentName . |
text |
Una risposta testuale. |
jsonPayload
|
Una risposta payload personalizzata.
Questa stringa corrisponde alla stringa
Payload definito in Dialogflow.
Se il payload non ha un JSON Business Messages valido
dell'oggetto, error descrive il problema. |
error |
Descrizione di un errore con un messaggio di completamento di intent. |
liveAgentHandoff |
Metadati personalizzati per la procedura di trasferimento di un operatore. |
autoResponded
|
Se Business Messages ha risposto automaticamente o meno l'utente con una risposta da Dialogflow. |
message |
Il payload della risposta automatica. |
responseSource
|
L'origine della risposta automatica. Consulta
ResponseSource |