i am trying to figure out the issue with the Merge Node i have…
If i do a simple test build, it merges both inputs. As soon as i use it in my actual flow, it only gives out a certain input (so it doesnt matter if that data is connected to input 1 oder 2 or whatever). The other data is not included in output data. If i switch modes, that doesnt help. If i switch mode to specifically select the input with the “lost” data, i get empty output
I cant paste the whole flow as it contains alot of document data from the paperless ngx docs that i try to work with
Any idea how to troubleshoot this?
Update: During some tests i got a working version, but not completely working… Issue seems to be that Merge Node always does 2 runs (despite having set “run once”) while one run includes all data and second run does only contain certain data
The Merge node in n8n runs once per incoming branch, so if both branches are active, it may execute twice, even in “run once” mode.
If one input doesn’t send data you might get incomplete or cached results. To avoid this, make sure both inputs always send data (set “always output data” upstream if needed) and use the default “wait for all inputs” mode.
The Merge node doesn’t have a “Wait for All Inputs” setting because that’s its default behavior it waits for both inputs to send data before merging. However, it will run once for each input that sends data, so if your branches are not perfectly synchronized, it may execute multiple times with partial or inconsistent data. To avoid this, make sure both inputs always send something, even if it’s empty structured data, and consider enabling “Always Output Data” in upstream nodes like IF or Switch. This ensures consistent behavior and prevents unexpected extra executions.
Thanks. Im Meanwhile i did achieve something with IF after Merge that checks for the first run (that contains apparently always all data) and that way i can ignore the second run thats always just with half or no data.
Still i dont understand why it behavies like this - especially if there is the setting “wait for all inputs”. That should be clearly waiting for all inputs and not give more than one output / run, isnt it?
it’s likely that the two branches feeding into the Merge node are executing separately at different times, causing n8n to treat them as independent workflow runs, not as a single joint merge. This happens especially in async flows or loops maybe.
Reviewing their execution timing, possibly using Wait node to align them if necessary.
I’m running a workflow that pulls Facebook Ads data from two different accounts and should send one consolidated report via email. The problem is my Claude node only sees data from the first account, even though my Merge node shows it’s receiving both inputs. It seems Claude Node can read input 1, but input 2 isn’t able to for some reason.