Get previous Node data after Merge

I can’t seem to get previous node data if i use a Merge Node that waits the 2 inputs to finish first.

It says:

ERROR: Can’t get data for expression under ‘Fields to Set > Values’ field
To fetch the data from other nodes that this expression needs, more information is needed from the node ‘Merge’

Is this by design? How to get the data from Name node from the example below?

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

@Mulen , use {{ $('Name').first().json["name"] }} instead.


Thank you it works, but why? Is it documented somewhere to explain this behavior?

Hey @Mulen,

In theory it should work with .item and using .first() can result in unexpected results if the Name node was to output more than item.

It looks like when the Merge node outputs a single empty item it probably isn’t setting the paired item information for the previous nodes so that link is getting lost.

In your actual workflow that fails how are you using the Output Single Empty Item option?

Hey Jon.

I use Merge node to wait the 2 workflows to finish (similar to this example) and then want to proceed with a node that uses some data already on the first branch.

Is there another solution?

Hey @Mulen,

What about merging the outputs from the 2 flows instead of ony putting an empty item or is that not an option?

The node after the merge i want to start a new flow without the previous data. Only reference a value from one node before the merge

Hey @Mulen,

You could go from the merge to a Set node that outputs one thing which should allow the paired items to work or set the next step to only execute once which should work around the problem as well.

Jon thanks for the reply but i didn’t get what you meant.

I just want to use a merge node to wait the two parallel workflows to end and then start a new workflow from the node after merge. The only thing i want the node after merge is to use some data from the first workflow branch before the merge.

The only way is to output Input 1 data from the merge node. By using the empty array which i want i can not get the data.

Hey @Mulen,

If you just wanted to run the next node after the merge once because you don’t care about the output you could set the merge node to merge the data then on the next node in the node settings you can tell it to run only once. This would give you the item linking for the previous nodes so you can use the data and would run the next node once ignoring the previous data.

To do this in the Merge node tell it to output the data from input 1 or something then just ignore the output in the next node and run it only once using this option.


Then after that node finishes running you should be able to use the previous data if needed. I have created NODE-1049 as a dev ticket to look into this more as we should either see if we can change this or document that this will stop item linking from working.

1 Like

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