Daten setzen (flow.set-data)
Legt Flow-Variablen an, ergänzt sie, zählt hoch oder löscht sie.
Wofür Sie diesen Baustein nutzen
Im Flow-Designer können Sie Informationen, die während eines Ablaufs entstehen, in sogenannten Variablen zwischenspeichern. Stellen Sie sich Variablen wie beschriftete Zettel vor, auf denen der Flow Notizen hinterlässt — zum Beispiel „Status: offen" oder „Anzahl Prüfschritte: 3". Spätere Bausteine können diese Zettel lesen, um Entscheidungen zu treffen oder Nachrichten zu formulieren.
Der Baustein Daten setzen ist das einzige Werkzeug, mit dem Sie diese Variablen erzeugen, verändern und wieder entfernen. Er eignet sich für folgende Situationen:
- Zustand festhalten: Sie markieren am Anfang eines Genehmigungsprozesses den Status als „offen" und ändern ihn am Ende auf „genehmigt" oder „abgelehnt".
- Zähler führen: Sie erfassen, wie viele Personen eine Anfrage bereits gesehen haben, oder wie oft ein Erinnerungs-Schritt gelaufen ist.
- Werte weitergeben: Sie übernehmen den Inhalt einer Variable in eine andere — etwa um einen Ursprungswert zu sichern, bevor er überschrieben wird.
- Aufräumen: Sie entfernen eine Variable am Ende des Flows, damit beim nächsten Durchlauf kein alter Wert stört.
Neutraler Startpunkt
Mit einer leeren Operationen-Liste tut der Baustein nichts weiter, als den Flow an dieser Stelle passieren zu lassen. Das macht ihn zu einem praktischen Start- oder Sammelpunkt am Beginn eines Flows: Im Tutorial Freigabe-Flow selbst bauen wird er genau so als erster Baustein „Start" eingesetzt. Er markiert klar, wo der Ablauf beginnt, ohne bereits Daten zu verändern.
Die Einstellungen im Detail
Der Baustein hat ein einziges Feld: Operationen. Dort legen Sie eine Liste von Einträgen an. Jeder Eintrag beschreibt genau eine Aktion auf genau einer Variable.
Ein Eintrag besteht immer aus:
- key — der Name der Variable, auf die die Aktion angewendet wird.
- op — die gewünschte Aktion (siehe Tabelle unten).
- value — ein fester Wert, den Sie direkt eingeben; oder
- from — der Name einer anderen Variable, deren aktueller Inhalt übernommen wird.
valueundfromschließen sich gegenseitig aus.
Die vier möglichen Operationen im Überblick:
| op | Wirkung | Beispiel |
|---|---|---|
set | Setzt die Variable auf den angegebenen Wert. Ein bereits vorhandener Wert wird überschrieben. Existiert die Variable noch nicht, wird sie neu angelegt. | key: "status", value: "offen" — die Variable status enthält danach den Text offen. |
append | Hängt den angegebenen Wert an eine Liste an. Ist die Variable noch keine Liste, wird sie in eine Liste umgewandelt und der neue Wert als erstes Element eingetragen. | key: "beteiligte", value: "Frau Müller" — nach drei Durchläufen enthält beteiligte die Liste ["Frau Müller", "Herr Schmidt", "Frau Yilmaz"]. |
increment | Erhöht eine Zahl um den angegebenen Wert. Handelt es sich bei value um keine gültige Zahl, wird stattdessen um 1 hochgezählt. Ist die Variable noch nicht vorhanden, beginnt die Zählung bei dem angegebenen Wert. | key: "zaehler", value: 1 — bei jedem Durchlauf steigt zaehler um eins. |
delete | Entfernt die Variable vollständig aus dem Flow-Kontext. Existiert sie nicht, passiert nichts. | key: "zwischenwert" — die Variable ist danach nicht mehr vorhanden. |
Sie können in einem einzigen Baustein mehrere Einträge hintereinander anlegen. Sie werden von oben nach unten ausgeführt. Das ist nützlich, wenn Sie zum Abschluss eines Schritts mehrere Variablen gleichzeitig aktualisieren möchten.
Variablen und Platzhalter
Variable-Namen (key) können frei gewählt werden. Bewährt haben sich kurze englische oder deutsche Bezeichnungen ohne Leerzeichen, zum Beispiel status, zaehler oder antragsteller.
In anderen Bausteinen — etwa in Nachrichten oder Bedingungen — können Sie auf gespeicherte Variablen über die Platzhalter-Schreibweise zugreifen. Eine Variable, die mit diesem Baustein unter dem Namen status gesetzt wurde, lässt sich in einer Nachricht als einbetten.
Gültigkeit der Variablen
Variablen gelten immer nur für den laufenden Durchlauf des Flows. Startet ein neuer Durchlauf (zum Beispiel eine neue Anfrage), beginnt der Kontext leer — es sei denn, ein anderer Baustein befüllt ihn erneut.
Wenn etwas schiefgeht
Die Variable hat nicht den erwarteten Wert. Prüfen Sie, ob ein anderer Baustein weiter oben im Flow dieselbe Variable mit set überschreibt. Die Reihenfolge der Bausteine bestimmt, welcher Wert zuletzt gespeichert wird.
increment erzeugt nicht die erwartete Zahl. Stellen Sie sicher, dass value eine tatsächliche Zahl ist (zum Beispiel 1, nicht "eins"). Ist value kein gültiger Zahlenwert, wird automatisch um 1 erhöht — das kann zu Überraschungen führen, wenn Sie eigentlich um einen größeren Schritt zählen wollten.
Eine Variable taucht in einer Nachricht nicht auf. Kontrollieren Sie die genaue Schreibweise: (kleingeschrieben, ohne Leerzeichen) muss exakt mit dem key übereinstimmen, der im Baustein eingetragen wurde. Groß- und Kleinschreibung wird unterschieden.
Variable nach delete nicht mehr verfügbar
Wenn Sie eine Variable mit delete entfernt haben, ist sie in allen nachfolgenden Bausteinen nicht mehr vorhanden. Ein Platzhalter wie bleibt dann leer oder erzeugt eine Fehlermeldung im Folgebaustein. Entfernen Sie Variablen deshalb erst ganz am Ende des Flows, wenn sie nicht mehr benötigt werden.
Der Baustein erscheint im Flow, tut aber nichts. Haben Sie die Operationen-Liste leer gelassen und wundern sich über fehlende Werte? Das ist beabsichtigt — ein leerer Baustein ist ein reiner Durchlaufpunkt. Fügen Sie mindestens einen Eintrag hinzu, damit Variablen gesetzt werden.
Beispiel
Ein einfacher Genehmigungsprozess setzt beim Start zwei Variablen:
Erster Eintrag:
- key:
status - op:
set - value:
offen
Zweiter Eintrag:
- key:
zaehler - op:
increment - value:
1
Sobald der Flow startet, enthält status den Wert offen. Der Wert zaehler steigt bei jedem Durchlauf um eins — hilfreich, wenn eine Anfrage mehrfach zur Prüfung weitergereicht werden kann und Sie nachverfolgen möchten, wie oft das bereits geschehen ist.
Am Ende des Flows, wenn die Entscheidung gefallen ist, kann ein weiterer Baustein Daten setzen folgen:
Eintrag:
- key:
status - op:
set - value:
genehmigt
So spiegelt status jederzeit den aktuellen Stand der Anfrage wider und kann in Benachrichtigungen oder Protokollen verwendet werden.