Zum Hauptinhalt springen

Schleifen

Schleifen in n8n

Schleifen sind nützlich, wenn du mehrere Datenelemente verarbeiten oder eine Aktion wiederholt ausführen musst, zum Beispiel um jedem Kontakt in deinem Adressbuch eine Nachricht zu senden. n8n übernimmt diese Wiederholung automatisch, sodass du in den meisten Fällen keine explizite Schleife in deinem Workflow erstellen musst. Es gibt jedoch einige Ausnahmen.

Schleifen in n8n verwenden

n8n-Nodes akzeptieren beliebig viele Datenelemente als Eingabe und geben nach der Verarbeitung Ergebnisse aus. Jedes Datenelement kannst du dir als eigenständigen Datensatz oder als eine Zeile in der Ausgabetabelle eines Nodes vorstellen.

Ausgabe des Customer Datastore-Nodes

In der Regel wird ein Node einmal pro Datenelement ausgeführt. Möchtest du beispielsweise den Namen und die Notiz jedes Kunden aus dem Customer Datastore-Node als Nachricht an Slack senden, gehst du wie folgt vor:

  1. Verbinde den Slack-Node mit dem Customer Datastore-Node.
  2. Konfiguriere die Parameter.
  3. Führe den Node aus.

Du erhältst dann fünf Nachrichten – eine für jedes Datenelement.

So ermöglicht n8n die Batchverarbeitung mehrerer Datenelemente, ohne dass du explizit eine Schleifenstruktur erstellen musst.

Schleifen erstellen

Normalerweise durchläuft n8n automatisch alle eingehenden Datenelemente. In bestimmten Szenarien musst du jedoch manuell eine Schleife erstellen, um alle Elemente zu verarbeiten. Welche Nodes nicht automatisch alle eingehenden Datenelemente durchlaufen, erfährst du in der Liste der „Node-Ausnahmen“ weiter unten.

Schleife bis eine Bedingung erfüllt ist

Um eine Schleife in einem n8n-Workflow zu erstellen, verbindest du die Ausgabe eines Nodes mit der Eingabe eines vorherigen Nodes. Füge einen IF-Node hinzu, um zu bestimmen, wann die Schleife beendet werden soll.

Hier ist ein Beispielworkflow, der eine Schleife mithilfe eines IF-Nodes implementiert:

Editoransicht des Beispielworkflows

Schleife bis alle Datenelemente verarbeitet sind

Wenn du sicherstellen möchtest, dass die Schleife läuft, bis alle Datenelemente verarbeitet wurden, verwende den Loop Over Items-Node. Um jedes Element einzeln zu verarbeiten, stelle die Batchgröße (Batch Size) auf 1.

Du kannst die Daten auch in Stapeln (Batches) verarbeiten. Dies ist besonders hilfreich bei großen Datenmengen oder wenn du API-Ratenlimits vermeiden musst.

Sobald alle eingehenden Datenelemente in Batches an den nächsten Node im Workflow weitergeleitet wurden, stoppt der Loop Over Items-Node automatisch – du benötigst also keinen zusätzlichen IF-Node, um die Schleife zu beenden.

Node-Ausnahmen

Folgende Nodes und Operationen erfordern, dass du die Schleife manuell im Workflow erstellst:

  • CrateDB: Die insert- und update-Operationen werden nur einmal ausgeführt.
  • Code-Node (Modus: Einmal für alle Datenelemente ausführen): Verarbeitet alle Datenelemente basierend auf dem eingegebenen Code-Snippet.
  • Execute Workflow-Node (Modus: Einmal für alle Datenelemente ausführen).
  • HTTP Request-Node: Du musst die Paginierungslogik selbst handhaben. Wenn der API-Aufruf paginierte Ergebnisse zurückgibt, musst du eine Schleife erstellen, um alle Seiten abzurufen.
  • Microsoft SQL: Die insert-, update- und delete-Operationen werden nur einmal ausgeführt.
  • MongoDB: Die insert- und update-Operationen werden nur einmal ausgeführt.
  • QuestDB: Die insert-Operation wird nur einmal ausgeführt.
  • Redis:
    • Info: Diese Operation wird unabhängig von der Anzahl der eingehenden Datenelemente nur einmal ausgeführt.
  • RSS Read: Wird für die angegebene URL nur einmal ausgeführt.
  • TimescaleDB: Die insert- und update-Operationen werden nur einmal ausgeführt.