​Workflow ​Components

This section describes the main orchestration components of a Kestra workflow.

Tasks

Tasks

Tasks are discrete actions within a flow, capable of taking inputs and variables from the flow, and producing outputs for downstream consumption by end users and other tasks.

Flow

Flow

Flow is a container for tasks and and their orchestration logic, as well as labels, variables, inputs, outputs and triggers.

Namespace

Namespace

Namespace is a logical grouping of flows. Namespaces are used to organize workflows and manage access to secrets, task defaults and variables.

Execution

Execution

Execution is a single run of a flow in a specific state.

Conditions

Conditions

Conditions are specific criteria or events that determine when a specific triggers should create a new execution. Usually, they limit the scope of a trigger to a specific set of cases.

Flow trigger

Flow trigger

Flow trigger allows you to trigger a flow after another flow execution, enabling event-driven patterns.

Triggers & schedule

Triggers & schedule

Trigger is a mechanism that automates the execution of a flow. Triggers can be scheduled, event-based or webhook-based.

Schedule trigger

Schedule trigger

The Schedule trigger generates new executions on a regular cadence based on a Cron expression or custom scheduling conditions.

Webhook

Webhook

Webhook trigger generates a unique URL that you can use to automatically create new executions based on events in another application such as GitHub or Amazon EventBridge.

Variables

Variables

Variables are key-value pairs that help reuse some values across tasks.

Inputs

Inputs

Inputs is a list of dynamic values passed to the flow at runtime.

Outputs

Outputs

Outputs allow you to pass data between tasks and flows.

Labels

Labels

Labels are key-value pairs that you can use to organize (and search for) your flows and executions based on your project, maintainers, or any other criteria.

Task defaults

Task defaults

Task defaults is a list of default values applied to each task of a certain type within your flow(s). Task defaults are like default function's arguments — they help avoid repetition when a given task or plugin is often called with the same values.

Subflows

Subflows

Subflows allow you to build modular and reusable workflow components. They work similarly to calling functions. A subflow execution is created when you call a flow from other flow.

Errors

Errors

The errors is a list of tasks set on a flow-level that will be executed when an error occurs. You can add multiple such tasks, and they will be executed sequentially.

Retries

Retries

Retries handle transient failures in your workflows. They are defined at the task level and can be configured to retry a task a certain number of times, or with a certain delay between each retry.

Concurrency limits

Concurrency limits

The flow-level concurrency property allows you to control the number of concurrent executions of a given flow by setting the limit key.

Descriptions

Descriptions

You can document your flows, inputs, outputs, tasks and triggers by adding a description property.

Disabled flag

Disabled flag

The disabled flag is a boolean property that allows you to skip a flow, task or trigger.

Flow properties

Flow properties

This section summarizes all required and optional properties of a flow.