Variablen, auch Attribute oder Merkmale genannt, stellen eine Möglichkeit dar, Informationen über den Nutzer:innen in dessen Profil zu speichern. Mithilfe von Variablen können Informationen flexibel über den Chat oder das Nutzerprofil eingesammelt und an anderer Stelle (zB., im Chatbot, in Notifications in WhatsApp oder in Chatbausteinen im Ticket System) wiederverwendet werden.
Systemvariablen, wie z.B. $profile_name$, $profile_number$, $profile_messenger$, speichern die Nutzerinformationen. Im Chatbot lassen sich die Werte der Variablen über bestimmte Anweisungen abfragen, löschen oder ändern (mehr dazu im Thema Spezialausdrücke). Mit Variablen kannst Du auch bequem Regeln für Bot-Antworten definieren. Mehr dazu findest Du im Thema Bedingungen.
Die häufigsten Anwendungsfälle von Variablen sind:
- Setzen von Präferenzen: Lieblingsfarbe, Reiseziel…
- Personalisierung: Name, Alter, Adresse…
- Targeting: Bildung von Zielgruppen für den Content/Notification Versand, z. B. Nachrichtenkategorien.
- Bedingugen für Dialoge: z.B. wenn der Name des Users bereits bekannt ist, soll er/sie nicht mehr abgefragt werden.
Variablen anlegen
Variablen müssen benannt werden (z. B. koerpergroesse) und einem Datentyp zugeordnet werden (z. B. Zahl).
Name
Mit dem Namen werden die Variablen im Chatbot Builder angesprochen. Der Name der Variable wird im entsprechenden Feld definiert. Durch das Setzen des Namens zwischen zwei $-Zeichen wird die Variable im Dialog angesprochen. So wird z. B. aus „Geburtsdatum“ im Dialog $geburtsdatum$. Achte stets auf die Groß- und Kleinschreibung. Als Zeichen für eine Variable darfst du nur Buchstaben A-Z, a-z, Ziffern 0-9 oder den Unterstrich _ verwenden.
Label
Label ist ein Alias, der den Agenten in der der Benutzeroberfläche angezeigt wird.
Typ
Je nachdem welche Informationen Du erfassen möchtest, musst Du den richtigen Datentyp für Deine Variable wählen.
Werte
Im Werte-Feld kann, wenn erforderlich, ein zulässiger Wertebereich für eine Variable definiert werden. Ungültige Eingaben, die außerhalb des Wertebereichs liegen, können ggf. als solche kommentiert werden.
Bei Zahlen kann der Wertebereich mit Vergleichsoperatoren (>; <; >=; <=) eingeschränkt werden. Es können auch mehrere Bedingungen definiert und mit einem Leerzeichen getrennt aufgelistet werden (das Leerzeichen wird als eine UND-Verknüpfung gewertet). Für einen gültigen Wertebereich von 0-100 kann z. B. die Bedingung >=0 <=100 gesetzt werden.
Default
Im Default-Feld kann ein Start-Wert für die Variable vordefiniert werden. Dies macht dann Sinn, wenn ein Chat mit einer Variable geführt wird, der Variable aber noch nicht durch Nutzereingabe ein Wert zugeteilt wurde.
Beispiel: Bei einem Bestellvorgang befasst sich ein Chat mit der Anzahl bestellter Produkte. „Anzahl“ ist eine Variable vom Typ Zahl. Als Default-Wert wird 0 vordefiniert. Solange der/die Nutzer:in nicht durch eine Eingabe die Anzahl der Produkte ändert, um somit der Variablen einen neuen Wert zuzuteilen, wird der entsprechende Chat mit der Variablen Anzahl immer den Wert 0 ausgeben. Ändert der/die Nutzer:in durch eine Eingabe den Wert, wird derselbe Chat die Anzahl mit dem neuen Wert ausgeben.
Nutzerprofil
Mit der Speicherfunktion (Disketten-Symbol) im Nutzerprofil lässt sich bestimmen, ob zugeteilte Werte einer Variablen (z. B. Geburtsdatum) dauerhaft gespeichert werden sollen. Ein gesetzter Haken aktivieren die dauerhafte Speicherung.
Mit der Funktion für die Profilseite (Avatar-Symbol) wird geregelt, auf welche Variablen der User auf seiner Profilseite zugreifen kann. Die Werte der Variablen, für die eine Zugriffsberechtigung erteilt wird, können so von dem/der Nutzer:in selbst geändert werden. Ein gesetzter Haken erlaubt den Zugriff auf die jeweilige Variable.
Datentypen
Jede Variable hat einen speziellen (Daten-) Typ, je nachdem welche Daten damit erfasst werden sollen. Der Typ ist nötig um gültige Inhalte zu bestimmen.
Beispiel: Hat eine Variable den Typ Zahl, kann hier kein Text abgespeichert werden, weil die Zeichen unzulässig sind.
Details zu den verschiedenen Datentypen:
Zahl
Variablen vom Typ Zahl speichern einzelne Zahlen, sowie Zahlen mit laufenden Kommastellen.
Wort
Variablen vom Typ Wort speichern eine Texteingabe bis zum erste Leerzeichen oder Satzzeichen. Eine Texteingabe mit einem Bindestrich wird als ein Wort gewertet.
Beispiel: Bei der Eingabe „Hans Joachim“ würde nur „Hans“ als Variablenwert abgespeichert werden. Die Eingabe „Hans-Joachim“ hingegen zählt als ein Wort.
Text
Variablen vom Typ Text speichern eine Folge von Wörtern und Zeichen, inkl. Satzzeichen.
Datum
Variablen vom Typ Datum speichern Daten ab. Standardmäßig werden die Eingaben in Format TT.MM.JJJJ und TT-MM-JJJJ zugelassen, weitere Formate können in der Spalte „Werte“ zusätzlich festgelegt werden: d/m/Y oder m/d/Y. Wenn die Variable vom Typ Datum den Wert über Datenimport zugewiesen wird, soll der Wert im csv-File im Format JJJJ-MM-TT eingetragen werden.
Zeit
Variablen vom Typ Zeit speichern Zeitangaben ab. Es werden Eingaben im 24h-Format akzeptiert (14:30).
Ort
Über die Google Maps Geocoding API kann eine Ortsvariable gesetzt und gespeichert werden. Du kannst die Suche bei Google Maps mit dem Components Filter, z.B. nur auf Deutschland, einschränken (siehe Google Maps Doku):
Für Variablen vom Typ „Ort“ kannst du auf die Geoordinaten wie folgt zugreifen: $varname.location.lat$ und $varname.location.lng$, zB. $adresse.location.lat$
Aufzählung
Variablen vom Typ Aufzählung erkennen eine Auswahl aus vordefinierten Werten als gültige Eingabe und speichern diese ab. Zugelassene Auswahl kannst du im Feld „Werte“ in Menü „Variablen“ definieren, diese kann aus beliebig vielen, durch ein Komma getrennten Werten bestehen. Es kann aber immer nur ein Wert pro Variable gespeichert werden.
Bsp.: Variable telefonkontakt speichert die Einwilligung des Users zur telefonischen Kontaktaufnahme und hat die erlaubten Werte:ja und nein. Der/Die Nutzer:in darf nur eine von diesen Werten auswählen.
Kleiner Trick: Der User kann im Dialog auch statt des genauen Namens, die Nummer des Elements in der Liste schreiben, bei oben genanntem Beispiel wäre das die 1 für ja (funktioniert nur innerhalb von Themen).
Sammlung
Variablen vom Typ Sammlung funktionieren ähnlich wie Aufzählungen: eine Auswahl aus vordefinierten Werten wird als Eingabewert erkannt und gespeichert. Allerdings können bei Sammlungen mehrere Werte pro Variable gespeichert werden.
Beispiel: Die Variable „lieblingsfarbe“ hat die erlaubten Werte: blau,grün,rot,schwarz,gelb.
Der/Die Nutzer:in kann nun mehrere Werte speichern, indem er/sie die Wörter durch ein Komma getrennt auflistet: „blau,schwarz“ oder er/sie schreibt einfach die entsprechenden Nummern aus der Liste: „1,4“.
Abhängig von der Anzahl an gespeicherten Werten, können durch diesen Variablen-Typ verschieden viele Dialoge getriggert werden (siehe Screenshot unten). Als Nutzereingabe wird der Ausdruck $namedervariable_x$ vordefiniert, wobei x die Anzahl an den in einer Sammlung gespeicherten Werten inklusive der gematchten Nutzereingabe ist (x muss eine Zahl sein).
Mit dem Ausdruck $namedervariable_duplicate$ in der Nutzereingabe können Dialoge gestartet werden, die auf eine wiederholte Eingabe eines Elements der Sammlung reagieren. So kann z. B. auf Doppel-Nennung hingewiesen werden. Einen Beispiel für die Verwendung von diesen Ausdrücken findest du unten.
Den Ausdruck $namedervariable_num$ gibt einen Überblick über die Anzahl der vor dem Match gespeicherten Werte für eine Variable des Typs Sammlung und kann in Bedingungen angewendet werden.
Mit dem Spezialausdruck $namedervariable_list_options$ kannst du die vordefinierte Werte den Variablen vom Typ Sammlung oder Aufzählung ausgeben (oder auch fett formatiert: $namedervariable_list_options_bold$).
Entität
Wurden im Reiter Datenmodell Entitäten angelegt, so lassen sich diese als Variablen einsetzten. Eine Variable vom Typ Entität erkennt die Identifikatoren der Entität als möglichen Wert. Die Auswahl der Werte wird also durch das Anlegen der Identifikatoren einer Entität vordefiniert. Für weitere Informationen zu Entitäten liest du bitte in der Dokumentation den Reiter Datenmodell (Pro).
MIA Themen
Variable vom Typ MIA Themen speichert Kategorien der MIA Inhalten. Der Datentyp „MIA Themen“ kann beim Anlegen der neuen Variable auswählt und nur ein mal verwenden werden. In der Spalte „Werte“ kannst du die verfügbare MIA-Kategorien definieren (mehrere Kategorien sind möglich). Falls eine Kategorie bei der MIA-Anmeldung automatisch gesetzt sein sollte, führe den Wert in der Spalte „Default“ ein. In unserem Beispiel hier, wird die Kategorie „Allgemein“ bei der MIA-Anmeldung für jede/e Nutzer:in aktiviert. Weitere Kategorien kann der/die Nutzer:in zB. über die Profilseite auswählen.
Variablen im Dialog nutzen
Mithilfe des Dollarzeichens $ kannst du Variablen in einem Dialog nutzen, um die Nutzereingaben zu speichern, Variablenwerte in Bot-antworten anzuzugen, Werte setzen und den Dialogflow zu konditionieren.
Der Name der Variablen wird dabei von zwei Dollarzeichen eingeschlossen, z. B. $vorname$. Achte dabei stets auf die Groß- und Kleinschreibung. Die jeweilige Variable kann dabei sowohl auf Seite der Nutzerfrage als auch auf Seite der Bot-Antwort genutzt werden.
Beispiel:
Nutzerfrage = $vorname$ > Bot speichert den eingegebenen Vornamen ab (Jasmin)
Bot-Antwort: „schön dich kennenzulernen, $vorname$“
Des weiteren werden die Lieblingsfarben des/der Nutzer:in abgefragt und in die Variable lieblingsfarbe (Typ Sammlung) gespeichert.
Der User kann seinen eingegebenen Daten auch selbst auf seiner persönlichen Profilseite einsehen und ändern, wenn du das zulässt. Über das Stichwort „Profil“ bekommt der/die Nutzer:in einen Link zu seiner persönlichen Profilseite zugesendet.
Die eingegebenen Daten sind auch für Agenten in der Arbeitsfläche in dem Panel Nutzermerkmale sichtbar.