Parallel Fork Node
Split workflow execution into multiple concurrent lanes, running them simultaneously for maximum throughput.
Key Capabilities
- Launches all connected downstream lanes simultaneously in a single execution step — true parallel execution, not sequential fan-out.
-
fail_fastmode cancels all running lanes immediately if any single lane fails, preventing partial completion of related operations. -
max_parallelismlimits concurrent lane count for rate-limited APIs or resource-constrained environments — lanes queue and execute as slots become available. - Sets
Memory.IsParallelExecutionActive = trueto signal the execution engine that parallel mode is active, enabling proper result collection by the downstream Join node. - Each lane receives an independent copy of the execution context — lane operations cannot interfere with each other's variables.
- Dramatically reduces total workflow execution time when multiple operations can proceed independently — the total time becomes the longest lane's time, not the sum of all lanes.
Business Benefits
Many enterprise workflows contain sequences of independent operations that are executed one after another simply because sequential execution is the default. Sending an email, posting a Slack message, and logging to a CRM are three completely independent operations. Running them sequentially means waiting for each one before starting the next. With a Parallel Fork, all three start at the same time and the workflow continues as soon as all three complete — potentially cutting execution time by two-thirds.
For workflows that call multiple external APIs (enrichment services, validation endpoints, data lookups), the latency of each API call dominates execution time. Parallel Fork transforms N sequential API latencies into a single latency equal to the slowest call. A workflow that previously took 3 seconds (three 1-second API calls) can complete in 1 second plus a small coordination overhead.
The fail_fast option provides important business safety for operations that must all succeed together. If you are simultaneously debiting a customer account and crediting a supplier, a failure on either side should stop the other. With fail_fast enabled, a lane failure immediately cancels all sibling lanes, preventing partial financial transactions that would require manual reconciliation.
The ability to control parallelism via max_parallelism is essential when integrating with third-party APIs that enforce rate limits. You can run as many lanes as the API allows concurrently, queuing the rest, rather than choosing between full sequential execution or risking rate limit rejections.
Use Cases
Multi-Channel Notification Dispatch
Send email, SMS, and Slack notifications simultaneously when an order is confirmed. All three notification lanes start at the same time via Parallel Fork. The Parallel Join waits for all three to complete before proceeding to the order confirmation screen. Total time equals the slowest channel, not the sum.
Concurrent API Data Fetching
Enrich a customer profile by calling a credit scoring API, a fraud risk API, and a loyalty programme API simultaneously. All three data sources are independent — there is no reason to call them sequentially. Parallel Fork launches all three at once, and Parallel Join merges the results into a unified enriched profile object.
Parallel Validation Checks
Before approving a loan application, run independent validation checks in parallel: credit history check, identity verification, income verification, and address verification. All four checks are independent and can run concurrently. The Join node waits for all four, then an If Condition checks whether all passed before proceeding.
Concurrent Document Generation
Generate multiple output documents from a single data payload simultaneously: the customer invoice, the shipping label, the warehouse pick list, and the supplier remittance. All four documents are independent and can be rendered in parallel, reducing the time from order confirmation to dispatch.
In This Guide
Configuration
Configure fail_fast and max_parallelism, understand IsParallelExecutionActive flag, and pair correctly with Parallel Join.
Input & Output
The success port, lane context isolation, data available in each lane, and how to connect lanes to the Join node.
Examples
Notification dispatch, API fan-out, parallel validation, and fail_fast financial transaction examples.