Circular workflows question

Why does n8n not allow circular workflows or nodes that can loop back to previous nodes?

thanks for your answer in advance :heart:

Good question @Mehdi_Belkassi n8n does NOT support true circular/cyclic connections where you can visually draw a connection from a later node back to an earlier node in the same workflow execution path. This is by design. but again yes n8n can handle loops and cycles, but they need to be designed thoughtfully with some important design considerations and limitations.

What i mean is you can create loops in n8n.

1 Like

You’re right that n8n doesn’t allow visual circular connections in the same execution. But you can do loops with the Loop node (keeps executing the same node with different inputs) or by chaining Conditional Splits that route data back through the workflow. What kind of loop are you trying to build — iterating over items or decision-based feedback loops?

1 Like

Hi @Orionpax i really appreciate your response.
the kind of loops I’m referring to are conditional loops, similar to a while/until pattern, where the workflow keeps looping until a specific condition becomes true, not just iterating over a fixed number of items. and thank you again for your response :heart:

Hi @Benjamin_Behrens. i hope you are doing good, well, what I’m trying to build is more of a decision-based feedback loop, not just iterating over items. it’s closer to a while/until loop, where the next step depends on a condition and may need to route back to a previous step dynamically.

glad it helped! for while/until style loops, the pattern you want is a Loop node combined with an If node that checks your condition. the key is maintaining a variable (like a counter or status flag) that tracks whether you should continue looping or exit. the If node then decides whether to feed data back into the loop for another iteration or pass it downstream. it takes a bit of workflow restructuring, but it’s totally doable in n8n.

1 Like

Hey, thanks for the tip! In my case the loop pattern you described wouldn’t work because my loop involves a human-in-the-loop approval step, the workflow pauses via a Wait node and waits for me to physically click Approve or Reject before continuing (on discord) and since n8n can’t loop back after a Wait node, I solved it by splitting into two workflows: Workflow 1 handles the main logic and on Reject it sends an HTTP Request to its own Webhook trigger to restart itself with the relevant data creating a true infinite loop, while on Approve it triggers Workflow 2 which handles the final action.

That’s a perfect solution for human-in-the-loop scenarios! Splitting into two workflows and triggering via webhook is the cleanest way to handle approval gates with looping logic. The fact that you can see the workflow state from Discord makes it even better. Well done figuring that out! :+1:

1 Like

Thank you @Benjamin_Behrens, much appreciated!!!

You’re welcome! Always happy to help. Good luck with the workflow! :+1:

1 Like