New to Kestra?
Use blueprints to kickstart your first workflows.
Orchestrate multiple Kestra subflows concurrently using the Parallel task, wait for all to complete, and propagate child failures to the parent run.
Run several independent child flows at the same time instead of one after another, then wait for all of them to finish before the parent continues. This blueprint fans out to three subflows using the core io.kestra.plugin.core.flow.Parallel task, cutting total wall-clock time when the children have no dependencies on each other, while still giving you a single parent run to monitor, retry, and observe.
parallel task of type io.kestra.plugin.core.flow.Parallel.io.kestra.plugin.core.flow.Subflow tasks (flow1, flow2, flow3) are launched concurrently, each pointing at a child flow in the company.team namespace.pluginDefaults applies shared settings to every Subflow task so you do not repeat them: namespace: company.team, wait: true (the parent blocks until each child completes), and transmitFailed: true (a failed child marks the parent run as failed).pluginDefaults shared across the subflow tasks.Kestra lets you describe parallelism declaratively in YAML, attach event triggers, add retries per task, and inspect full lineage across parent and child executions from one UI. Each subflow keeps its own logs, outputs, and execution history while the parent coordinates timing and failure handling, something a single script's ad hoc threading cannot give you cleanly.
flow1, flow2, flow3) in the company.team namespace.None. This blueprint uses only core tasks and references no secret() values.
company.team namespace.First flow:
id: flow1
namespace: company.team
tasks:
- id: get
type: io.kestra.plugin.core.debug.Return
format: hi from {{ flow.id }}
Second flow:
id: flow2
namespace: company.team
tasks:
- id: get
type: io.kestra.plugin.core.debug.Return
format: hi from {{ flow.id }}
Third flow:
id: flow3
namespace: company.team
tasks:
- id: get
type: io.kestra.plugin.core.debug.Return
format: hi from {{ flow.id }}
Subflow tasks under parallel to fan out wider.inputs to each subflow and read child outputs back in the parent.wait: false for fire-and-forget children, or keep transmitFailed: true to fail fast.Sequential flow to stage groups of parallel work.