← Back to Discover

Conductor

An open-source engine that runs workflows and AI agents as stored, versioned graphs, so every step is saved and can be retried, paused or resumed after a crash.

Agent frameworksWorkflow automation

What it does

Conductor is a workflow engine that began at Netflix and is maintained by Orkes and the community. Workflows are defined as versioned JSON graphs, while the code that does the real work runs in separate workers that can be written in Java, Python, Go, JavaScript, C#, Ruby or Rust. Every step is persisted, so executions survive crashes, restarts and network failures. Tasks support configurable retries and timeouts, and you can inspect an execution and then restart, rerun, retry, pause, resume or terminate it. Workflows can branch, loop, fork in parallel, call sub-workflows and resolve tasks at runtime. For AI work it includes built-in LLM tasks, MCP tool discovery and calling, human approval steps and vector workflows for retrieval-augmented generation. The page shows an example agent that discovers tools over MCP, asks an LLM what to do next and loops until it is done. It also offers skills that let AI coding assistants such as Claude Code create and deploy workflows from the terminal. You can start it with a CLI installed through npm (Node.js and Java 21 are required) or with a Docker image, and it ships with a visual UI for designing and debugging workflows. It is licensed under Apache 2.0 and self-hosted, with a choice of persistence backends and message brokers.

Capabilities

  • Persisted state for every step, with retries, timeouts, pause and resume
  • Built-in LLM tasks, MCP tool calling and human approval steps
  • Workers in Java, Python, Go, JavaScript, C#, Ruby or Rust
  • Versioned workflow graphs with branching, loops and parallel fan-out
  • Visual UI for designing, running and debugging executions
  • Self-hosted under Apache 2.0 with several persistence backends

When to use it

  • You need long-running or failure-prone processes to resume exactly where they stopped
  • You are building AI agents that call tools and need approvals and an inspectable history
  • You want orchestration kept separate from worker code in different languages
  • You prefer to run the engine on your own infrastructure