02.02.2022 |
Während Bots für einige Use Cases – wie die Abfrage von FAQs – ohne eine Anbindung an unternehmensinterne Systeme auskommen, werden diese bei anderen benötigt, um z.B. Kundendaten abzugleichen. Dies wird in Google Dialogflow als Fulfillment bezeichnet.
In diesem Artikel zeigen wir Ihnen wie Sie in Dialogflow und TENIOS einen VoiceBot inkl. Fulfillment / Webhook konfigurieren.
Beispiel-Use Case:
Es soll ein VoiceBot erstellt werden, der Anrufern Auskunft zum Lieferstatus ihrer Bestellung erteilt. Dabei soll der Status anhand der Bestellnummer abgeglichen und ausgegeben werden.
[mkb-tip]In dieser Anleitung starten wir direkt mit der Definition der für unseren Use Case relevanten Intents. Für die einzelnen Schritte zum Setup des Dialogflow Assistenten, folgen Sie bitte den Ausführungen in unserem Basis-Tutorial.[/mkb-tip]
Intent Nr. 1: „Wo bleibt mein Paket?“
Zunächst erstellen wir in unserem Dialogflow Agenten einen neuen Intent. Der Anrufer möchte gerne wissen, wann seine Bestellung geliefert wird. Passende Training Phrases können sein:
Um den Nutzer eindeutig zu identifizieren, bietet sich die Abfrage der Bestellnummer an. Die Response könnte lauten:
Intent Nr. 2: Abgleich der Bestellnummer
Jetzt ist der Nutzer wieder an der Reihe: Die Bestellnummer soll durchgegeben werden. Hierzu wird ein sogenannter Follow-Up Intent, der darauffolgende Intent im Gesprächsverlauf, mit dem Titel „Bestellnummer“ erstellt.
Im nächsten Schritt werden Training Phrases erstellt, die die unterschiedlichen Eingaben der Bestellnummer abbilden.
Entitäten verwenden
An dieser Stelle kommen nun Entities zum Einsatz: Diese können genutzt werden, um Eingaben wie z.B. eine Nummer auch als Nummer zu erkennen und als Wert in einer vordefinierten Variable zu erfassen. Typische Entitäten sind Datum, Uhrzeit, Orte und Adressen. In unserem Fall ist es die Bestellnummer, die über die System-Entität @sys.number erfasst werden kann.
Um die Enitäten zu nutzen werden diese im einzelnen Intent unter dem Abschnitt Action und parameters eingefügt. Die Entity @sys.number ist in diesem Fall von Dialogflow vordefiniert. „Parameter Name“ und „Value“ können selbst gewählt werden.
In den Training Phrases kann nun der Bereich der Eingabe markiert werden, der als Bestellnummer erkannt werden soll:
Zunächst definieren wir im Intent „Bestellnummer“ noch die zugehörige Response durch den Dialogflow Agenten. Diese könnte wie folgt lauten:
In dieser Response können nun die vorab definierte Variablen als Platzhalter angegeben werden, die sowohl die Bestellnummer als auch das Lieferdatum ausgeben sollen. Diese Platzhalter werden später mithilfe von Fulfillment ausgefüllt. Die Ausgabe von $Bestellnummer dient zum Abgleich mit der Kundeneingabe, die Ausgabe von $date gibt schließlich Auskunft über den erfragten Lieferstatus.
Datenbanken anbinden via Fulfillment
Da für die Identifikation der Bestellnummer und die anschließende Ausgabe des Lieferdatums ein Zugriff auf ein CRM-System oder eine Unternehmensdatenbank notwendig ist, muss das System angebunden werden. Dies ist in Dialogflow unter dem Punkt Fulfillment möglich.
[mkb-info]Was ist Fulfillment?
Beim Fulfillment werden Informationen, die durch die natürliche Sprachverarbeitung von Dialogflow extrahiert wurden, genutzt, um Antworten zu generieren oder bestimmte Aktionen auszulösen. Dies kann zum Beispiel die Ausgabe dynamischer Antworten sein, die über das kundeneigene CRM-System abgerufen wurden. Ein weiteres Beispiel ist die Aufgabe einer Bestellung auf Basis des vom Kunden genannten Produkts.
[/mkb-info]Dazu wird im entsprechenden Intent – in unserem Fall dem Intent „Bestellnummer“ – im unteren Bereich das Fulfillment via Webhook aktiviert:
Im Reiter Fulfillment erfolgt nun die Verknüpfung der Webservices. Hier können Sie wählen zwischen der Anbindung via Webhook oder Inline-Editor.
[mkb-info]Was ist ein Webhook?
Ein Webhook ist eine HTTP-Anfrage, die gesendet wird, wenn bestimmte Kriterien erfüllt sind. In Dialogflow kann dieser verwendet werden, um Daten vom kundenseitigen Server abzurufen, sobald ein Intent mit aktiviertem Webhook ausgeführt wird. Die entsprechende Information – z.B. eine Statusmeldung – wird an Dialogflow übergeben und an den Nutzer ausgegeben.
[/mkb-info]
Für die Nutzung des Webhooks aktivieren Sie bitte den Schieberegler. Im Feld „URL“ können Sie nun die URL Ihres eigenen Webservice eintragen. Dialogflow sendet beim Aufruf des zugehörigen Intents einen Post Request an Ihren Service. Dort wird die entsprechende Aktion ausgeführt – in unserem Beispiel der Abgleich der Bestellnummer mit dem Lieferdatum – und die Parameter werden an Dialogflow zurückgegeben. Welche Anforderungen der Webdienst erfüllen muss, entnehmen Sie bitte der Dialogflow-Dokumentation.
Beim Inline-Editor wird das Fulfillment direkt in Dialogflow erstellt und verwaltet. Für diesen Service erhebt Dialogflow zusätzliche Gebühren. Mehr Informationen erhalten Sie in der Dokumentation in Dialogflow.
Integration in die Telefonie
Nachdem der Webservice erfolgreich angebunden ist, kann der Dialogflow Agent in die Telefonie eingebunden werden. TENIOS verfügt mit seiner VoiceBot API über eine Schnittstelle, die eine Nutzung als TelefonBot in nur wenigen Schritten ermöglicht. Die Übersetzung von Text- in Sprachsignale erfolgt während des Dialogs in Echtzeit.
Wie die Verknüpfung von Dialogflow und TENIOS funktioniert, erfahren Sie Schritt für Schritt in unserer Basis-Anleitung ab Kapitel 1.3.
Sie möchten mehr über den Einsatz von Telefonbots erfahren oder benötigen Unterstützung bei der Umsetzung? Unsere Experten beraten Sie gerne!