n8n Loop over Items-nod: iterera över varje objekt, styr batchstorlek och kör parallella grenar
De flesta n8n-noder bearbetar alla inkommande objekt på en gång i en enda exekvering. Det är effektivt men kan skapa problem: ett API som throttlar vid fler än 5 requests per sekund, en process som kräver att varje objekt är klart innan nästa börjar, eller en sekvens som behöver individuell felhantering per objekt.
Loop over Items-noden löser detta. Den kör samma nodsekvens upprepade gånger — en gång per objekt eller en gång per definierad batch — istället för att köra allt parallellt.
Hur Loop over Items-noden fungerar
Loop over Items-noden tar emot en lista av objekt och returnerar dem ett i taget (eller en batch åt gången) till de noder som är kopplade till dess Loop-output. De noderna körs för varje iteration tills alla objekt är bearbetade. Sedan skickar Loop over Items-noden alla insamlade resultat vidare från Done-outputen.
Strukturen ser ut så här:
Trigger → Hämta 50 objekt → Loop over Items
↓ (Loop-output: ett objekt per iteration)
Bearbeta objekt → Skriv till databas
↓ (tillbaka till Loop)
Done-output → Nästa steg i flödet
Noden håller reda på vilka objekt som återstår och fortsätter tills listan är tom.
Batchstorlek: bearbeta N objekt per iteration
Standardbeteendet är att köra en iteration per objekt (batchstorlek 1). Om du vill bearbeta flera objekt per iteration — till exempel för ett bulk-API som accepterar upp till 10 objekt per anrop — ändrar du batchstorleken i nodinställningarna.
Exempel: 50 objekt med batchstorlek 10 → 5 iterationer, var och en med 10 objekt som $input.all().
Batchstorlek 1 är korrekt när:
- Varje objekt kräver ett separat API-anrop
- Felhanteringen behöver vara per-objekt (en iteration kan misslyckas utan att påverka de andra)
- Ordningsföljden är viktig och varje objekt måste vara klart innan nästa börjar
Batchstorlek > 1 är korrekt när:
- API:et du anropar stödjer bulk-input
- Du vill minska antalet HTTP-anrop (färre anrop = lägre overhead)
Done-noden: samla resultat och bryt loopen
Inne i loop-sekvensen kopplar du normalt en Done-nod för att markera att en iteration är klar och returnera resultatet. Utan Done-noden vet n8n inte när iterationen är avslutad och flödet hänger.
Done-noden tar emot de noder du vill inkludera i det ackumulerade resultatet. Varje iterations output samlas ihop och skickas som en lista från Loop over Items-nodens “Loop Done”-output när alla iterationer är klara.
Parallellism kontra Loop over Items
Loop over Items exekverar iterationerna sekventiellt som standard. Det är ofta korrekt — men det finns ett alternativ.
n8n:s SplitInBatches-nod (äldre) och det inbyggda beteendet hos noder som Item List kan skapa parallella exekveringar om du vill köra mehrere objekt samtidigt. Loop over Items är medvetet sekventiell.
Välj Loop over Items när:
- API-rate-limits kräver styrning av anropstakt
- Varje objekt beror på resultatet från föregående objekt
- Du vill ha individuell felhantering per objekt (ett misslyckat objekt avbryter inte hela batch)
- Exekveringsordning är verksamhetskritisk
Välj standard parallellexekvering (utan Loop) när:
- Alla objekt är oberoende och kan bearbetas simultant
- Hastighet är viktigare än ordning
- API:et inte har rate-limits som påverkar parallella anrop
Felhantering i loop-sekvenser
Med Loop over Items kan du fånga fel per iteration: koppla en Error Trigger inuti loop-sekvensen (eller använd Try/Catch-mönstret med IF-nod på error-output) och fortsätt till nästa objekt om en iteration misslyckas. Utan Loop over Items avbryter ett fel hela batchexekveringen.
För en lista av 100 API-anrop där 3 av 100 kan misslyckas av tillfälliga skäl (timeouts, tillfällig API-otillgänglighet) är Loop over Items-noden med per-iteration-felhantering den korrekta lösningen.
FAQ
Kan jag köra Loop over Items inuti ett sub-workflow?
Ja. Loop over Items fungerar i alla typer av workflows inklusive sub-workflows som anropas via Execute Workflow. Data passeras via inputData som vanligt och Loop-noden itererar på de objekt den tar emot.
Vad händer om listan är tom?
Loop over Items exekverar inga iterationer och skickar en tom lista från Done-outputen. Koppla ett IF-check före Loop-noden om tom lista inte är ett giltigt tillstånd i din process.
Hur ser jag exekveringsförloppet för enskilda iterationer?
I exekveringshistoriken visas Loop over Items-noden med ett aggregerat resultat. Klicka på noden för att se varje iteration och dess output separat.