Sub-Workflows
Du kannst einen Workflow innerhalb eines anderen Workflows aufrufen, um modulare, mikroservice-ähnliche Workflow-Strukturen zu erstellen. Dies ist auch eine effektive Methode, um große Workflows aufzuteilen, wenn diese aufgrund ihrer Größe zu Speicherproblemen führen. Zur Erstellung von Sub-Workflows werden die Knoten Execute Workflow und Workflow-Trigger benötigt.
Die Ausführungen von Sub-Workflows zählen nicht zu deinem monatlichen Kontingent an Ausführungen oder zur Obergrenze aktiver Workflows in deinem Tarif.
Einrichtung und Verwendung von Sub-Workflows
Dieser Abschnitt beschreibt, wie du sowohl den übergeordneten als auch den untergeordneten Workflow konfigurierst.
Erstellen eines Sub-Workflows
-
Erstelle einen neuen Workflow.
Erstellen eines Sub-Workflows aus einem bestehenden Workflow
Du kannst einen Sub-Workflow auch direkt über einen Execute Workflow-Knoten im bestehenden übergeordneten Workflow erstellen. Wähle in der Knotenkonfiguration die Option, einen Workflow aus deiner Workflow-Liste auszuwählen, und klicke dann in der Liste auf Sub-Workflow erstellen.
Alternativ kannst du per Rechtsklick auf ausgewählte Knoten die Funktion In Sub-Workflow umwandeln nutzen, um diese Knoten direkt in einen separaten Sub-Workflow zu extrahieren.
-
(Optional) Konfiguriere, welche Workflows diesen Sub-Workflow aufrufen dürfen:
- Klicke auf das Optionen-Menü (⋯) > Einstellungen, um das Fenster Workflow-Einstellungen zu öffnen.
- Passe die Einstellung Dieser Workflow kann aufgerufen werden von an. Weitere Informationen findest du unter [Workflow-Einstellungen].
-
Füge einen Workflow-Trigger-Knoten hinzu (in der Trigger-Suche wird dieser Knoten auch als „Wenn von einem anderen Workflow ausgeführt“ angezeigt).
-
Lege den Eingabedatenmodus fest, um zu definieren, wie die Eingabedaten für den Sub-Workflow strukturiert sind:
- Felder unten definieren: Wähle diesen Modus, um eigenständige Eingabefelder mit Namen und Datentypen zu definieren. Der Execute Workflow-Knoten im aufrufenden Workflow liest diese Felder automatisch ein.
- Mit JSON-Beispiel definieren: Wähle diesen Modus, um ein JSON-Objekt als Beispiel für die erwarteten Eingaben und deren Typen bereitzustellen.
- Alle Daten akzeptieren: Wähle diesen Modus, um sämtliche eingehenden Daten ohne Einschränkung zu akzeptieren. In diesem Fall definiert der Sub-Workflow keine verpflichtenden Eingaben, und du musst selbst sicherstellen, dass fehlende oder inkonsistente Werte korrekt behandelt werden.
-
Füge weitere Knoten nach Bedarf hinzu, um die Funktionalität des Sub-Workflows zu vervollständigen.
-
Speichere den Sub-Workflow.
Sub-Workflows dürfen keine Fehler enthalten
Falls der Sub-Workflow Fehler enthält, kann der übergeordnete Workflow ihn nicht auslösen.
Laden von Daten aus vorherigen Ausführungen beim Erstellen des Sub-Workflows
Diese Funktion erfordert die Möglichkeit, Daten aus historischen Ausführungen zu laden. Sie ist in n8n Cloud und bei registrierten Community-Plänen verfügbar.
Wenn du beim Erstellen eines Sub-Workflows zunächst echte Daten laden möchtest:
- Erstelle den Sub-Workflow und füge einen Workflow-Trigger-Knoten hinzu.
- Stelle den Eingabedatenmodus des Knotens entweder auf Alle Daten akzeptieren oder definiere die bekannten Eingaben explizit über Felder oder ein JSON-Beispiel.
- Ändere in den Workflow-Einstellungen die Option Erfolgreiche Produktionsausführungen speichern auf Speichern.
- Gehe zum übergeordneten Workflow, konfiguriere ihn und führe ihn einmal aus.
- Lade anschließend die Daten aus dieser Ausführung in den Sub-Workflow.
- Passe ggf. den Eingabedatenmodus an, damit er genau den vom übergeordneten Workflow gesendeten Daten entspricht.
Du kannst nun Beispiel-Daten im Trigger-Knoten fixieren und so den Rest des Workflows mit realistischen Daten entwickeln.
Aufrufen eines Sub-Workflows
- Öffne den übergeordneten Workflow, aus dem du den Sub-Workflow aufrufen möchtest.
- Füge einen Execute Workflow-Knoten hinzu.
- Konfiguriere im Execute Workflow-Knoten den aufzurufenden Sub-Workflow. Du kannst diesen über seine ID, durch Laden aus einer lokalen Datei, durch Übergabe des Workflow-JSON als Knotenparameter oder über eine URL angeben.
So findest du die Workflow-ID
Die ID eines Sub-Workflows ist die alphanumerische Zeichenfolge am Ende seiner URL.
- Gib alle erforderlichen Eingaben an, die im Sub-Workflow definiert wurden.
- Speichere deinen Workflow.
Beim Ausführen des übergeordneten Workflows werden die Daten an den Sub-Workflow gesendet und dessen Ausführung ausgelöst.
Du kannst die Ausführungskette vom übergeordneten zum Sub-Workflow verfolgen, indem du im Execute Workflow-Knoten auf den Link Unterausführung anzeigen klickst. Umgekehrt enthält auch die Ausführungsansicht des Sub-Workflows einen Link zurück zur Ausführung des übergeordneten Workflows – für eine einfache Navigation in beide Richtungen.
Wie Daten zwischen Workflows übergeben werden
Ein konkretes Beispiel: Workflow A enthält einen Execute Workflow-Knoten, der einen anderen Workflow namens Workflow B aufruft:
- Der Execute Workflow-Knoten übergibt Daten an den Workflow-Trigger-Knoten in Workflow B (auf der Canvas als „Wenn von einem anderen Workflow ausgeführt“ sichtbar).
- Der letzte Knoten in Workflow B gibt die resultierenden Daten an den Execute Workflow-Knoten in Workflow A zurück.
Umwandlung in Sub-Workflows
Informationen dazu, wie du einen bestehenden Workflow in Sub-Workflows aufteilen kannst, findest du unter Umwandlung in Sub-Workflows.