Open-source orchestration platform for data, AI, and infrastructure workflows
Click on the image to learn how to get started with Kestra in 3 minutes.
🌟 What is Kestra?
Kestra is an open-source, event-driven orchestration platform for data, AI, and infrastructure workflows. It unifies scheduled and event-driven automation behind a declarative, language-agnostic interface. By bringing Infrastructure as Code best practices to your data, process, and microservice pipelines, you can build reliable workflows directly from the UI in just a few lines of YAML, let the built-in AI Copilot write them for you, or generate them straight from your coding agent (Claude Code, Cursor, Windsurf, and others) with Agent Skills.
📖 Table of Contents
- ✨ What's New in 2.0
- 🚀 Quick Start
- 🧩 Plugin Ecosystem
- 📚 Key Concepts
- 🎨 Build Workflows Visually
- 🔧 Extensible and Developer-Friendly
- 🌐 Join the Community
- 🤝 Contributing
- 📄 License
- ⭐️ Stay Updated
Key Features:
- Everything as Code and from the UI: keep workflows as code with a Git Version Control integration, even when building them from the UI.
- Three ways to build the same flow: the YAML editor, the No-Code editor, and the AI Copilot all edit the same flow and stay in sync.
- AI-native orchestration: AI Agents and RAG workflows as first-class task types, plus a built-in MCP server that exposes your flows as tools to any MCP-compatible agent.
- Event-Driven & Scheduled Workflows: automate both scheduled and real-time event-driven workflows via a simple
triggerdefinition. - Declarative YAML Interface: define workflows using a simple configuration in the built-in code editor.
- Rich Plugin Ecosystem: hundreds of plugins built in to extract data from any database, cloud storage, or API, and run scripts in any language.
- Intuitive UI & Code Editor: build and visualize workflows directly from the UI with syntax highlighting, auto-completion and real-time syntax validation.
- Scalable: designed to handle millions of workflows, with high availability and fault tolerance. Workers talk to the control plane over gRPC, so they can run in another region or inside a restricted network.
- Version Control Friendly: write your workflows from the built-in code Editor and push them to your preferred Git branch directly from Kestra, enabling best practices with CI/CD pipelines and version control systems. Save a flow as a draft to iterate without disrupting the revision your triggers are running.
- Structure & Resilience: tame chaos and bring resilience to your workflows with namespaces, labels, subflows, retries, timeout, error handling, inputs, outputs that generate artifacts in the UI, variables, conditional branching, advanced scheduling, event triggers, backfills, dynamic tasks, sequential and parallel tasks, checks that validate preconditions before an execution starts, quotas that cap how many executions a flow can create in a time window, and skip tasks or triggers when needed by setting the flag
disabledtotrue.
🧑💻 The YAML definition gets automatically adjusted any time you make changes to a workflow from the UI or via an API call. Therefore, the orchestration logic is always managed declaratively in code, even if you modify your workflows in other ways (UI, No-Code editor, AI Copilot, CI/CD, Terraform, API calls).
✨ What's New in 2.0
Kestra 2.0 is a major release. The highlights below are the short version. See What's New in Kestra 2.0 for the full list, and the 2.0 migration guide for breaking changes and upgrade steps.
AI
- AI Copilot is now a persistent sidebar with Ask, Edit, and Plan modes, and it reads your namespace metadata so suggestions reuse the credentials you already configured.
- AI Agents and RAG workflows let you orchestrate LLM calls, vector stores, and chunking inside a flow, with token usage reported per execution.
- The MCP server, the MCP Tool Trigger, and Agent Skills make your flows callable from AI agents and coding assistants.
Workflow components
ForEachandForEachItemare replaced by a singleLooptask.- Trigger
conditionsare now written aswhen, alongside new date helpers such asisWeekend(),isPublicHoliday(),isDayWeekInMonth(), andisLastWorkingDay(). See date functions. - The new
subflow()function returns a subflow's outputs inline in an expression, with no dedicated task. - Inputs gain
{label, value}options forSELECT/MULTISELECT, JSON Schema validation, and aFORMtype that groups inputs into a multi-step wizard. - Draft revisions let you stage flow changes while triggers keep running the last published revision.
- Triggers can attach labels to the executions they create.
Developer experience
- The No-Code editor builds flows block by block, with a guided form per task and the available upstream outputs