Parallel Block
Execute workflow blocks in parallel
Container block that executes child workflow blocks in parallel. Supports both count-based parallel execution and collection-based distribution. Child blocks placed inside the parallel container will be executed concurrently. Use it whenever independent tasks can run at the same time and you want to reduce overall workflow execution time.
Overview
| Property | Value |
|---|---|
| Type | parallel |
| Category | blocks |
| Color | #FEE12B |
When to Use
- Run independent API calls simultaneously instead of sequentially
- Process every item in a list concurrently (e.g., enrich each row of a dataset in parallel)
- Query multiple data sources at the same time and collect all results
- Generate multiple AI outputs in parallel (e.g., the same prompt sent to several providers)
- Speed up workflows where tasks do not depend on each other's output
- Control concurrency limits to avoid hitting external rate limits
Configuration
Parallel Type
Dropdown — selects the mode of parallel execution.
| Option | id | Description |
|---|---|---|
| Parallel Count | count | Runs child blocks a fixed number of times concurrently |
| Parallel Each (Collection) | collection | Distributes items from an array or object across parallel executions |
Parallel Executions
Short input — only shown when Parallel Type is count.
- id:
count - Placeholder:
3 - Specifies how many concurrent executions to launch.
Distribution Items
Long input — only shown when Parallel Type is collection.
- id:
collection - Placeholder:
['item1', 'item2', 'item3'] or {{previous_block.output}} - Array or object to distribute across parallel executions. Use
{{block_id.output}}to reference another block's output.
Max Concurrency
Slider — always visible.
- id:
maxConcurrency - Range: 1 – 20
- Maximum number of parallel executions allowed to run at the same time. Useful for staying within external API rate limits.
Wait for All
Switch — always visible.
- id:
waitForAll - When enabled, the block waits for every parallel execution to finish before the workflow continues downstream.
Stop on Error
Switch — always visible.
- id:
stopOnError - When enabled, all in-flight parallel executions are cancelled as soon as any single execution fails.
Timeout (seconds)
Short input — always visible.
- id:
timeout - Placeholder:
300 - Maximum wall-clock time (in seconds) to wait for all executions to complete before the block times out.
Inputs & Outputs
Inputs
collection(json) — Collection of items to distribute across parallel executionscount(number) — Number of parallel executions
Outputs
executions(number) — Total number of parallel executions completedresults(json) — Array of results from each parallel executionexecutionTime(number) — Total execution time in millisecondsstatus(string) — Parallel execution status (completed,error, orcancelled)currentExecution(number) — Current execution number (available during execution)currentItem(json) — Current item being processed (for collection-based parallel execution)
Tools
This block uses no external tools (tools.access is empty). All execution logic is handled internally by the parallel executor handler.
YAML Example
parallel_1:
type: parallel
name: "Parallel"
inputs:
parallelType: "collection"
collection: "{{fetch_data_1.results}}"
maxConcurrency: 5
waitForAll: true
stopOnError: false
timeout: "120"
connections:
outgoing:
- target: next-block-id