Loop Over Items erhält mehrere Eingabe-Items und gibt am Ausgang loop die gewählte Batchmenge weiter. Verbinde das Ende der Verarbeitung zurück mit dem Loop-Node. Am Ausgang done setzt du den Ablauf nach Abschluss fort. Eine Liste innerhalb eines einzelnen JSON-Felds muss dafür gegebenenfalls zuerst aufgeteilt werden.
Welcher Teil hier geprüft wurde.
- Anleitung
- Entworfener Ablauf mit drei Probe-Items
- Prüfcode
- Lokal mit fehlenden und doppelten Kennungen geprüft
- Workflow-Ausführung
- Für diesen Guide nicht durchgeführt
Der Kennungsabgleich prüft die am Abschluss angekommenen Daten. Er sagt nicht, ob eine nachfolgende Aktion erlaubt oder fachlich richtig ist. Eine Freigabe und die Behandlung wiederholter Vorgänge sind eigene Prüfungen.
Inhaltlich eingeordnet am .
Erst den Bedarf für die Schleife prüfen
Mehrere Datenzeilen bedeuten noch nicht, dass du einen zusätzlichen Schleifen-Node brauchst. Die Herstellerreferenz zur Verarbeitung mehrerer Items beschreibt den normalen Ablauf und seine Ausnahmen. Prüfe die konkrete Node und Operation.
| Bedarf | Erster Check |
|---|---|
| Dieselbe Node soll mehrere Items verarbeiten | Unterstützt sie das bereits im normalen Ablauf? |
| Mehrere Schritte sollen je Gruppe wiederholt werden | Expliziten Loop mit passender Batchgröße planen |
| Eine Operation verarbeitet nur einen Eingang | Dokumentierte Ausnahme und geeignete Schleife prüfen |
| Eine API liefert mehrere Ergebnisseiten | Pagination des HTTP Request Nodes oder eigene Seitenlogik prüfen |
Auch die Einstellung Execute Once kann verändern, wie eine Node mehrere Eingaben behandelt. Starte deshalb mit der tatsächlichen Konfiguration. Der Node-Name allein beantwortet nicht, ob die gewünschte Operation eine Schleife braucht.
Eine Liste im Feld ist noch keine Item-Liste
Ein Item mit dem Feld records: ["TW-A", "TW-B", "TW-C"] enthält eine Liste. Das sind noch nicht drei getrennte n8n-Items. Der Split Out Node kann ein solches Listenfeld in mehrere Items aufteilen. Wenn die Daten per HTTP eintreffen, hilft die n8n-Webhook-Anleitung beim Abgleich von Request-Body und empfangener Datenstruktur.
Prüfe im Input, wie viele Items wirklich vorliegen und welches Feld die Liste enthält. Die Anleitung zu n8n Expressions und der richtigen Item-Auswahl erklärt die Datenpfade. Eine falsche Auswahl durch .first() kann weiterhin denselben ersten Datensatz liefern, auch wenn dein Loop mehrere Iterationen macht.
Eine Schleife ohne externe Aktionen aufbauen
Unser eigenes Lernbeispiel verwendet drei Probe-Items. Es ruft keine API auf und verschickt keine Nachrichten. Lege einen Manual Trigger und danach einen Code-Node mit Sprache JavaScript im Modus Run Once for All Items an. Dieser eigene JavaScript-Ausschnitt erzeugt die Testeingabe:
return ['TW-A', 'TW-B', 'TW-C'].map(record_id => ({
json: { record_id, mode: 'probe' }
}));- Verbinde den Code-Node mit Loop Over Items und setze Batch Size auf
1. - Lass Reset für diese feste Eingabemenge ausgeschaltet.
- Verbinde den Ausgang loop mit einem No Operation, do nothing-Node.
- Verbinde dessen Ausgang zurück mit dem Eingang von Loop Over Items.
- Verbinde done mit einem zweiten No-Operation-Node als getrenntem Abschluss.
Verwende die Ausgangsnamen, nicht eine aus einem alten Screenshot abgeleitete Position. Die Node-Referenz beschreibt loop und done. Führe den kleinen Ablauf vom Trigger aus und vergleiche die Kennungen am Abschluss mit deiner Eingabe.
Für diesen entworfenen Ablauf erwartest du jede Probe-Kennung einmal. Das ist ein Prüfziel, keine hier aufgezeichnete Ausführung. Die No-Operation-Nodes machen den Datenweg sichtbar; sie führen keine fachliche Prüfung des Datensatzes durch.

Batchgröße ist keine API-Sammelanfrage
Batch Size legt die Anzahl der Items fest, die der Loop pro Iteration weitergibt. Mit unseren drei Probe-Items und Batchgröße 2 besteht die vorgesehene Aufteilung aus einer Gruppe mit zwei Items und einer weiteren mit einem Item. Die Zahlen beschreiben nur diesen Beispielbestand.
Die nachfolgende Node entscheidet, was sie daraus macht. Wenn sie einen Request je Item sendet, verwandelt die Batchgröße diese Requests nicht automatisch in einen einzigen API-Aufruf mit einem Array. Für eine Sammelanfrage brauchst du einen vom Anbieter unterstützten Datenvertrag und eine passende Konfiguration.
Reset nur für neue Eingabemengen verwenden
Reset initialisiert laut Referenz die aktuelle Eingabe als neue Datenmenge. Für das schrittweise Abarbeiten unseres festen Probe-Bestands brauchst du diese Option nicht. Ein fortgesetzter Batch und eine neue Eingabemenge sind unterschiedliche Fälle.
Wenn du eigene Wiederholungslogik mit Reset oder einem Rücksprung baust, lege eine erreichbare Abbruchbedingung fest. Bei einer selbst entworfenen Seitenabfrage kann das der dokumentierte Befund „keine weitere Seite“ sein. Prüfe zusätzlich deinen Fehlerpfad, falls dieser Befund ausbleibt. Eine fehlerhafte Abbruchbedingung kann eine Endlosschleife verursachen.
API-Limits gesondert planen
Die Rate-Limit-Hilfe beschreibt Loop Over Items zusammen mit Wait, um Requests in Gruppen und mit Pausen zu verarbeiten. Der Anbieter bestimmt die zulässige Anfragefrequenz; eine frei gewählte Pause garantiert deren Einhaltung nicht.
Notiere die tatsächliche Zahl der Aufrufe je Batch und die Regeln des Dienstes. Der Guide zum n8n HTTP Request erklärt dessen eigene Batching- und Pagination-Optionen. Wähle für die konkrete Anfrage einen Datenweg, den du übersichtlich prüfen kannst.
Wenn der wiederholte Schritt eine KI-Anfrage oder eine spätere Schreibaktion enthält, solltest du zusätzlich einen KI-Ablauf mit Testfällen, Freigaben und Aufwand planen. Eine technisch richtige Schleife prüft weder die Richtigkeit jeder Modellantwort noch die Berechtigung einer Folgeaktion. Beginne deshalb mit wenigen eigenen Testfällen, bevor du mehr Items verarbeitest. Ein anderer, tatsächlich ausgeführter Versuch prüft Freigabe und doppelte IDs in n8n; er misst keine Schleifenleistung.
Wenn nur der erste Durchlauf ankommt
| Befund | Nächster Check |
|---|---|
| Im Loop-Input steht nur ein Item | Liegt eine Liste in einem Feld, die erst aufgeteilt werden muss? |
| Verarbeitung passiert nur beim ersten Batch | Rückverbindung und tatsächlich weitergegebene Daten ansehen |
| Immer dieselbe Kennung wird verarbeitet | Expression und bewusste Verwendung von .first() prüfen |
| Einzelne Node wirkt anders als der Gesamtworkflow | Kontrollierten Ablauf vom Trigger aus vergleichen |
| Der Bestand beginnt immer wieder neu | Reset-Einstellung und eigene Abbruchlogik prüfen |
| Abschluss kommt zu früh oder bleibt aus | Ausgänge loop/done und vorherige Node-Befunde vergleichen |
Unser vorgeschlagenes Prüfprotokoll hält Input-Itemzahl, Batchgröße, Probe-Kennungen und Abschlussdaten fest. Ändere einen Punkt und wiederhole den kleinen Test. Baue externe Schreibaktionen erst an, wenn der vorgesehene Datenweg nachvollziehbar funktioniert.
Prüfen, ob wirklich alle Items angekommen sind
Zum Prüfen brauchst du keinen großen Datenbestand. Behalte die drei Kennungen aus dem Aufbau bei und ändere zunächst nur die Batchgröße. Die folgende Tabelle zeigt die Erwartung für dieses eigene Lernbeispiel, keine gemessene Ausführung.
| Batch Size | Vorgesehene Gruppen | Bestand am done-Zweig |
|---|---|---|
| 1 | TW-A · TW-B · TW-C, jeweils einzeln | TW-A, TW-B, TW-C, jeweils einmal |
| 2 | TW-A und TW-B · danach TW-C | TW-A, TW-B, TW-C, jeweils einmal |

Für einen automatischen Abgleich ersetzt du den No-Operation-Abschluss am done-Ausgang durch einen Code-Node: JavaScript, Run Once for All Items. Die Verarbeitung im Rückpfad muss record_id unverändert weitergeben. Der Code prüft die an diesem Punkt eingetroffenen Kennungen:
const expected = ['TW-A', 'TW-B', 'TW-C'];
const ids = $input.all().map(item => item.json.record_id);
const missing = expected.filter(id => !ids.includes(id));
const unexpected = [...new Set(ids.filter(id => !expected.includes(id)))];
const duplicates = [...new Set(ids.filter((id, index) => ids.indexOf(id) !== index))];
return [{ json: {
ok: missing.length === 0 && unexpected.length === 0 && duplicates.length === 0,
observedCount: ids.length,
expectedCount: expected.length,
missing, unexpected, duplicates
} }];Bei passendem Bestand steht ok: true. missing benennt fehlende, unexpected fremde und duplicates mehrfach gelieferte Kennungen. Hebe deshalb nicht nur die Anzahl auf: Drei Eingaben können auch zweimal TW-A und einmal TW-C enthalten. Dann fehlt TW-B trotz passender Anzahl.
Die JavaScript-Prüflogik wurde mit vollständigen, fehlenden, doppelten und fremden Probe-Kennungen lokal geprüft. Ein n8n-Workflow wurde dafür nicht ausgeführt. Auch ein erfolgreicher Kennungsabgleich sagt nichts darüber aus, ob eine spätere API-Aktion fachlich richtig ist.
Quellen & Methode
Vorgehen und Grenzen
Mit KI erstellte Dokumentationsanleitung. Vier ausgewählte öffentliche Haupttexte wurden vollständig gelesen und verglichen; technische Aussagen wurden mit Originalreferenzen geprüft. Probe-Daten und Grafiken sind eigene Erläuterungen. Kein n8n-Workflow wurde ausgeführt und keine externe Operation gemessen. Ergänzung vom 21. Oktober 2026: gezielter Praxis-Refresh auf Basis des vorhandenen Vier-Quellen-Briefings und neu geprüfter Originalreferenzen. Neue Prüfblätter und Diagramme sind eigene Erläuterungen; keine neue vollständige SERP-Erhebung und kein n8n-Praxistest.
Bei Recherche, Texterstellung und Grafiken wird KI eingesetzt. Welche eigenen Versuche vorliegen und was nur als Beispiel dient, beschreibt dieser Beitrag. Unser Redaktionsstandard erklärt die Anforderungen an Belege und Berichtigungen.



