Back to Conductor

Get Running in 60 Seconds

README.md

2019-04-12-13008.8 KB
Original Source
<picture> <!-- Dark mode logo --> <source srcset="https://github.com/user-attachments/assets/104b3a67-6013-4622-8075-a45da3a9e726" media="(prefers-color-scheme: dark)"> <!-- Light mode logo --> </picture> <h1 align="center" style="border-bottom: none"> Conductor - {agentic, durable, scalable} Workflow Engine </h1>

Conductor is an open-source, durable workflow engine built at Netflix for orchestrating microservices, AI agents, and event-driven workflows at internet scale. Actively maintained by Orkes and a growing community.


Get Running in 60 Seconds

shell
npm install -g @conductor-oss/conductor-cli
conductor server start

Open http://localhost:8080 — your server is running with the built-in UI.

Run your first workflow:

shell
# Create a workflow that calls an API and parses the response — no workers needed
curl -s https://raw.githubusercontent.com/conductor-oss/conductor/main/docs/quickstart/workflow.json -o workflow.json
conductor workflow create workflow.json
conductor workflow start -w hello_workflow --sync

See the Quickstart guide for the full walkthrough, including writing workers and replaying workflows.

<details> <summary><strong>Prefer Docker?</strong></summary>
shell
docker run -p 8080:8080 conductoross/conductor:latest

All CLI commands have equivalent cURL/API calls. See the Quickstart for details.

</details>

Conductor Skills for AI Agents

Conductor Skills are pre-built, production-ready workflow packages that give your AI agents superpowers — retrieval, web search, document processing, and more. Install a skill, wire it into your agent, and ship.

shell
# Install the skills CLI
npm install -g @conductor-oss/conductor-skills

# List available skills
conductor-skills list

# Install a skill
conductor-skills install <skill-name>

Browse available skills →


Why Conductor

Durable executionEvery step is persisted. Survive crashes, restarts, and network failures. At-least-once task delivery with configurable retries, timeouts, and compensation flows.
Deterministic workflowsJSON definitions separate orchestration from implementation — no side effects, no hidden state. Every run produces the same task graph. Replay any workflow months later.
AI agent orchestration14+ native LLM providers, MCP tool calling, function calling, human-in-the-loop approval, vector databases (Pinecone, pgvector, MongoDB Atlas) for RAG.
Dynamic at runtimeDynamic forks, dynamic tasks, and dynamic sub-workflows — all resolved at runtime. LLMs can generate workflow definitions as JSON and Conductor executes them immediately. No compile/deploy cycle.
Full replayabilityRestart from the beginning, rerun from any task, or retry just the failed step — on any workflow, at any time, indefinitely.
Internet scaleBattle-tested at Netflix, Tesla, LinkedIn, and JP Morgan. Scales horizontally to billions of workflow executions.
Polyglot workersWrite workers in Java, Python, Go, JavaScript, C#, Ruby, or Rust. Workers poll, execute, and report — run them anywhere.
Self-hosted, no lock-inApache 2.0 licensed. 8+ persistence backends, 6 message brokers. Runs anywhere Docker or a JVM runs.

SDKs

LanguageRepositoryInstall
☕ Javaconductor-oss/java-sdkMaven Central
🐍 Pythonconductor-oss/python-sdkpip install conductor-python
🟨 JavaScriptconductor-oss/javascript-sdknpm install @io-orkes/conductor-javascript
🐹 Goconductor-oss/go-sdkgo get github.com/conductor-sdk/conductor-go
🟣 C#conductor-oss/csharp-sdkdotnet add package conductor-csharp
💎 Rubyconductor-oss/ruby-sdkgem install conductor_ruby
🦀 Rustconductor-oss/rust-sdk(incubating)

Documentation & Community

  • Documentation — Architecture, guides, API reference, and cookbook recipes.
  • Slack — Community discussions and support.
  • Community Forum — Ask questions and share patterns.

Backend Configuration

BackendConfiguration
Redis + ES7 (default)config-redis.properties
Redis + ES8config-redis-es8.properties
Redis + OpenSearchconfig-redis-os.properties
Postgresconfig-postgres.properties
Postgres + ES7config-postgres-es7.properties
MySQL + ES7config-mysql.properties

Build From Source

<details> <summary><strong>Requirements and instructions</strong></summary>

Requirements: Docker Desktop, Java (JDK) 21+, Node 18 (for UI)

shell
git clone https://github.com/conductor-oss/conductor
cd conductor
./gradlew build

# (optional) Build UI
# ./build_ui.sh

# Start local server
cd server
../gradlew bootRun

See the full build guide for details.

</details>

FAQ

<details> <summary><strong>Is this the same as Netflix Conductor?</strong></summary>

Yes. Conductor OSS is the continuation of the original Netflix Conductor repository after Netflix contributed the project to the open-source foundation.

</details> <details> <summary><strong>Is this project actively maintained?</strong></summary>

Yes. Orkes is the primary maintainer and offers an enterprise SaaS platform for Conductor across all major cloud providers.

</details> <details> <summary><strong>Can Conductor scale to handle my workload?</strong></summary>

Yes. Built at Netflix, battle-tested at internet scale. Conductor scales horizontally across multiple server instances to handle billions of workflow executions.

</details> <details> <summary><strong>Is Orkes Conductor compatible with Conductor OSS?</strong></summary>

100% compatible. Orkes Conductor is built on top of Conductor OSS with full API and workflow compatibility.

</details>

Contributing

We welcome contributions from everyone!

Contributors

<a href="https://github.com/conductor-oss/conductor/graphs/contributors"> </a>

Roadmap

See the Conductor OSS Roadmap. Want to participate? Reach out.

License

Conductor is licensed under the Apache 2.0 License.