Parallel & Merge nodes
The Flow Control category includes two nodes for concurrent execution:
| Node | Description |
|---|---|
| Parallel | Fork execution into multiple concurrent branches |
| Merge | Join parallel branches back together |
Parallel node
The Parallel node splits execution into multiple branches that run concurrently.
Configuration
Click the Parallel node to open its configuration panel.

| Setting | Type | Description |
|---|---|---|
| Node Label | Text field (default: Parallel) | Display name on the canvas |
| Merge Strategy | Toggle buttons | How to handle branch completion (see below) |
| Branches | List + “Add Branch” button | Define named branches with optional conditions |
| Output Variable | Text field (default: parallel_results) | Variable holding combined branch results |
Merge Strategy options
| Strategy | Description |
|---|---|
| Wait All | Wait for all branches to complete before continuing |
| Wait Any | Continue as soon as any single branch completes |
| Wait N | Continue after N branches complete |
| First Success | Continue with the first branch that succeeds (others are cancelled) |
Branch configuration
Each branch has:
- Name — Text field for the branch label
- Disable — Button to temporarily disable a branch
- Remove — Button to delete the branch
- Condition — Optional condition that must be true for this branch to execute
Advanced Options
Expandable section with timeout and error handling settings.
Edge significance
The Parallel node has N output edges — one for each branch. Each edge is labeled with the branch name.
Merge node
The Merge node joins parallel branches back into a single execution path. It’s the counterpart to the Parallel node.
Configuration
Click the Merge node to open its configuration panel.

| Setting | Type | Description |
|---|---|---|
| Node Label | Text field (default: Merge) | Display name on the canvas |
| Expected Branches | Number input (default: 2) | Number of incoming parallel branches to wait for |
| Aggregation Mode | Toggle buttons (6 options) | How to combine branch results (see below) |
| Filter Results | Combobox (default: All Results) | Filter which results to include |
| Output Variable | Text field (default: merged_results) | Variable name for merged output |
Aggregation Mode options
| Mode | Description |
|---|---|
| Array | Collect results into an array |
| Object | Combine into a keyed object |
| First | Use the first completed result |
| Last | Use the last completed result |
| Merge | Deep/shallow merge all results |
| Custom | Custom aggregation expression |
Edge significance
The Merge node accepts multiple input edges (one from each parallel branch) and has a single output edge continuing the workflow.
The Merge node is optional when using the Parallel node with a built-in merge strategy. Use it when you need explicit control over how branches rejoin or when branches were created manually without the Parallel node.
Common patterns
- Fan-out/Fan-in — Parallel → multiple processing branches → Merge → continue with combined results.
- Race condition — Parallel (First Success) with multiple API calls to different providers, taking the fastest response.
- Partial results — Parallel (Wait N) when you only need responses from a subset of branches.