Zum Hauptinhalt springen

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

  1. 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.

  2. (Optional) Konfiguriere, welche Workflows diesen Sub-Workflow aufrufen dürfen:

    1. Klicke auf das Optionen-Menü (⋯) > Einstellungen, um das Fenster Workflow-Einstellungen zu öffnen.
    2. Passe die Einstellung Dieser Workflow kann aufgerufen werden von an. Weitere Informationen findest du unter [Workflow-Einstellungen].
  3. Füge einen Workflow-Trigger-Knoten hinzu (in der Trigger-Suche wird dieser Knoten auch als „Wenn von einem anderen Workflow ausgeführt“ angezeigt).

  4. 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.
  5. Füge weitere Knoten nach Bedarf hinzu, um die Funktionalität des Sub-Workflows zu vervollständigen.

  6. 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:

  1. Erstelle den Sub-Workflow und füge einen Workflow-Trigger-Knoten hinzu.
  2. Stelle den Eingabedatenmodus des Knotens entweder auf Alle Daten akzeptieren oder definiere die bekannten Eingaben explizit über Felder oder ein JSON-Beispiel.
  3. Ändere in den Workflow-Einstellungen die Option Erfolgreiche Produktionsausführungen speichern auf Speichern.
  4. Gehe zum übergeordneten Workflow, konfiguriere ihn und führe ihn einmal aus.
  5. Lade anschließend die Daten aus dieser Ausführung in den Sub-Workflow.
  6. 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

  1. Öffne den übergeordneten Workflow, aus dem du den Sub-Workflow aufrufen möchtest.
  2. Füge einen Execute Workflow-Knoten hinzu.
  3. 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.

  1. Gib alle erforderlichen Eingaben an, die im Sub-Workflow definiert wurden.
  2. 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:

  1. 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).
  2. 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.