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
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")
?? "http://localhost:8080/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.