Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

581 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conductor OSS C# SDK

CI

The .NET SDK for Conductor lets you build durable Conductor agents, workflows, and workers. Conductor coordinates retries, state, and observability while your C# code runs wherever you deploy it.

Get involved: ⭐ Conductor OSS · Choose a Conductor OSS contribution · Contribution guide

Choose your path

I want to… Start here
Build a durable Conductor agent with tools and human approval AI agent quickstart
Bring an existing OpenAI Agents, Google ADK, or Semantic Kernel agent Framework bridges
Build a durable workflow and C# worker Workflow and worker quickstart
Browse all examples Agent examples · Core examples
Navigate the SDK documentation Documentation hub

Choose your Conductor server

Connect to a server before following either quickstart. Use the hosted Developer Edition by default, or run Conductor locally when you need a self-managed development environment.

Recommended: Orkes Developer Edition

Orkes Developer Edition is the default hosted option. Create an application and access key in the Developer Edition UI, then configure this SDK with its API endpoint. Keep the key and secret out of source control.

export CONDUCTOR_SERVER_URL=https://developer.orkescloud.com/api
export CONDUCTOR_AUTH_KEY=<your-key-id>
export CONDUCTOR_AUTH_SECRET=<your-key-secret>

For another hosted or self-managed remote cluster, use that cluster's /api URL and its application credentials instead. See server setup for details.

Local alternative: Docker

docker run --init -p 8080:8080 conductoross/conductor:latest
export CONDUCTOR_SERVER_URL=http://localhost:8080/api

The UI is at http://localhost:8080 and the API at http://localhost:8080/api. See server setup for full local, remote, and authentication guidance — including the server features the agent layer depends on.

Why Conductor?

  • Survive process failures: execution state is durable, so Conductor agents and workflows resume from completed work.
  • Build dynamic agent graphs: define graphs in C# or let an LLM plan them at runtime. Conductor executes plans as durable sub-workflows rather than transient in-process loops.
  • Run tools as distributed tasks: scale C# workers independently while Conductor manages retries and delivery.
  • Orchestrate long-running work: combine AI, schedules, events, and human approval without holding application threads open.
  • See every execution: inspect inputs, outputs, tool calls, retries, and status through one execution model.

Requirements and compatibility

  • .NET 8+ for the agent packages; the core SDK targets netstandard2.0, so it is also consumable from .NET Framework and Mono
  • A running OSS or Orkes Conductor server, selected in Choose your Conductor server
  • Docker when using the local-server option

The CI workflows are the source of truth for the server versions exercised by this SDK — see the agent E2E workflow for its pinned server version. Full details in compatibility.

Install the SDK

Workflows and workers

The base package includes the workflow, task, worker, metadata, scheduler, and metrics clients:

dotnet add package conductor-csharp

AI agents

dotnet add package conductor-ai

Modules

Package Use it for
conductor-csharp Workflow, task, worker, metadata, scheduler, and metrics clients
conductor-ai Durable Conductor agents, tools, guardrails, handoffs, strategies, plans, schedules
conductor-ai-openai OpenAI Agents bridge
conductor-ai-google-adk Google ADK bridge
conductor-ai-semantic-kernel Semantic Kernel bridge

AI agent quickstart

Use this path when your Conductor agent needs LLM reasoning, tools, guardrails, handoffs, or human approval. Select a server above first. The server, not just your .NET process, needs a configured LLM provider — the agent getting-started guide covers both hosted and local paths.

export CONDUCTOR_AGENT_LLM_MODEL=anthropic/claude-sonnet-4-6
dotnet run --project Conductor.AI.Examples/01_BasicAgent

Expected outcome: the example prints an AgentResult containing the model response. Continue with the AI agent guide, tools guide, and agent examples.

Framework bridges

Keep using the agent framework your team already knows. The SDK bridges OpenAI Agents, Google ADK, and Semantic Kernel agents into durable Conductor agents.

LangChain, LangGraph, and the Claude Agent SDK have no .NET adapter — each page explains the nearest supported path.

Workflow and worker quickstart

With a server selected above, define a workflow, register it, start a worker, and execute it. The core quickstart walks through the complete runnable program — worker class included — in four steps.

var workflow = new ConductorWorkflow().WithName("greetings").WithVersion(1);
workflow.WithTask(new SimpleTask("greet", "greet_ref").WithInput("name", workflow.Input("name")));

var executor = new WorkflowExecutor(configuration);
executor.RegisterWorkflow(workflow, overwrite: true);

Expected outcome: the workflow finishes COMPLETED and prints its greeting output. For worker patterns, workflow definitions, and testing, continue with the core examples catalog, worker guide, and workflow guide.

Common tasks

Need Start with
Build C# Conductor agents Agent concepts
Add tools and human approval Agent tools · streaming and HITL
Use another agent framework OpenAI Agents · Google ADK · Semantic Kernel
Deploy, serve, and run Conductor agents Agent runtime modes
Implement and scale C# workers Workers guide · reliability
Define and evolve workflows Workflows guide · lifecycle and versioning
Test workflows and workers Workflow testing
Expose worker metrics Observability
Run workers in production Deployment and scaling
Manage schedules and events Schedules and events
Handle secrets and credentials Security
Find typed clients and API references Core API map
Upgrade across a breaking change Upgrading

Troubleshooting

Symptom Check
Connection refused The server is healthy at http://localhost:8080/health; CONDUCTOR_SERVER_URL ends in /api.
Task remains SCHEDULED A worker is polling the exact task type, and the worker host was actually started.
Authentication failure CONDUCTOR_AUTH_KEY and CONDUCTOR_AUTH_SECRET are both set — one alone means no-auth mode.
Conductor agent cannot call a model The server, not only the .NET process, has a configured LLM provider and model.
Agent run pauses and never resumes A human-approval step is waiting; under multi-agent strategies, respond to the event's execution, not the root.

More in debugging.

Support and project policies

Contribute upstream: Choose a Conductor OSS contribution · Read the Conductor OSS contribution guide

License

Apache 2.0. See LICENSE.

Releases

Packages

Used by

Contributors

Languages