Automation

Workflows

Dieses Dokument beschreibt das Konzept der Workflows.

Es wird erklärt, wie sie angelegt und im Bot verwendet werden können. Außerdem gehen wir auf den Unterschied zwischen den beiden Trigger Typen "bot" und "Inbound integration" ein.

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 auf zwei verschiedene Art und Weisen ausgespielt werden und werden daher auf zwei Trigggertypen aufgeteilt:

  • Trigger Typ "Inbound integration": Der Workflow wird durch eine Inbound-Integration getriggert. Das bedeutet, dass der Workflow von einem externen System über eine URL aufgerufen werden kann.
  • Trigger Typ "bot": Der Workflow wird direkt in einem Dialog aufgerufen. Dazu wird eine Workflow-Operation in einer DialogAction verwendet.

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.

Send email

Der Send email Step erlaubt das Senden von nutzerspezifischen Email-Nachrichten.

Der Adressat, Betreff und Email-Body lassen sich frei anpassen und auch über Workflow-Inputs setzen.

Wird der Step ohne, oder mit ungültigem Adressat ausgeführt, wird keine Email versendet aber der Step wird dennoch erfolgreich ausgeführt. Das erlaubt es einen flexiblen und robusten Workflow zu bauen. Um zu überprüfen ob tatsächlich eine Email versendet wurde, muss der Step-Output "success" in einen Workflow-Output gesetzt werden.

Attachments

Es lassen Sich auch Anhänge per Email versenden. Um einen Anhang hinzuzufügen muss eine Asset-Id angegeben werden, diese erhält man aus dem Media Core-Behavior, wenn dort per Nutzereingabe eine Datei hochgeladen wird.

Bei den Attachments gilt ebenfalls: Ist die Id ungültig oder nicht vorhanden schlägt der Workflow nicht fehl, sondern das Attachment wird ignoriert. Damit lässt sich ein Workflow bauen, der sowohl E-Mails mit als auch ohne Attachment versenden kann.

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:

Previous
Integrations