C# SDK
Start here
| Goal | Guide |
|---|---|
| Run a workflow | Run your first workflow |
| Write a worker | Write your first worker |
| Build an agent | Run your first agent |
Featured examples
| Category | Maintained upstream example |
|---|---|
| Workflow and worker | Examples |
| Agentic workflow | Not currently maintained upstream |
| API journey | Not currently maintained upstream |
The agentic-workflow row covers SDK examples that orchestrate LLMs or tools. It is separate from the SDK-authored Conductor Agent quickstart, which is available above.
Connect to Conductor
For local OSS, set CONDUCTOR_SERVER_URL=http://localhost:8080/api.
For Orkes Developer Edition, set CONDUCTOR_SERVER_URL=https://developer.orkescloud.com/api, CONDUCTOR_AUTH_KEY, and CONDUCTOR_AUTH_SECRET. Keep credentials out of source control.
C# reads CONDUCTOR_SERVER_URL when you set Configuration.BasePath; pass OrkesAuthenticationSettings explicitly for key/secret authentication.
Install the SDK
Maintenance
This SDK is part of the Conductor OSS ecosystem. Conductor OSS remains actively maintained under the Conductor OSS community, with Orkes contributing maintenance, engineering, documentation, and enterprise support.
Configure a workflow client
The SDK quickstart configures the endpoint from the environment and uses the workflow executor API:
using Conductor.Client;
using Conductor.Definition;
using Conductor.Definition.TaskType;
using Conductor.Executor;
var configuration = new Configuration {
BasePath = Environment.GetEnvironmentVariable("CONDUCTOR_SERVER_URL")
?? "<YOUR-CLUSTER-URL>/api"
};
var workflow = new ConductorWorkflow()
.WithName("greetings")
.WithVersion(1);
var greetTask = new SimpleTask("greet", "greet_ref")
.WithInput("name", workflow.Input("name"));
workflow.WithTask(greetTask);
var executor = new WorkflowExecutor(configuration);
executor.RegisterWorkflow(workflow, overwrite: true);
var workflowId = executor.StartWorkflow(new StartWorkflowRequest {
Name = "greetings",
Version = 1,
Input = new Dictionary<string, object> { ["name"] = "Conductor" }
});
For Orkes authentication, the SDK exposes Configuration.AuthenticationSettings; create an OrkesAuthenticationSettings from CONDUCTOR_AUTH_KEY and CONDUCTOR_AUTH_SECRET before constructing clients. It does not do that environment mapping automatically. See the upstream SDK README for its authentication and worker examples.