Automation
Workflows
Dieses Dokument beschreibt das Konzept der Workflows, wie sie angelegt und im Bot verwendet werden können.
Einleitung
Workflows dienen der Prozessautomation und der flexiblen Integration von Drittsystemen. Sie erweitern die Handlungsfähigkeit des Chatbots, indem sie komplexe Prozessautomatisierungen innerhalb eines Dialoges ermöglichen, und Kundenprobleme aktiv lösen.
Informationen zwischen den einzelnen Workflow Schritten können durch Smart Expressions referenziert werden. Dies ermöglicht eine flexible Datenverarbeitung und Manipulation innerhalb der Workflows.
Workflows können durch zwei Arten von Triggern ausgelöst werden:
- durch Aufrufe einer Inbound-Integration
- als Workflow-Operation aus einem Bot heraus.
Diese ermöglichen es dem Bot, Aktionen aus dem Dialog heraus auszuführen oder auf Ereignisse von externen Tools zu reagieren, um beispielsweise Informationen zu einem Benutzer zu aktualisieren oder Push-Nachrichten an Benutzer zu senden.
Bot Triggered
Um einen Workflow in einem Bot aufzurufen, muss dieser zunächst vom Trigger-Typ Bot angelegt werden. Hier können Input und Output Variablen angelegt werden:
Die Variablen, die unter Input from bot angelegt werden erscheinen in der DialogAction und können z.B. mit ContextParametern befüllt werden: Im Output Schritt eines Workflows werden die Output-Parameter des Workflows konfiguriert, die dieser im Bot (als Edge Variable) bereitstellt.
Ist der Workflow angelegt kann er kurzer Zeit als Operation in einer DialogAction hinzugefügt werden:
Inbound Integration Triggered
Um einen Workflow von aussen auszuführen, muss ein Workflow vom Trigger-Typ Inbound integration angelegt werden. Wähle zunächst einen sprechenden Namen und eine Beschreibung für den Workflow. Anschließend kann per Drag-And-Drop eine zuvor angelegte Inbound-Integration als Trigger verwendet werden. Der Trigger kann nachträglich nicht mehr geändert werden!
Die Input-Variablen werden von der entsprechenden Integration definiert und dem Workflow übergeben. Die Output-Variablen werden ebenfalls an der Integration definiert. Die Werte werden jedoch vom zugehörigen Workflow befüllt und nach erfolgreicher Ausführung der aufrufenden Integration zurückgegeben:
Steps
Jeder Step in einem Workflow benötigt mindestens einen Input und liefert mindestens einen Output. Je nach Komplexität des Workflows können weitere Einstellungen für jeden Step erforderlich sein. Workflows unterscheiden sich in Standard-Steps und Integrations-Steps.
Standard Workflow Schritte sind Plattform-native Operationen wie z.B. Context-Updates oder das Identifizieren oder Anlegen eines Users. Integration-Steps hingegen spiegeln die angelegten Outbound-Integrationen wider. Diese Schritte können ganz einfach per Drag-and-drop hinzugefügt werden.
Aktuell werden folgende Standard-Steps angeboten:
JSON transform
Über den JSON transform Step kann auf Informationen in strukturierten JSON Objekten zugegriffen werden.
Neben den Standard-Operationen die JSON Transform bietet, gibt es folgende Mercury-spezifische Built-In Funktionen:
- numberFormat(<Format>;<Lang>): Formatiert eine Zahl repräsentiert als String in ein beliebiges Format. <Format> definiert das Format, z.B. "0.00" und <Lang> ist das Locale, in dem das Format sein soll. Beispiel:
numberFormat("0.000";"de")
macht aus der Zahl "12.3456" folgendes machen: "12,346". Weiterführende Dokumentation zum Format befindet sich hier. - dateTimeFormat(<Format>;<Zone>): Formatiert ein beliebiges Datum (mit Uhrzeit) in das mitgegebene Datumsformat <Format> und Zeitzone <Zone>. Beispiel:
dateTimeFormat("dd.MM.yyyy";"Europe/Berlin")
macht aus "2024-06-11T12:00:00Z" folgendes: "06.11.2024". Weiterführende Dokumentation zu den Pattern und den Zeitzonen befindet sich hier. - replaceAll(<RegEx>;<Replacement>): Ersetzt Worte in einem beliebigen Text. <RegEx> ist der reguläre Ausdruck, mit dem diese Zeichenfolge abgeglichen werden soll. <Replacement> ist die Zeichenfolge, die für jede Übereinstimmung ersetzt werden soll. Beispiel:
replaceAll("true";"correct")
macht aus "The input was true" folgendes: "The input was correct".
Identify (or create) bot user
Der Identify (or create) bot user ist ein notwendiger Step, wenn ein Context Update ausgeführt oder eine Whatsapp-Template-Message per Send Whatsapp template an einen Nutzer geschickt werden soll. Über diesen Schritt wird der entsprechende Nutzer über seine native Id identifiziert und mit dem Workflow verknüpft. Kann kein Nutzer unter der gegebenen nativen Id gefunden werde, kann optional ein neuer Nutzer für den entsprechenden Kanal angelegt werden.
Update Context
Der Update Context Step erlaubt ein Update von ContextParametern ausserhalb des Bots.
Der Step ist nur verfügbar, wenn der Workflow von einer Inbound-Integration getriggert wird!
Um einen ContextParameter zu setzen, muss zunächst über den Identify (or create) bot user Step der entsprechende Nutzer identifiziert und mit dem Workflow verknüpft werden.
Send Whatsapp template
Der Send Whatsapp template Step lässt Dich zuvor angelegte Whatsapp-Template-Messages an Nutzer versenden.
Um eine Whatsapp-Template-Message senden zu können muss zunächst über den Identify (or create) bot user Step der entsprechende Nutzer identifiziert und mit dem Workflow verknüpft werden.
History
Unter dem Tab History werden Ausführungen des Workflows geloggt. Die History, stellt überwiegend ein Hilfsmittel zur Entwicklung dar, sodass bei einer hohen Frequenz an Ausführungen nur ein Subset geloggt wird. Log-Einträge verschwinden nach einer unbestimmten Zeit aus der Liste:
Klicke auf einen Eintrag, um eine Detailansicht zu bekommen: