parallel node executes multiple branches simultaneously. Use it when you need to make several independent operations and want to reduce total execution time.
Configuration
Config Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
branches | string[][] | Yes | - | Array of branches, each branch is an array of node IDs |
wait | string | No | "all" | Wait strategy: "all", "any", or "all_settled" |
timeout | number | No | - | Maximum milliseconds to wait |
Wait Strategies
"all" (default)
Wait for all branches to complete. If any branch fails, the entire parallel node fails.
"any"
Continue as soon as the first branch completes successfully. Other branches are cancelled.
"all_settled"
Wait for all branches to complete, regardless of success or failure. Errors are captured but don’t fail the node.
Output
Each branch’s node outputs are available in the context as usual: After parallel execution:Examples
Fetch Multiple APIs
Notify Multiple Services
"all_settled" ensures we try all notification channels even if one fails.
Race for Fastest Response
Branch with Multiple Steps
Each branch can contain multiple nodes that execute sequentially:Accessing Results
After parallel execution, access each node’s output normally:Error Handling
With wait: "all"
If any branch fails, the parallel node fails and no subsequent nodes execute (unless wrapped in a try node).
With wait: "all_settled"
All branches complete regardless of errors. Check individual results:
Performance Tips
- Group independent operations - Only parallelize operations that don’t depend on each other
- Set timeouts - Prevent slow branches from blocking execution
- Use
all_settledfor notifications - Non-critical operations shouldn’t fail the flow - Keep branches focused - Each branch should do one logical thing