Struggling with nested loops(inner loop only executes once)

Context:
I’ve built a workflow in n8n that:

  1. Reads competitor usernames from Google Sheets

  2. Limits to the top 3 Instagram users

  3. Outer loop: Iterates competitor by competitor

  4. For each competitor:

    • Scrapes their top 20 reels

    • Sorts by views and limits to 2 reels

    • Inner loop: Processes these 2 reels one by one (because my transcript API can’t handle batch requests)

    • Sends each reel to a Transcribe API

    • Runs the transcript through an AI Agent for hook analysis

    • Appends results back to Google Sheets

Problem:

  • The inner loop (“Loop over 2 Reels”) runs perfectly for the first competitor. It processes 2 reels sequentially (transcribe → AI Agent → append to sheet).

  • But when the outer loop moves on to the second competitor, the inner loop is completely skipped. It immediately triggers the Done branch, so only the first competitor gets processed — the other 2 competitors are ignored.

Tried:

  • Using the Reset option on the inner loop — didn’t help. Instead it sometimes takes its own output as new input and errors.

  • Looked through this community post (Loop node only processes the first item, how to fix?) but couldn’t make it work in my case.

  • Without the loop, both reels are sent together → my Transcribe API throws 429 Too Many Requests, so looping one-by-one is required.

Goal / Requirement:
I need the inner loop to reliably process reels one by one for every competitor. So if there are 3 competitors × 2 reels each, the loop should run 6 times in total (2 for each competitor).

Resources:

  • Attached workflow file + example input data in Google Drive (so you can see exactly what the loops receive).

  • Screenshot of my workflow (outer loop for competitors → inner loop for reels → transcription → AI analysis → Google Sheets).


Question to the community:
What’s the correct way to wire nested SplitInBatches loops so that the inner one resets properly for each new outer loop item? Am I misunderstanding how to use the Loop vs Done outputs?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.