Quester Studio

merge

Deep-merge objects from previous, run input, vars, or named node outputs

Deep-merges one or more sources left-to-right. Later sources overwrite conflicting keys; nested plain objects are merged recursively.

Here previous and input are merge source keywords (sources: ["previous", "input", …]). In templates use {{input.*}} or {{nodes.id…}} — there is no {{previous.*}} mustache scope. See How flows work.

in ×1 merge out ×1
Deep-merge named sources. Multiple outgoing edges (fan-out) share the same output.

Data

FieldTypeDescription
labelstringOptional UI label
sourcesstring[]required (min 1)

Source names

NameResolves to
previousPrevious node output
inputFlow run input (same bag as {{input.*}})
varsCurrent vars object
<nodeId>That node’s stored output

This input name is only for merge sources. extract / json always read the previous node — they have no source: "input" option. Prefer {{input.*}} when you only need a field in a string.

Non-object values are wrapped as { [sourceName]: value } before merging.

Input / output

Value
Execute inputPrevious node output (previous)
OutputMerged plain object

Examples

Merge previous with vars

{
  "id": "combined",
  "type": "merge",
  "data": {
    "sources": ["previous", "vars"]
  }
}

If previous is { "a": 1, "nested": { "x": 1 } } and vars is { "b": 2, "nested": { "y": 2 } }:

{
  "a": 1,
  "b": 2,
  "nested": { "x": 1, "y": 2 }
}

Include flow input and a node

{
  "sources": ["input", "login", "vars"]
}

Here "input" means the Run panel / --input object, not an input node id (unless a node is also literally named input — prefer the keyword for run payload).

Overlay defaults

{
  "sources": ["defaultsNode", "previous"]
}

Later source (previous) wins on key conflicts.