Describe the problem/error/question
i did plenty of research in this forum and in your documentation, but i fail to understand the loop-node - at all.
i have a workflow, in which one part is to convert google multi-day-events (one event that spans multiple days) into multiple one-day-events.
therefore i came up with the idea to duplicate items, if they are multi day events:
- one item is converted to a single-day-event
- one item is reduced by one day
so i have 3 paths:
- original single day event (“AlreadySingleDay”)
- multi day event, that is reduced to a one day event (“SetEndTime To Start+1”)
- multi day event, that is reduced by one day (“Set Start Date to Start +1”)
path 3 is then going back to the start of the 3 paths, path 1 and 2 continue to go on with the workflow.
Now here comes the culprit:
i get several runs of path 1,2 and 3 - and want to combine them all, and continue if all are finished.
Threrefore i use a Loop-Node in the fashion below.
What i expected that would happen:
Each element, that is fed to the loop again would remain there until there are no more elements in the loop, and a total of all elements is then passed on via the loop-branch to the next node.
What acutally happens:
depending on using the Merge at path 1 and 2:
a) with the merge:
it works quite alright, but ocassionally, some elements just are droped from the done-results (deterministically) - this might be a bug?
b) without the merge (individual paths back to the loop node):
i get results up to 2.000 although there are only about 60 results in reality
so, therefore i came up with the two nodes “getAllEventsOfAllIterations” and “Split Out2” where i just ignore all input that is coming from the loop node, and via code extract all items of all iterations of path 1 and 2 (“AlreadySingleDay” and “SingleDayEvents”) So the loop node is basically just there, to wait for all the paths inside to be finished.
What is the error message (if any)?
No error message, but my question is really:
Am i just wrong in the assumptions that the done loop should contain all elements, that are fed back to the loop node, and if all elements within the loop - loop are processed, then the done branch will deliver all those elements?
Please share your workflow
Share the output returned by the last node
Information on your n8n setup
- n8n version: 1.89.2
- Database (default: SQLite):
- n8n EXECUTIONS_PROCESS setting (default: own, main):
- Running n8n via (Docker, npm, n8n cloud, desktop app):
- Operating system:


