Automatisierung mit Dialogflow hinzufügen

Dialogflow ist ein NLU-Tool (Natural Language Understanding), das Nutzereingaben verarbeitet, sie bekannten Intents zuordnet und mit entsprechenden Antworten antwortet. Es gibt zwei Versionen von Dialogflow. Wenn Sie Ihren Business Messages-Agent in Dialogflow ES einbinden, können Sie ganz einfach eine einfache Automatisierung erstellen, um die Agent-Entwicklung zu starten. Durch die Einbindung von Dialogflow CX können Sie erweiterte Automatisierungen für komplexere Unterhaltungen erstellen.

Business Messages-Agents unterstützen die direkte Einbindung in

Informationen zur Einbindung eines Business Messages-Agents in andere Funktionen von Dialogflow ES oder Dialogflow CX finden Sie in der Dokumentation des jeweiligen Produkts.

Wenn ein Nutzer eine Nachricht an einen Agent mit einer Dialogflow-Integration sendet, übergibt Business Messages die Nutzernachricht an Dialogflow und sendet die Antwort von Dialogflow an den Agent im dialogflowResponse-Objekt der Nachricht. Sie können Agents so konfigurieren, dass die Antwort von Dialogflow automatisch an den Nutzer gesendet wird, ohne dass Sie etwas tun müssen. Weitere Informationen finden Sie unter Automatische Antworten.

Dialogflow-Einbindung

Bevor Sie die Dialogflow-basierte Automatisierung über Business Messages nutzen können, müssen Sie die Dialogflow-Integration aktivieren.

Voraussetzungen

Für den Einstieg benötigen Sie

  • Business Messages-Agent
  • Einen Dialogflow-Agent in der Region Global mit einer englischsprachigen Hauptsprache (en)

Wenn Sie keinen Dialogflow-Agent haben, erstellen Sie einen.

Dialogflow ES

Bevor Sie eine Dialogflow ES-Integration aktivieren können, benötigen Sie die Projekt-ID Ihres Dialogflow-Agents. So finden Sie die Projekt-ID:

  1. Rufen Sie die Dialogflow-Konsole auf.
  2. Wählen Sie den Dialogflow-Agent aus, den Sie mit Business Messages verbinden möchten, und klicken Sie dann auf das Zahnradsymbol neben dem Agent-Namen.
  3. Notieren Sie sich unter Google-Projekt den Wert Projekt-ID.

Grafik: Dialogflow CX

Bevor Sie eine Dialogflow CX-Integration aktivieren können, benötigen Sie die Projekt-ID und die Agent-ID Ihres Dialogflow-Agents. So finden Sie diese IDs:

  1. Rufen Sie die Dialogflow CX-Konsole auf.
  2. Wählen Sie das Dialogflow-Projekt aus.
  3. Klicken Sie in der Agent-Auswahl neben Ihrem Dialogflow-Agent auf das Dreipunkt-Menü .
  4. Klicken Sie auf Name kopieren. Dadurch wird der vollständige Name des Agents im folgenden Format kopiert: projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID.
  5. Notieren Sie sich die Werte für die Projekt-ID und die Agent-ID.

Integration aktivieren

  1. Rufen Sie in der Business Communications Developer Console Integrationen auf.
  2. Klicken Sie bei Dialogflow auf Integration aktivieren.
  3. Klicken Sie auf Vorhandenes Modell verbinden.
  4. Wählen Sie für Dialogflow Edition die zu aktivierende Edition aus.
  5. Geben Sie die Projekt-ID des Dialogflow-Agents ein.
  6. Geben Sie zum Aktivieren von Dialogflow CX auch die Agent-ID des Dialogflow-Agents ein.
  7. Wenn Sie möchten, dass Business Messages Nutzern mit Dialogflow-Antworten automatisch antwortet, wählen Sie Automatische Antwort aktivieren aus.
  8. Klicken Sie auf Weiter.
  9. Kopieren Sie die E-Mail-Adresse des Dienstkontos. Dieses Konto verbindet Ihre Business Messages- und Dialogflow-Agents.
  10. Wählen Sie in der Google Cloud Console Ihr Dialogflow-Projekt aus.
  11. Rufen Sie IAM-Berechtigungen auf.
  12. Klicken Sie auf Hinzufügen und geben Sie die E-Mail-Adresse des Dienstkontos für Neue Hauptkonten ein.
  13. Wählen Sie unter Rolle auswählen die Option Agent-Bearbeiter in Dialogflow-Konsole aus.
  14. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie Dialogflow API Client aus.
  15. Klicken Sie auf Speichern.
  16. Klicken Sie in der Business Communications Developer Console auf Weiter.
  17. Klicken Sie auf Integration starten.

Es dauert ungefähr zwei Minuten, bis Business Messages und Dialogflow verbunden sind.

Integration aktualisieren

  1. Rufen Sie in der Business Communications Developer Console Integrationen auf.
  2. Klicken Sie auf das Zahnradsymbol neben Dialogflow.
  3. Klicken Sie auf Automatische Antwort aktivieren, je nachdem, ob Business Messages automatisch mit Dialogflow-Antworten beantwortet werden soll.

Zwischen Dialogflow-Versionen wechseln

Ein Business Messages-Agent kann nur jeweils eine Dialogflow-Integration unterstützen. Wenn Sie von einer Dialogflow-Version zu einer anderen wechseln möchten, müssen Sie die aktuelle Integration deaktivieren, bevor Sie die neue aktivieren.

Integration deaktivieren

  1. Rufen Sie in der Business Communications Developer Console Integrationen auf.
  2. Klicken Sie auf das Zahnradsymbol neben Dialogflow.
  3. Klicken Sie auf Integration deaktivieren.
  4. Klicken Sie auf Deaktivieren.

Das Deaktivieren einer vorhandenen Dialogflow-Integration dauert etwa eine Minute.

Aktivieren Sie eine neue Dialogflow-Integration, indem Sie diese Schritte ausführen.

Intent-Zuordnung

Nachdem Sie die Dialogflow-Integration für einen Business Messages-Agent aktiviert haben, kann der Agent die konfigurierten Intents Ihres Dialogflow-Projekts verwenden, um Nutzerfragen zu verstehen und auf sie zu antworten, ohne dass Sie Code schreiben müssen. Weitere Informationen zu Intents finden Sie in der Dokumentation zu Dialogflow ES und Dialogflow CX.

Dialogflow-Intents für jede dialogorientierte Option konfigurieren, die durch Automatisierung unterstützt werden soll Business Messages-Agents verlassen sich auf Dialogflow, um Nutzernachrichten zu verstehen.

Beim Aufrufen der Dialogflow APIs übergibt Business Messages die Nutzlast der Nutzernachricht an Ihre Intents und den Webhook für die Auftragsausführung. Wenn eine Nutzernachricht mit einem Intent abgeglichen wird, können Sie auf diese Nutzlast im Format Struct im Feld business_messages_payload in QueryParameters zugreifen.

Die Nutzlast enthält alle Felder der Nutzernachricht mit Ausnahme von DialogflowResponse.

Für Dialogflow CX gibt Business Messages auch einen Sitzungsparameter namens channel mit dem Wert google_business_messages an Ihre Intents weiter, auf den Sie in Ihrem Agent im folgenden Format verweisen können: $session.params.channel.

Mit diesem Parameter können Ihren Dialogflow-Auftragsausführungen Bedingungen hinzugefügt werden, um mehrere Kanäle im selben Dialogflow-Agent zu unterstützen.

Weitere Informationen zu Abfrageparametern finden Sie in den Referenzen zu Dialogflow ES und Dialogflow CX.

Voraussetzungen

Beim Erstellen von NLU-Modellen in Dialogflow können Sie verschiedene Antworttypen für einen Intent konfigurieren. Business Messages unterstützt die Standardantwort, die Folgendes enthalten kann:

  • Text
  • Benutzerdefinierte Nutzlast
  • Übergabe an einen Kundenservicemitarbeiter (nur Dialogflow CX)

Eine benutzerdefinierte Nutzlast muss mit einem gültigen JSON-Nachrichtenantwortobjekt von Business Messages übereinstimmen. Wenn Sie benutzerdefinierte Nutzlastantworten für einen Intent konfigurieren, werden die folgenden Felder in Business Messages ignoriert:

  • name
  • messageId
  • representative

Hier sehen Sie einige Beispielantworten.

Text mit Vorschlägen

{
  "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"
      }
    }
  ]
}

Interaktive Chat-Nachricht

{
  "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
            }
          }
        }
      ]
    }
  }
}

Übergabe an Kundenservicemitarbeiter

{
  "metadata": {}
}

FAQ-Bots

Nachdem Sie die Dialogflow ES-Integration für einen Business Messages-Agent aktiviert haben, können Sie einen FAQ-Bot erstellen. Wenn Sie Fragen und Antworten als unterstütztes Wissensdokument bereitstellen, erstellen Business Messages und Dialogflow die notwendige Infrastruktur, um Nutzerfragen zu verstehen und zu beantworten, ohne dass Sie Code schreiben müssen.

Wenn Sie einen FAQ-Bot in Aktion sehen möchten, können Sie mit dem FAQ-Bot für Business Messages chatten.

Voraussetzungen

Bevor Sie einen FAQ-Bot erstellen, benötigen Sie Ihre Fragen und Antworten als Wissensdokument (max. 50 MB): eine öffentlich verfügbare HTML-Datei oder eine CSV-Datei.

Im Allgemeinen Wissensdokumente

  • Kann eingeschränkten Antworten enthalten, wie unter Rich-Text angegeben.
  • Sie dürfen maximal 50 MB groß sein.
  • Darf nicht mehr als 2.000 Frage/Antwort-Paare enthalten.
  • Identische Fragen mit unterschiedlichen Antworten werden nicht unterstützt.

Bei HTML-Dateien

  • Dateien aus öffentlichen URLs müssen vom Google-Suchindex gecrawlt worden sein, sodass sie im Suchindex erscheinen. Das lässt sich mit der Google Search Console prüfen. Hinweis: Die Indexierung sorgt nicht dafür, dass dein Content aktuell ist. Sie müssen das Dokument explizit aktualisieren, wenn sich der Quellinhalt ändert.
  • Dialogflow entfernt HTML-Tags beim Erstellen von Antworten aus dem Inhalt. Aus diesem Grund ist es empfehlenswert, HTML-Tags zu vermeiden und nach Möglichkeit Nur-Text zu verwenden.
  • Dateien mit einem einzelnen Frage-Antwort-Paar werden nicht unterstützt.

Bei CSV-Dateien

  • Dateien müssen Fragen in der ersten Spalte und Antworten in der zweiten Spalte enthalten, ohne Kopfzeile.
  • Dateien müssen Kommas als Trennzeichen verwenden.

FAQ-Bot erstellen

  1. Rufen Sie in der Business Communications Developer Console Integrationen auf.
  2. Klicken Sie unter Knowledge Base (FAQs) auf Knowledge Base erstellen.
  3. Geben Sie einen Namen für die Wissensdatenbank ein und klicken Sie auf Weiter.
  4. Wählen Sie einen MIME-Typ aus.
  5. Fügen Sie ein Wissensdokument hinzu.
    • Wenn Sie für Mime-Typ die Option HTML ausgewählt haben, geben Sie die öffentlich zugängliche URL für Ihre FAQs in URL ein.
    • Wenn Sie als Mime-Typ CSV ausgewählt haben, klicken Sie auf Hochladen und wählen Sie Ihre CSV-Datei aus.
  6. Klicken Sie auf Hinzufügen und fertigstellen.

Wenn Sie einem FAQ-Bot zusätzliche Dokumente hinzufügen möchten, klicken Sie auf die Schaltfläche Dokumente hinzufügen.

Nachdem Sie diese Schritte ausgeführt haben, fügt Business Messages das Objekt dialogflowResponse in die Nutzernachrichten ein, die an Ihren Agent gesendet werden. Wenn Sie die automatische Antwort aktivieren, antwortet Business Messages dem Nutzer mit dem Frage-Antwort-Paar, das im Vergleich zur Nachricht des Nutzers den höchsten matchConfidence-Wert hat.

Automatische Antworten

Wenn Sie die automatische Antwort während der Dialogflow-Integration aktivieren, antwortet Business Messages automatisch dem Nutzer über Dialogflow. Dein Business Messages-Agent antwortet mit dem höchsten Konfidenzniveau. Wenn bei einer Dialogflow ES-Integration sowohl eine FAQ-Antwort als auch ein benutzerdefinierter Intent vorhanden ist, antwortet Business Messages mit der Übereinstimmung mit dem höchsten Konfidenzniveau.

In Business Messages werden alle automatisch beantworteten Nachrichten als von BOT repräsentiert. Wenn dein Agent Live-Agents unterstützt, sperrt Business Messages automatische Antworten nach REPRESENTATIVE_JOINED-Ereignissen und setzt die automatischen Antworten nach REPRESENTATIVE_LEFT-Ereignissen fort. Siehe Handoff vom Bot zum Live-Agent.

Automatisch mit einer Antwort beantworten

Wenn eine FAQ-Antwort im Rahmen einer Dialogflow ES-Integration das höchste Konfidenzniveau hat, ordnet Business Messages die Antwort einer SMS zu. Wenn eine ähnliche, aber andere Antwort verfügbar ist, wird in der Nachricht der Vorschlag „Weitere Antwort anzeigen“ angezeigt. Ist dies nicht der Fall, enthält die Nachricht eine Frage und Vorschläge, ob die Nachricht der Anfrage des Nutzers entsprach.

Automatisch mit einer Intent-Antwort antworten

Intent-Antworten können eine oder mehrere der folgenden Antworten enthalten.

Wenn eine Intent-Antwort das höchste Konfidenzniveau hat, gilt Folgendes.

  • Wenn die Antwort mindestens einen Textwert hat, ordnet Business Messages diesen Wert einer Textnachricht zu.
  • Wenn die Antwort mindestens eine benutzerdefinierte Nutzlast mit einer gültigen JSON-Objektstruktur für Business Messages enthält, erstellt Business Messages eine Nachricht mit dem bereitgestellten JSON-Objekt.
  • Wenn die Antwort mindestens eine Übergabe-Antwort für einen Live-Agent enthält, finden Sie weitere Informationen unter Automatische Antwort mit einer Live-Agent-Anfrage.

Da Dialogflow mehrere Antworten innerhalb einer Intent-Zuordnung enthalten kann, sendet Business Messages jede Text-, benutzerdefinierte Nutzlast oder jede Übergabe an einen Live-Agent als separate Nachricht. Wenn ein Intent mehrere Nachrichten enthält, von denen aber einige fehlerhaft formatiert sind, sendet Business Messages nur gültige Nachrichten als automatische Antworten.

Automatische Antwort mit einer Live-Agent-Anfrage

Dialogflow CX unterstützt die Antwort Live-Agent-Handoff. Sie signalisiert, dass die Unterhaltung an einen Ansprechpartner übergeben werden muss, und Sie können benutzerdefinierte Metadaten für das Handoff-Verfahren übergeben. Wenn eine Intent-Antwort die höchste Konfidenzstufe hat und eine Live-Agent-Handoff enthält, sendet Business Messages ein angefordertes Live-Agent-Ereignis an Ihren Webhook. Informationen zur Verarbeitung dieses Ereignisses finden Sie unter Handoff vom Bot an den Live-Agent.

Automatisch mit einer Fallback-Nachricht antworten

Wenn Dialogflow keine Übereinstimmung mit dem hohen Konfidenzgrad erhält, sendet Business Messages eine Fallback-Antwort. Fallbacks werden in Dialogflow ES und Dialogflow CX unterschiedlich behandelt.

Dialogflow ES

Wenn ein FAQ-Bot keine Antwort auf eine FAQ-Antwort enthält, sendet Business Messages eine Fallback-Nachricht, die keine Antwort enthält.

Wenn es für konfigurierte Intents keine Übereinstimmung mit einer Intent-Antwort gibt, sendet Business Messages eine Fallback-Intent-Antwort. Sie können den von Dialogflow bereitgestellten Fallback-Text verwenden oder das Fallback mit zusätzlichem Text und benutzerdefinierten Nutzlasten konfigurieren.

Hier ist ein Beispiel für eine Fallback-Intent-Antwort, die Ihr Webhook empfangen kann:

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

Dialogflow füllt intent_name und intent_display_name vorab.

Grafik: Dialogflow CX

Dialogflow CX verarbeitet Fallback-Intent-Antworten als integrierte Ereignisse. Wenn es keine Übereinstimmung mit einer Intent-Antwort gibt, sendet Business Messages eine Fallback-Nachricht vom Standardereignis „Keine Übereinstimmung“ in Dialogflow. Sie können den von Dialogflow bereitgestellten Fallback-Text verwenden oder das Fallback mit zusätzlichen Texten, benutzerdefinierten Nutzlasten und Live-Agent-Handoff-Optionen konfigurieren.

Hier ist ein Beispiel für eine Fallback-Intent-Antwort, die Ihr Webhook empfangen kann:

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

Business Messages hartcodiert intent_name und intent_display_name.

Dialogflow-spezifische Felder

Nachdem Sie die Dialogflow-Integration aktiviert haben, enthalten Nutzernachrichten, die der Agent erhält, das Objekt dialogflowResponse. Der Webhook empfängt Nutzlasten für alle Nutzernachrichten, unabhängig davon, ob Business Messages automatisch auf die Nachricht in Ihrem Namen geantwortet hat. Wenn Sie nach einer automatischen Antwort suchen möchten, sehen Sie sich den Wert im Feld autoResponded an und entscheiden Sie, ob Sie dem Nutzer antworten müssen.

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",
  }],
},
...
Feld Beschreibung
queryText Der ursprüngliche Unterhaltungsabfragetext. Wenn die automatische Rechtschreibkorrektur für das Dialogflow-Modell aktiviert ist, enthält queryText die korrigierte Nutzereingabe.
intentName Die eindeutige Kennung des zugeordneten Intents.
intentDisplayName Der Name des zugeordneten Intents.
intentDetectionConfidence Die numerische Konfidenzbewertung der Übereinstimmung zwischen queryText und intentName.
text Eine Textantwort.
jsonPayload Eine benutzerdefinierte Nutzlastantwort. Dieser String entspricht der in Dialogflow definierten benutzerdefinierten Nutzlast. Wenn die Nutzlast keine gültige JSON-Objektstruktur für Business Messages hat, beschreibt error das Problem.
error Die Beschreibung eines Fehlers mit einer Intent-Auftragsausführungsnachricht.
userQuestion Die Frage, die der Nutzer nach Dialogflow analysiert hat.
faqQuestion Eine Frage von Dialogflow stimmte mit der Frage des Nutzers überein.
faqAnswer Eine Antwort von Dialogflow entspricht der Frage des Nutzers.
matchConfidenceLevel Das Konfidenzniveau der Übereinstimmung zwischen userQuestion und faqQuestion.
matchConfidence Die numerische Konfidenzbewertung der Übereinstimmung zwischen userQuestion und faqQuestion.
autoResponded Gibt an, ob Business Messages dem Nutzer automatisch mit einer Antwort von Dialogflow geantwortet hat.
message Die Nutzlast der automatischen Antwort.
responseSource Die Quelle der automatischen Antwort. Siehe ResponseSource.

Grafik: 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",
  }],
},
...
Feld Beschreibung
queryText Der ursprüngliche Unterhaltungsabfragetext. Wenn die automatische Rechtschreibkorrektur für das Dialogflow-Modell aktiviert ist, enthält queryText die korrigierte Nutzereingabe.
intentName Die eindeutige Kennung des zugeordneten Intents.
intentDisplayName Der Name des zugeordneten Intents.
intentDetectionConfidence Die numerische Konfidenzbewertung der Übereinstimmung zwischen queryText und intentName.
text Eine Textantwort.
jsonPayload Eine benutzerdefinierte Nutzlastantwort. Dieser String entspricht der in Dialogflow definierten benutzerdefinierten Nutzlast. Wenn die Nutzlast keine gültige JSON-Objektstruktur für Business Messages hat, beschreibt error das Problem.
error Die Beschreibung eines Fehlers mit einer Intent-Auftragsausführungsnachricht.
liveAgentHandoff Benutzerdefinierte Metadaten für das Live-Agent-Handoff-Verfahren.
autoResponded Gibt an, ob Business Messages dem Nutzer automatisch mit einer Antwort von Dialogflow geantwortet hat.
message Die Nutzlast der automatischen Antwort.
responseSource Die Quelle der automatischen Antwort. Siehe ResponseSource.