All nodes/Logic & Flow/Synchronization

Merge

Combines separate exec and data inputs into a single execute_data output. Fires on the incoming exec and takes the last value from the data input.

Merge
EventResult
Data

Type in the graph: merge

Exec

An error branch can be enabled (expose_error_output) to handle failures on their own path.

Try it

Minimal working workflow

Entry
Merge
Exit
  • Execute + Data
Press “Copy nodes”, open the editor and hit Ctrl+V on the canvas.

Runs as pasted

When to use it

Assembles one combined “execution + data” edge out of two separate ones: “Event” sets the moment, “Data” supplies the value. Use it when the “go” signal and the value come from different places while the next step expects a single combined edge.

Before adding the node, check the neighbours’ settings: many nodes offer “Split input ports” and “Split output ports” toggles that do the same thing on the node itself, without an extra box on the canvas. Reach for merge when a node has no such toggle, or when you want the join of two branches to be a visible element of the graph.

How it works

The node fires when execution arrives at “Event” and, at that moment, takes the current value from “Data”. That value is what leaves the output — the “Event” branch adds nothing to it — so {{ nodes.<id>.output }} is the data-input value.

The data input only reads a result, it does not order execution: the branch it reads from has to finish earlier along the execution path. The exception is configuration nodes such as template, var and const: they have no execution input, and Flow evaluates them itself at the moment the value is needed.

Common mistakes

  • Expecting the node to wait for both branches. merge is not a barrier: it fires on the incoming execution and takes whatever value sits on the data input right then. If the data branch finishes later, the output is empty. Waiting is what wait_all is for.
  • Two edges into one input. “Event” and “Data” each take a single edge; a second one makes the input ambiguous and the graph fails validation. To combine two values into one, use json_merge or a barrier.
  • Expecting something from the “Event” branch on the output. That branch contributes only the moment of firing; the source node’s result does not end up in the value. If you need it, read it with a template: {{ nodes.<source id>.output }}.

Inputs

PortWirePayloadNotes
EventeventExecuteexecute

Execution trigger

DatadataDatadata

Data payload (snapshot on trigger)

Outputs

PortWirePayloadNotes
ResultoutputExecute + Dataexecute_dataobject

Configuration

This node has no configurable fields.

Shared fields

Every node has these three — the platform adds them, not the node author.

  • expose_error_output — When enabled, show an execution output to connect nodes that run if this step fails.