n8n Loop Over Items: Batching und automatisches Looping

Wie n8n Items automatisch durchläuft, wie der Loop Over Items Node arbeitet und welche Batch-Größe für Performance und Rate-Limits sinnvoll ist.

n8n verarbeitet mehrere Datensätze normalerweise ganz von selbst: Ein Node nimmt eine Liste von Items entgegen, führt seine Logik für jedes einzelne Item aus und gibt die Ergebnisse wieder als Liste zurück. Für die meisten Workflows brauchst Du also gar keine explizite Schleife. Sobald aber ein externer Dienst pro Sekunde nur wenige Anfragen erlaubt, ein Node nur das erste Item verarbeitet oder eine paginierte API ohne bekannte Seitenzahl abgefragt werden muss, reicht die automatische Verarbeitung nicht mehr aus. Genau dafür gibt es in n8n den Loop Over Items Node, früher unter dem Namen Split in Batches bekannt.

In diesem Artikel zeigen wir Dir, wie das automatische Looping in n8n funktioniert, wie der Loop Over Items Node im Detail arbeitet und worauf Du bei Batch-Größe und Performance achten solltest, damit Deine Workflows stabil und ohne Rate-Limit-Fehler laufen.

Wie n8n Items automatisch durchläuft

Laut der offiziellen n8n-Dokumentation zum Looping nehmen n8n-Nodes grundsätzlich eine beliebige Anzahl an Items entgegen, verarbeiten sie und geben die Ergebnisse wieder aus. Verbindest Du beispielsweise einen Datenspeicher-Node mit fünf Kundendatensätzen mit einem Slack-Node, verschickt n8n automatisch fünf einzelne Nachrichten, eine pro Datensatz. Eine eigene Schleife musst Du dafür nicht bauen, das übernimmt die Engine im Hintergrund.

Willst Du stattdessen nur das erste Item eines eingehenden Datensatzes verarbeiten, aktivierst Du in den Node-Einstellungen unter dem Reiter Settings die Option Execute Once. Damit ignoriert der Node alle weiteren Items und arbeitet nur den ersten Datensatz ab, was sich zum Beispiel für einmalige Benachrichtigungen eignet.

Der Loop Over Items Node im Detail

Für alle Fälle, in denen die automatische Verarbeitung nicht ausreicht, bringt n8n den Loop Over Items Node mit. Der Node speichert die ursprünglichen Eingabedaten und gibt bei jedem Durchlauf eine festgelegte Menge an Items über den Ausgang loop zurück. Sind alle Batches durchlaufen, kombiniert er die verarbeiteten Daten und gibt sie über den Ausgang done aus.

Zwei Einstellungen sind dabei zentral:

  • Batch Size: legt fest, wie viele Items der Node pro Durchlauf zurückgibt. Setzt Du den Wert auf 1, verarbeitet n8n jedes Item einzeln nacheinander.
  • Reset: initialisiert den Node bei jedem Durchlauf neu mit frischen Eingabedaten. Das ist hilfreich bei paginierten API-Abfragen, bei denen Du die Gesamtzahl der Seiten vorher nicht kennst. Wichtig laut Dokumentation: Bei aktiviertem Reset musst Du unbedingt eine gültige Abbruchbedingung einbauen, sonst läuft die Schleife endlos weiter.

Praktisch nutzt Du dafür Ausdrücke wie `{{$("Loop Over Items").context["noItemsLeft"]}}`, um zu prüfen, ob noch Items übrig sind, oder `{{$("Loop Over Items").context["currentRunIndex"]}}`, um den aktuellen Durchlauf-Index auszulesen und in einer IF-Node als Abbruchbedingung zu verwenden.

Wann Du manuell loopen musst

Manche Nodes verarbeiten laut Dokumentation grundsätzlich nur das erste Item oder alle Items auf einmal, statt sauber durchzuiterieren. Dazu zählen unter anderem CrateDB, Microsoft SQL, MongoDB und TimescaleDB bei Insert- und Update-Operationen, der Code-Node sowie der Execute-Workflow-Node im Modus "Run Once for All Items", der HTTP-Request-Node bei manueller Paginierung, die Redis-Info-Operation und der RSS-Read-Node. Bei diesen Ausnahmen baust Du die Schleife manuell: Du verbindest den Ausgang eines Nodes wieder mit einem vorherigen Node und ergänzt eine IF-Node, die eine klare Stopp-Bedingung prüft.

Batch-Größe und Performance in der Praxis

Die Batch-Größe entscheidet direkt darüber, wie stabil und wie schnell ein Workflow läuft. Eine kleine Batch-Größe, etwa 1 bis 5 Items pro Durchlauf, schont externe APIs mit strengen Rate-Limits, verlängert aber die Gesamtlaufzeit, weil n8n mehr einzelne Durchläufe abarbeiten muss. Eine große Batch-Größe beschleunigt den Workflow, erhöht aber das Risiko, dass ein Dienst mit einem 429-Fehler antwortet oder der Workflow bei einem Fehler mitten in einem großen Batch schwerer nachzuvollziehen ist. In der Praxis testest Du am besten mit einer moderaten Batch-Größe und beobachtest die Ausführungszeiten sowie eventuelle Fehlerantworten des Zieldienstes, bevor Du den Wert weiter erhöhst.

Gerade bei produktiven Workflows mit vielen externen Aufrufen lohnt es sich, Loop Over Items gezielt mit Wartezeiten zwischen den Batches zu kombinieren, damit APIs nicht überlastet werden und Du die Kontrolle über die Ausführung behältst. Wenn Du Deine n8n-Workflows nicht nur bauen, sondern auch dauerhaft stabil betreiben willst, unterstützen wir Dich bei NordFlux im Rahmen unserer n8n-Automatisierung genau bei solchen Performance- und Rate-Limit-Fragen, damit Deine digitalen Mitarbeiter zuverlässig laufen.

Häufige Fragen

Was ist der Unterschied zwischen automatischem Looping und dem Loop Over Items Node?

Automatisches Looping passiert bei fast jedem n8n-Node von selbst: Der Node verarbeitet jedes eingehende Item einzeln und gibt die Ergebnisliste weiter, ohne dass Du dafür etwas konfigurieren musst. Der Loop Over Items Node kommt erst dann ins Spiel, wenn Du die Verarbeitung explizit in kontrollierte Häppchen aufteilen willst, etwa um Rate-Limits einzuhalten oder Nodes zu bedienen, die nur ein Item auf einmal verarbeiten können.

Wie verhindere ich eine Endlosschleife beim Loop Over Items Node?

Eine Endlosschleife entsteht meist, wenn die Reset-Option aktiviert ist, aber keine Abbruchbedingung geprüft wird. Baue in diesem Fall eine IF-Node ein, die zum Beispiel den Ausdruck `{{$("Loop Over Items").context["noItemsLeft"]}}` auswertet, und leite den Workflow bei erreichtem Ende in den done-Zweig statt zurück in die Schleife.

Welche Batch-Größe sollte ich für API-Anfragen wählen?

Eine pauschale Zahl gibt es nicht, weil jeder Dienst eigene Rate-Limits hat. Als Ausgangspunkt eignen sich kleine Werte zwischen 1 und 10 Items pro Batch, die Du anschließend anhand der tatsächlichen Antwortzeiten und eventueller Fehlermeldungen des Zieldienstes schrittweise anpasst.

Muss ich bei jedem Node selbst eine Schleife bauen?

Nein, die meisten n8n-Nodes verarbeiten mehrere Items automatisch ohne zusätzliche Konfiguration. Nur bei einer begrenzten Zahl an Ausnahme-Nodes, etwa bestimmten Datenbank-Nodes oder dem HTTP-Request-Node bei manueller Paginierung, musst Du die Schleife selbst mit dem Loop Over Items Node oder einer rückverbundenen IF-Node aufbauen.

Kann ich innerhalb einer Schleife auf Daten aus vorherigen Durchläufen zugreifen?

Ja, über die context-Eigenschaften des Loop Over Items Nodes wie currentRunIndex kannst Du den aktuellen Durchlauf identifizieren, und über Referenzen auf frühere Nodes im Workflow lassen sich auch Daten aus vorangegangenen Schritten einbinden. Für komplexere Zwischenspeicherung über mehrere Durchläufe hinweg empfiehlt sich zusätzlich ein Set- oder Code-Node, der Zwischenergebnisse sammelt.

Über NordFlux

NordFlux UG (haftungsbeschränkt)

NordFlux baut Organisationen digitale Mitarbeiter: Automatisierungen und KI-Agenten, die wiederkehrende Arbeit abnehmen. Sie behalten die Kontrolle.

Mehr über uns
Kostenlose Erstanalyse

Konkrete Fragen zu Automatisierung oder KI?

In der kostenlosen Erstanalyse besprechen wir Ihren Fall direkt. Unverbindlich.