Aggregation
Pick the first valid value among sources from different branches.
The Aggregation node unifies variables from different branches into a single output.
It doesn't concatenate or add. It evaluates the sources in order and returns the first valid value it finds.
How it works
- You provide a list of sources in order of priority.
- The node tests the first, then the second, and so on.
- When it finds a valid value, it stops and returns that result.
- An empty source makes the flow move on to the next one automatically.
This behaves like a chain of fallbacks, not a merge. To combine content from several sources into a single text, the path is an LLM node receiving all of them in its prompt.
Typical use
The natural place for this node is after a Condition. Each branch produces its own result, only one of them ran, and the Aggregation collects whatever was actually filled in.
This keeps the flow's contract stable: whichever path was taken, the Output node always receives the same variable.
Unstructured output
Returns a single value: the first valid source in the list.
{
"config": {
"assign_variables": [
"{{primary.result}}",
"{{secondary.result}}",
"{{fallback.value}}"
]
}
}The result is the content of the first of those three that has a value.
Structured output
Returns a set of fixed fields. You declare the fields in output_schema, and each source becomes an object with those fields.
{
"config": {
"assign_variables": [
{ "result": "{{branch1.result}}", "status": "{{branch1.status}}" },
{ "result": "{{branch2.result}}", "status": "{{branch2.status}}" }
],
"output_schema": ["result", "status"]
}
}In the side panel
Add includes new input sources. The order of the list is the order of priority, and the first is the most important.
The structured output switch is in the same panel, and turning it on changes the sources' format from a simple value to an object.