Follow the tutorial to schedule and orchestrate your first workflows.
Kestra is an open-source orchestrator designed to bring Infrastructure as Code (IaC) best practices to all workflows — from those orchestrating mission-critical applications, IT operations, business processes, and data pipelines, to simple Zapier-style automations.
You can use Kestra to:
- run workflows on-demand, event-driven or based on a regular schedule
- programmatically interact with any system or programming language
- orchestrate microservices, batch jobs, ad-hoc scripts (written in Python, R, Julia, Node.js, and more), SQL queries, data ingestion syncs, dbt or Spark jobs, or any other applications or processes
This tutorial will guide you through key concepts in Kestra. We'll build upon the "Hello world" flow from the Quickstart, and we'll gradually introduce new concepts including
tasks, parametrization with
inputs and scheduling using
We'll then dive into
parallel task execution, error handling, as well as custom scripts and microservices running in isolated containers. Let's get started!
Let's start by building a "Hello world" example.
Inputs allow you to make your flows more dynamic and reusable.
Tasks and flows can generate outputs, which can be passed to downstream processes. These outputs can be variables or files stored in the internal storage.
You can use triggers to automatically start flows based on events. A trigger can be a scheduled date, a new file arrival, a new message in a queue, or the end of another flow's execution.
Flowable tasks control the orchestration logic — run tasks or subflows in parallel, create loops and conditional branching.
Errors and Retries
Failure is inevitable. Kestra provides automatic retries and error handling to help you build resilient workflows.
Run custom Python, R, Julia, Node.js and Shell scripts in isolated containers.