Mit der Entscheidungs-Node steuerst du den Ablauf einer Anrufanalyse. Die Node prüft eine oder mehrere Bedingungen und hat zwei Ausgänge: Ja und Nein. Je nach Gesamtergebnis läuft die Analyse über den einen oder den anderen Pfad weiter.
Bedingungen arbeiten mit den Variablen, die an dieser Stelle der Analyse verfügbar sind: Standardfelder wie callerFirstName, eigene Felder und Variablen, die vorgelagerte Nodes erzeugt haben.
Bedingung anlegen
Eine Bedingung besteht immer aus drei Teilen: der Variable, die geprüft wird, dem Operator und dem Wert, mit dem verglichen wird.
Node einfügen

Füge über Aktion hinzufügen die Node Entscheidung ein und verbinde sie mit der vorherigen Node. An die Ausgänge Ja und Nein hängst du anschließend die Nodes, die im jeweiligen Fall ausgeführt werden sollen.
Variable, Operator und Wert wählen

Die neue Node startet mit einer leeren Bedingungszeile. Links wählst du die Variable, in der Mitte den Operator und rechts den Vergleichswert. Am Ende der Zeile liegen der Aa-Button für die Groß-/Kleinschreibung, ein Info-Symbol mit der Erklärung zum gewählten Operator und der Papierkorb zum Löschen der Zeile.
Operatoren
Welcher Operator sinnvoll ist, hängt vom Inhalt der Variable ab. =, ≠, enthält, enthält nicht, ist in und ist nicht in vergleichen als Text, Zeichen für Zeichen. Dabei wird nichts in Zahlen umgerechnet: 007 und 7 gelten als verschieden, führende Nullen in Kundennummern oder Postleitzahlen bleiben also erhalten. Die vier Größenvergleiche lesen beide Seiten dagegen als Zahl.
| Operator | Bedeutung |
|---|---|
| = | Wahr, wenn die Variable exakt dem Wert entspricht. |
| ≠ | Wahr, wenn die Variable nicht dem Wert entspricht. |
| > | Wahr, wenn die Variable größer als der Wert ist. Beide Seiten werden als Zahl gelesen. |
| < | Wahr, wenn die Variable kleiner als der Wert ist. Beide Seiten werden als Zahl gelesen. |
| ≥ | Wahr, wenn die Variable mindestens dem Wert entspricht. Beide Seiten werden als Zahl gelesen. |
| ≤ | Wahr, wenn die Variable höchstens dem Wert entspricht. Beide Seiten werden als Zahl gelesen. |
| enthält | Wahr, wenn der Text der Variable den Wert als Teilstück enthält. Bei einer Variable mit mehreren Einträgen ist die Bedingung wahr, wenn einer der Einträge exakt dem Wert entspricht. |
| enthält nicht | Wahr, wenn der Text der Variable den Wert nicht enthält. |
| ist in | Wahr, wenn die Variable exakt einem der hinterlegten Listenwerte entspricht. |
| ist nicht in | Wahr, wenn die Variable keinem der Listenwerte entspricht. |
| entspricht Regex | Wahr, wenn der Wert der Variable auf den regulären Ausdruck passt, zum Beispiel ^\+49 für deutsche Rufnummern. |
Bei >, <, ≥ und ≤ werden beide Seiten vor dem Vergleich in eine Zahl umgewandelt, sofern der Inhalt eine ist. 007 wird dabei zu 7, 1e3 zu 1000. Enthält eine der beiden Seiten etwas, das sich nicht als Zahl lesen lässt, ist die Bedingung nicht erfüllt. Bei entspricht Regex werden ungültige oder sehr aufwendige Muster abgelehnt, das wird dir aber in der Bedingung als Fehler angezeigt.
Der Aa-Button
Standardmäßig ist der Aa-Button inaktiv und Groß- und Kleinschreibung wird ignoriert, Meier trifft also auch auf meier zu. Aktivierst du den Button, wird für diese Bedingung zwischen groß und klein unterschieden. Der Button gilt jeweils nur für die Zeile, in der er sitzt.
Beispiel: Anrufer prüfen
In den folgenden Schritten entsteht eine Bedingung, die prüft, ob der Anrufer Peter Meier heißt.
Erste Bedingung setzen

Wähle als Variable callerFirstName, als Operator = und trage als Wert Peter ein.
Zweite Bedingung hinzufügen

Über + Bedingung hinzufügen kommt eine zweite Zeile dazu. Zwischen beiden Zeilen erscheint eine Verknüpfung, die du auf und oder oder stellen kannst.
| Verknüpfung | Bedeutung |
|---|---|
| und | Wahr, wenn beide Seiten zutreffen. |
| oder | Wahr, wenn mindestens eine der beiden Seiten zutrifft. |
Zweite Bedingung ausfüllen

Da beide Bedingungen zutreffen sollen, bleibt die Verknüpfung auf und. In der zweiten Zeile wählst du callerLastName, den Operator = und den Wert Meier.
Bedingungen testen
Im unteren Teil der Node liegt der Bedingungs-Test. Damit prüfst du die Logik, ohne die komplette Analyse auszuführen.
Beispielwerte eintragen

Der Test listet alle Variablen auf, die in den Bedingungen verwendet werden. Trage dort Beispielwerte ein, etwa Peter bei callerFirstName, und klicke auf Bedingungen testen. Unter dem Test siehst du für jede einzelne Bedingung, ob sie zutrifft, und dahinter das Gesamtergebnis.
Ausgänge verbinden

Das Gesamtergebnis entscheidet, welcher Ausgang der Node genommen wird. Hängst du zum Beispiel an beide Ausgänge eine SMS-Node, geht die Nachricht je nach Ergebnis an unterschiedliche Empfänger.
Mehrere Werte prüfen
Das Beispiel lässt sich erweitern: Die Analyse soll auch dann greifen, wenn der Anrufer eine von mehreren bekannten E-Mail-Adressen hat.
Bedingung mit Werteliste

Füge eine dritte Bedingung hinzu und stelle die Verknüpfung davor auf oder. Wähle als Variable callerEmail und als Operator ist in. Trage die Adressen test@smao.ai, test2@smao.ai und test3@smao.ai nacheinander ein und bestätige jede mit Enter.
Erweiterte Bedingung testen

Setze im Test callerFirstName auf Max und callerEmail auf test@smao.ai. Das Gesamtergebnis ist Ja: Die beiden Namensbedingungen treffen nicht zu, die E-Mail-Bedingung dagegen schon.
Klammern setzen
Die Bedingungen werden strikt von oben nach unten ausgewertet. und und oder haben keinen Vorrang voreinander. Soll ein Teil zuerst berechnet werden, setzt du wie in der Mathematik eine Klammer.
Klammer anlegen

Klicke auf Klammer setzen, wähle die Bedingungen aus, die zusammengehören, und bestätige erneut mit Klammer setzen. Eine Klammer braucht mindestens zwei Einträge, und die Einträge müssen direkt aufeinanderfolgen und auf derselben Ebene liegen. Über die Symbole an der Klammer kannst du sie später um weitere Bedingungen erweitern oder wieder auflösen, die Bedingungen bleiben dabei erhalten.
Ergebnis mit Klammer

Klammerst du die zweite und dritte Bedingung ein und testest mit denselben Werten, ist das Gesamtergebnis Nein. In der Klammer trifft die E-Mail-Bedingung zu, also ist die Klammer wahr. Nach außen zählt sie als eine einzelne Bedingung, die mit und an die erste Bedingung gekoppelt ist, und callerFirstName ist nicht Peter. Im Test bekommt jede Klammer ein eigenes Zwischenergebnis, so lässt sich nachvollziehen, an welcher Stelle das Ergebnis kippt.