explaingit

conductor-oss/conductor

📈 Trending31,837JavaAudience · developerComplexity · 4/5ActiveLicenseSetup · hard

TLDR

Open-source workflow engine that reliably coordinates multi-step processes across distributed systems, handling retries, failures, and resuming from where it left off.

Mindmap

mindmap
  root((Conductor))
    What it does
      Coordinates workflows
      Handles failures
      Resumes from checkpoints
      Manages retries
    Key features
      JSON workflow definitions
      Multi-language workers
      LLM task support
      Human approval steps
    Use cases
      Payment processing
      User onboarding
      AI agent loops
      ETL pipelines
    Tech stack
      Java server
      Multi-language workers
      Distributed systems
      Vector databases

Things people build with this

USE CASE 1

Build payment processing workflows that survive server crashes and resume from the exact step that failed.

USE CASE 2

Create AI agent systems where Conductor manages the think-act loop durably with LLM calls and tool execution.

USE CASE 3

Orchestrate user onboarding flows across multiple microservices with automatic retries and human approval gates.

USE CASE 4

Run ETL pipelines that can pause, resume, and be audited for compliance and debugging.

Tech stack

JavaPythonGoJavaScriptJSONApache 2.0

Getting it running

Difficulty · hard Time to first run · 1h+

Distributed workflow engine requires multiple service components (coordinator, workers, storage) and likely needs Docker/container orchestration to demonstrate multi-step processes.

Use freely for any purpose, including commercial use, as long as you include the original copyright notice and license text.

In plain English

Conductor is an open-source workflow engine that coordinates multi-step processes across distributed systems, making sure every step completes reliably even when servers crash, networks fail, or individual services are temporarily unavailable. The core problem it solves is that real-world processes, like processing a payment, onboarding a user, or running an AI agent loop, involve many steps across many services, and without a coordinator, a failure halfway through leaves things in an inconsistent state with no clear way to resume. Conductor works by representing workflows as JSON definitions made up of tasks. Each task is executed by a worker, which is a small piece of code you write in any language: Java, Python, Go, JavaScript, or others. Workers poll Conductor for work, execute their logic, and report results back. Conductor handles all the orchestration logic, including retries on failure, timeouts, conditional branches, parallel forks, and sub-workflow calls. Every step is persisted, so if a workflow fails at step seven of twenty, it resumes from step seven rather than starting over. For AI use cases, Conductor natively supports LLM task types that call language model providers, MCP tool calling, human-in-the-loop approval steps, and vector database lookups. This makes it possible to build autonomous AI agents where Conductor manages the think-act loop durably. You would use Conductor when building microservice orchestration, long-running business processes, ETL pipelines, or AI agent systems that need to survive failures and be observable, auditable, and replayable. The server is written in Java and requires Java 21, while workers can be written in any supported language. It was originally built at Netflix and is now maintained as an open-source project under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
Show me how to define a simple workflow in Conductor JSON that processes a payment with retry logic and failure handling.
Prompt 2
How do I write a Python worker for Conductor that polls for tasks and reports results back to the server?
Prompt 3
Walk me through building an AI agent in Conductor that calls an LLM, executes tools, and loops until a goal is reached.
Prompt 4
What's the best way to set up Conductor locally for testing a multi-step microservice workflow?
Prompt 5
How do I make a Conductor workflow resumable so it picks up from step 7 if it fails partway through a 20-step process?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.