Flows
Erste Schritte
Als Ergänzung zu dieser Seite empfehlen wir die Seite Erste Schritte. Diese Seite erklärt am Beispiel, wie man Flows erstellt und die wichtigsten Kern-Steps.
Was ist ein Flow?
Ein Flow ist das wichtigste Element in Synesty Studio und Kern aller Automatisierungen. Ein Flow ist die Bezeichnung für einen Prozess bestehend aus mehreren Schritten, den Steps.
Ein Flow ist vergleichbar mit einem Kochrezept und Steps sind die Zutaten.
- Es gibt Steps für unterschiedlichste Systeme und Funktionen wie z.B. Daten holen, Daten bearbeiten und Daten wieder ausgeben oder hochladen.
- Steps werden in Step-Gruppen (Analog zu Dateien in Ordnern) gebündelt.
- Step-Gruppen werden untereinander mittels Links verknüpft.
- Startet werden die verlinkten Step-Gruppen hintereinander ausgeführt.
- Ist eine Step-Gruppe an der Reihe, werden alle Steps in der Gruppe nacheinander ausgeführt.
- Jeder Step kann die Ausgabe vorheriger Steps weiter bearbeiten (stellen Sie sich mehrere Trichter hintereinander vor).
- Ein Flow kann manuell und automatisiert ausgeführt werden.
- Jede Ausführung eines Flows wird als Run bezeichnet.
- Jeder Run erzeugt einen Eintrag im Eventlog mit Informationen über Erfolg/Fehler und diverse Meldungen über den Fortschritt.
- Die Anzahl der monatlich möglichen Runs ist in der Regel unbegrenzt, hängt aber davon wann Sie welches Paket gebucht haben. Ältere Paket können durchaus eine Begrenzung der Runs haben.
Flow erstellen
Es gibt mehrere Möglichkeiten einen Flow zu erstellen.
Schauen Sie hier für eine detaillierte Dokumentation
Flow bearbeiten
Öffnen Sie ein Flow, öffnet sich die sogenannte Flow Editor Ansicht. Hier haben Sie die Möglichkeit den Flow nach Ihren Vorgaben zu erstellen/anzupassen.
Dokumentation zu Flow Editor
Flow Export
Es besteht die Möglichkeit jeden beliebigen Flow als Datei zu exportieren um z.B. eine Flowversion extern zu speichern oder aber um den Flow mit anderen zu teilen.
Den Export finden Sie im Flow Editor in den Flow Einstellungen
Flow Import
Um einen exportierten Flow wieder zu importieren gehen sie wie folgt vor:
- Rufen Sie ein Projekt auf
- Öffnen Sie das Dropdown neben dem Flow erstellen Button
- Wählen Sie Flow importieren
- Laden Sie die Datei, die Sie zuvor exportiert haben
Andere Flows aufrufen
Es ist auch möglich, einen anderen Flow aus einem Flow heraus auszuführen. Damit kann man Funktionalität auslagern und wiederverwenden.
Dafür gibt es 2 Steps:
Diese Steps sind in der Konfiguration ähnlich. Man wählt das Projekt und den Flow der verwendet werden soll und konfiguriert daraufhin noch die zu übergebenden Werte.
Die Werte die man dem aufzurufenden Flow übergeben kann, werden durch dessen Variablen definiert.
Beide Steps sind ähnlich, unterscheiden sich aber in Details, wie genau die aufgerufenen Flows ausgeführt werden.
FlowTrigger Step
- Der FlowTrigger Step startet einen anderen Flow als neuen Run (optional mit Verzögerung (delayMinutes) oder sofort).
- Dieser Run taucht auch im Eventlog auf. (Für Kunden mit älteren Paketen zählt dieser Run in das Run-Limit, falls es sich nicht um einen Flow+ handelt.)
- Nur Flow-Variablen des aufgerufen Flows vom Typ Text-Variable können übergeben werden (keine komplexen Datentype wie z.B. SPREADSHEET).
- Der angetriggerte Flow wird asynchron ausgeführt. Das heißt:
- die Ausführung wird nur "veranlasst", und der auszuführende Flow kommt in eine Art Warteschlange.
- der auszuführende Flow wird zeitnah ausgeführt.
- nachfolgende Steps werden sofort danach ausgeführt.
- Das Verhalten entspricht dem des Buttons.
- Die Rückgabewerte des aufzurufenden Flows sind nicht in nachfolgenden Steps verwendbar.
- Triggert man mehrere Flows damit an, werden diese Runs unabhängig voneinander (evtl. auch parallel) ausgeführt.
- Wird ein Flow angetriggert, der in diesem Moment noch ausgeführt wird, kommt es zu einem Fehler, dass der aufzurufende Flow noch läuft. Hier muss man es später noch einmal versuchen.
Einsatzgebiete:
- zur genaueren Kontrolle zeitlicher Reihenfolgen (z.B. FlowB muss unbedingt nach FlowA ausgeführt werden)
- Logik soll in einen zentralen Flow ausgelagert werden, die nur mit verschiedenen Parametern (nur STRING) angesteuert werden soll.
Flow-in-Flow - Der FlowExecutingStep
- Der FlowExecutingStep führt den anderen aufzurufenden Flow direkt aus (synchron, d.h. so, als ob die Steps des aufzurufenden Flows direkt selbst Teil des aktuellen Flows wären).
- Es wird ein separater Run erzeugt. Dieser wird als Referenzierte Ausführung bezeichnet und dient lediglich der besseren Darstellung des Eventlogs. Step Statistiken werden bei referenzierten Ausführungen nur summiert am aufrufenden Flow angezeigt. Daher sind hier viele Werte im Eventlog 0. (Hinweis für Kunden mit alten Tarifen: dieser Referenzierte Run wird nicht in das Run-Limit gezählt. Nur der aufrufende Run wird gezählt.)
- Flow-Variablen des aufgerufenen Flows können als Parameter übergeben werden (im Unterschied zum FlowTrigger sind hier auch komplexe Datentypen wie z.B. SPREADSHEET möglich).
- Der aktuelle Flow-Run wartet bis der aufzurufende Flow komplett ausgeführt wurde.
- Die Rückgabewerte des aufzurufenden Flows sind in nachfolgenden Steps verwendbar.
- Kommt es bei dem aufzurufenden Flow zu einem Fehler, bricht auch der aufrufende Flow ab.
Hinweis
Der FlowExecuting Step entspricht von der Art her in etwa einem Funktionsaufruf in einer Programmiersprache (synchron). Er fördert sehr stark die Wiederverwendung, da man zentrale Funktionalität in den aufzurufenden Flow auslagern kann, und diesen mit verschiedenen Parameters (Variablen) aufrufen kann.
Einsatzgebiete:
- Logik soll in einen oder mehrere zentrale Flows ausgelagert werden, die mit verschiedenen Parametern angesteuert werden soll
- bei Anpassung der Logik braucht nur der zentrale aufgerufene Flow angepasst werden und nicht viele verschiedene Stellen
Sub-Flow Ansicht für FlowExecutingStep
Bei Verwendung des FlowExecutingStep, ist das direkte Editieren des Ziel-Flows aus dem Aufrufer hinaus möglich. Das Besondere dabei ist, die Variablen-Übergabe aus dem Aufrufer.
Durch Klick auf Edit-Flow gelangt man in die Sub-Flow-Ansicht. Dabei werden alle Parameter, die der Aufrufer-Flow auch bei einer echten Ausführung an den aufgerufenen Flow übergeben würde, mit übergeben. Das erleichtert Test und Bearbeiten, da man mit echten Daten arbeiten kann.
Papierkorb
Will man Flows oder Projekte löschen, werden diese erst in den Papierkorb verschoben und noch nicht sofort richtig gelöscht.
Zum Papierkorb gelangt man über Mein Konto / Papierkorb.
Dort kann man die Flows oder Projekte wiederherstellen oder endgültig löschen. Damit wird das Risiko minimiert, dass man einen Flow einmal versehentlich löscht.