https://github.com/conductor-oss/conductor
Conductor is an event driven orchestration platform providing durable and highly resilient execution engine for your applications
https://github.com/conductor-oss/conductor
distributed-systems durable-execution grpc java javascript microservice-orchestration orchestration-engine orchestrator reactjs spring-boot workflow-automation workflow-engine workflow-management workflows
Last synced: 4 days ago
JSON representation
Conductor is an event driven orchestration platform providing durable and highly resilient execution engine for your applications
- Host: GitHub
- URL: https://github.com/conductor-oss/conductor
- Owner: conductor-oss
- License: apache-2.0
- Created: 2023-12-08T06:06:09.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2026-01-26T23:42:11.000Z (27 days ago)
- Last Synced: 2026-01-27T06:14:46.113Z (27 days ago)
- Topics: distributed-systems, durable-execution, grpc, java, javascript, microservice-orchestration, orchestration-engine, orchestrator, reactjs, spring-boot, workflow-automation, workflow-engine, workflow-management, workflows
- Language: Java
- Homepage: https://conductor-oss.org
- Size: 28.7 MB
- Stars: 31,561
- Watchers: 52
- Forks: 804
- Open Issues: 123
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Roadmap: ROADMAP.md
Awesome Lists containing this project
- StarryDivineSky - conductor-oss/conductor - 2.0 许可证。自由部署、修改和回馈。通过完全抽象的后端,您可以选择自己的数据库持久层和排队服务。企业就绪的、基于Java Spring的平台,已经在Netflix和其他地方的生产系统中进行了实战测试。强大的流控制结构,包括决策、动态分叉连接和子工作流。支持变量和模板。多种语言的客户端库允许使用 Java、Node JS、Python 和 C# 实现 worker。适用于编排器和工作线程的分布式架构,可从单个工作流扩展到数百万个并发流程。Conductor 允许您使用简单而精细的任务来构建复杂的应用程序,这些任务不需要了解或跟踪应用程序执行流的状态。Conductor 跟踪状态,按正确的顺序(按顺序或并行,由您定义)调用任务,根据需要重试调用,优雅地处理故障场景,并输出最终结果。利用 Conductor 中的工作流,开发人员能够真正专注于他们的核心任务 - 使用他们选择的语言构建他们的应用程序代码。Conductor 承担了与确保其工作流程的高可靠性、事务一致性和长期耐用性相关的繁重工作。简单地说,无论您的应用程序组件位于何处,也无论它们使用哪种语言编写,您都可以在 Conductor 中构建一个工作流,以可靠且可扩展的方式编排它们的执行。 (其他__大数据 / 网络服务_其他)
- awesome-workflow-engines - Conductor - oss/conductor.svg)](https://github.com/conductor-oss/conductor) - Conductor is a microservices orchestration platform that enables developers to build scalable, durable application flows. Conductor workflows are language and framework-agnostic. The Conductor is maintained by Orkes and a team of open-source contributors. (Full fledged product)
- awesome-repositories - conductor-oss/conductor - Conductor is an event driven orchestration platform providing durable and highly resilient execution engine for your applications (Java)
- awesome-data-analysis - Conductor - Orchestration engine for running complex, multi-step workflows and business processes. (⚙️ Data Engineering / Tools)
- grpc-protos - conductor-oss/conductor - oss/conductor) | workflow (Repositories)
README

Conductor - {agentic, durable, scalable} Workflow Engine
[](https://github.com/conductor-oss/conductor/stargazers)
[](https://github.com/conductor-oss/conductor/releases)
[](http://www.apache.org/licenses/LICENSE-2.0)
[](https://join.slack.com/t/orkes-conductor/shared_invite/zt-2vdbx239s-Eacdyqya9giNLHfrCavfaA)
[](https://conductor-oss.org)
Conductor is an open-source orchestration engine built at Netflix to help developers manage microservices and event-driven workflows. Today, it’s actively maintained by the team at [Orkes](https://orkes.io) and a growing [community of contributors](https://orkes-conductor.slack.com/join/shared_invite/zt-2vdbx239s-Eacdyqya9giNLHfrCavfaA#/shared-invite/email).
[](https://youtu.be/4azDdDlx27M)
- - -
# Table of Contents
* [Table of Contents](#table-of-contents)
* [What is Conductor?](#what-is-conductor)
* [Key Features](#key-features)
* [Use Cases](#use-cases)
* [Getting Started with Conductor](#getting-started-with-conductor)
* [All Options](#all-options)
* [Conductor SDKs](#conductor-sdks)
* [Documentation](#documentation)
* [Community / I Need Help](#community--i-need-help)
* [Backend Configuration options](#backend-configuration-options)
* [Build from source](#build-from-source)
* [Requirements for Source Build](#requirements-for-source-build)
* [Clone the repo](#clone-the-repo)
* [Frequently Asked Questions](#frequently-asked-questions)
* [Contributing](#contributing)
* [Contributors](#contributors)
* [Conductor OSS Roadmap](#conductor-oss-roadmap)
* [License](#license)
# What is Conductor?
Conductor (or [Netflix Conductor](https://netflixtechblog.com/netflix-conductor-a-microservices-orchestrator-2e8d4771bf40)) is a durable orchestration engine for workflows and agents.
It empowers developers to create workflows that define interactions between services, agents databases, and other external systems providing durability of execution against underlying infrastructure failures.
Conductor is designed to enable flexible, resilient, and scalable workflows.
It allows you to compose services into complex workflows without coupling them tightly, simplifying orchestration across cloud-native applications and enterprise systems alike.
Conductor OSS is the continuation of [Netflix Conductor Repository](https://github.com/Netflix/conductor) afer Netflix contributed the source to the OSS foundation.
## Key Features
* **Durable Execution** Workflows are guaranteed to complete even when there are temporary failures in the system.
* **Resilience and Error Handling:** Conductor enables automatic retries and fallback mechanisms.
* **Scalability:** Built to scale with complex workflows in high-traffic environments.
* **Observability:** Provides monitoring and debugging capabilities for workflows.
* **Ease of Integration:** Seamlessly integrates with microservices, agents, LLMs, external APIs, and legacy systems.
* **Built-in UI:** A customizable UI is available to monitor and manage workflows.
* **Flexible persistence:** Use Redis, MySQL, Postgres, and more.
## Use Cases
* **Microservices orchestration** Orchestrate very complex microservices flows both _synchronously_ and _asynchronously_.
* **Durable code execution**, tasks in the workflow are durable with at-least once delivery semantics offered by the queues
* **Agentic workflows** Conductor workflows can be fully dynamic, LLMs can plan and design workflows that can be executed by Conductor server at runtime. No compile, deploy cycle required.
* **Agentic RAG** Easy to build RAG pipelines with LLM and Vector DB integrations
- - -
# Getting Started with Conductor
**One-liner for macOS / Linux**
```bash
curl -sSL https://raw.githubusercontent.com/conductor-oss/conductor/main/conductor_server.sh | sh
```
**One-liner for Windows PowerShell:**
```powershell
irm https://raw.githubusercontent.com/conductor-oss/conductor/main/conductor_server.ps1 | iex
```
### All Options
| Operating System | Interactive | Custom Port & Version |
|------------------|-------------|-----------------------|
| macOS / Linux | `./conductor_server.sh` | `./conductor_server.sh 9090 3.22.0` |
| Windows (CMD) | `conductor_server.bat` | `conductor_server.bat 9090 3.22.0` |
| Windows (PowerShell) | `.\conductor_server.ps1` | `.\conductor_server.ps1 -Port 9090 -Version 3.22.0` |
Each script will:
1. Download the Conductor server JAR (if not already present)
2. Prompt for parameters if running interactively and not provided
3. Start the server with `java -jar`
Set `CONDUCTOR_HOME` to specify where the JAR is stored (defaults to current directory).
**Or run with Docker:**
```shell
docker run -p 8080:8080 conductoross/conductor:latest
```
Access the UI at http://localhost:8080
# Conductor SDKs
| Language | Repository | Installation |
|----------|------------|--------------|
| ☕ Java | [conductor-oss/java-sdk](https://github.com/conductor-oss/java-sdk) | [Maven Central](https://mvnrepository.com/artifact/org.conductoross/conductor-client) |
| 🐍 Python | [conductor-oss/python-sdk](https://github.com/conductor-oss/python-sdk) | `pip install conductor-python` |
| 🟨 JavaScript | [conductor-oss/javascript-sdk](https://github.com/conductor-oss/javascript-sdk) | `npm install @io-orkes/conductor-javascript` |
| 🐹 Go | [conductor-oss/go-sdk](https://github.com/conductor-oss/go-sdk) | `go get github.com/conductor-sdk/conductor-go` |
| 🟣 C# | [conductor-oss/csharp-sdk](https://github.com/conductor-oss/csharp-sdk) | `dotnet add package conductor-csharp` |
| 🦀 Rust | [conductor-oss/rust-sdk](https://github.com/conductor-oss/rust-sdk) | *(incubating - build locally)* |
# Documentation
Check-out the [Conductor docs](https://github.com/conductor-oss/conductor/tree/main/docs) for additional details
# Community / I Need Help
* **[Join the Conductor Slack](https://join.slack.com/t/orkes-conductor/shared_invite/zt-2vdbx239s-Eacdyqya9giNLHfrCavfaA)** channel for community discussions and support.
* Post your question at: https://community.orkes.io/
# Backend Configuration options
Conductor is quite flexible and works with the majority of the popular databases and search systems.
Use this table as a reference for various backend configurations.
| Backend | Configuration |
|----------------------|-------------------------------------------------------------------------------------------|
| Redis + ES7 (default) | [config-redis.properties](docker/server/config/config-redis.properties) |
| Redis + OS | [config-redis-os.properties](docker/server/config/config-redis-os.properties) |
| Postgres | [config-postgres.properties](docker/server/config/config-postgres.properties) |
| Postgres + ES7 | [config-postgres-es7.properties](docker/server/config/config-postgres-es7.properties) |
| MySQL + ES7 | [config-mysql.properties](docker/server/config/config-mysql.properties) |
# Build from source
Build from source and deploy Conductor as a standalone Java application. Configure databases, queues, and environment settings as needed. Follow the **[Building Conductor From Source](docs/devguide/running/source.md)** guide included in this repo.
### Requirements for Source Build
* Install Docker Desktop ([Mac](https://docs.docker.com/desktop/setup/install/mac-install/), [Windows/PC](https://docs.docker.com/desktop/setup/install/windows-install/), [Linux](https://docs.docker.com/desktop/setup/install/linux/))
* Install Java (JDK) 21 or newer
* Node 18 for the UI to build
### Clone the repo
```shell
git clone https://github.com/conductor-oss/conductor
cd conductor
./gradlw build
# (optional) Build UI
# ./build_ui.sh
# once the build is completed, you can start local server
cd server
../gradlew bootRun
```
- - -
# Frequently Asked Questions
Is this the same as Netflix Conductor?
Yes. Conductor OSS is the continuation of the original [Netflix Conductor](https://github.com/Netflix/conductor) repository after Netflix contributed the project to the open-source foundation.
Is this project actively maintained?
Yes. [Orkes](https://orkes.io) is the primary maintainer of this repository and offers an enterprise SaaS platform for Conductor across all major cloud providers.
Can Conductor scale to handle my workload?
Absolutely. Conductor was built at Netflix to handle massive scale and has been battle-tested in production environments processing millions of workflows. It scales horizontally to meet virtually any demand.
Does Conductor support durable code execution?
Yes. Conductor pioneered durable execution patterns, ensuring workflows complete reliably even in the face of infrastructure failures, process crashes, or network issues.
Are workflows always asynchronous?
No. While Conductor excels at asynchronous orchestration, it also supports synchronous workflow execution when immediate results are required.
Do I need to use a Conductor-specific framework?
Not at all. Conductor is language and framework agnostic. Use your preferred language and framework—our [SDKs](#conductor-sdks) provide native integration for Java, Python, JavaScript, Go, C#, and more.
Is Conductor a low-code/no-code platform?
No. Conductor is designed for developers who write code. While workflows can be defined in JSON, the power of Conductor comes from building workers and tasks in your preferred programming language using our SDKs.
Can Conductor handle complex workflows?
Conductor was specifically designed for complex orchestration. It supports advanced patterns including nested loops, dynamic branching, sub-workflows, and workflows with thousands of tasks—complexity that other orchestration tools struggle to handle.
Is Netflix Conductor abandoned?
No. The original Netflix repository has transitioned to Conductor OSS, which is the new home for the project. Active development and maintenance continues here.
Is Orkes Conductor compatible with Conductor OSS?
100% compatible. Orkes Conductor is built on top of Conductor OSS, ensuring full compatibility between the open-source version and the enterprise offering.
- - -
# Contributing
We welcome contributions from everyone!
- **Report Issues:** Found a bug or have a feature request? Open an [issue on GitHub](https://github.com/conductor-oss/conductor/issues).
- **Contribute code:** Check out our [Contribution Guide](CONTRIBUTING.md), and explore our [Good first issues](https://github.com/conductor-oss/conductor/labels/good%20first%20issue) for beginner-friendly tasks to tackle first.
- **Contribute to our Docs:** Contribute edits or updates to keep our [documentation](https://github.com/conductor-oss/conductor/tree/main/docs) in great shape for the community.
## Contributors
- - -
# Conductor OSS Roadmap
[See the roadmap for the Conductor](ROADMAP.md)
If you would like to participate in the roadmap and development, [please reach out](https://forms.gle/P2i1xHrxPQLrjzTB7).
# License
Conductor is licensed under the [Apache 2.0 License ©](LICENSE)