db620d33df
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Blocked by required conditions
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
dotnet-build-and-test / paths-filter (push) Waiting to run
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Blocked by required conditions
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Blocked by required conditions
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Blocked by required conditions
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Blocked by required conditions
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Blocked by required conditions
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Blocked by required conditions
dotnet-build-and-test / dotnet-test-functions (push) Blocked by required conditions
dotnet-build-and-test / dotnet-build-and-test-check (push) Blocked by required conditions
dotnet-build-and-test / Integration Test Report (push) Blocked by required conditions
Durable Workflow Samples
This directory contains samples demonstrating how to build durable workflows using the Microsoft Agent Framework.
Environment Setup
Prerequisites
- .NET 10 SDK or later
- Durable Task Scheduler running locally or in Azure
Running the Durable Task Scheduler Emulator
To run the emulator locally using Docker:
docker run -d -p 8080:8080 --name durabletask-emulator mcr.microsoft.com/durabletask/emulator:latest
Set the connection string environment variable to point to the local emulator:
# Linux/macOS
export DURABLE_TASK_SCHEDULER_CONNECTION_STRING="AccountEndpoint=http://localhost:8080"
# Windows (PowerShell)
$env:DURABLE_TASK_SCHEDULER_CONNECTION_STRING = "AccountEndpoint=http://localhost:8080"
Samples
Console Apps
| Sample | Description |
|---|---|
| 01_SequentialWorkflow | Basic sequential workflow with ordered executor steps |
| 02_ConcurrentWorkflow | Fan-out/fan-in concurrent workflow execution |
| 03_ConditionalEdges | Workflows with conditional routing between executors |
| 05_WorkflowEvents | Publishing and subscribing to workflow events |
| 06_WorkflowSharedState | Sharing state across workflow executors |
| 07_SubWorkflows | Nested sub-workflow composition |
| 08_WorkflowHITL | Human-in-the-loop workflow with approval gates |
Azure Functions
| Sample | Description |
|---|---|
| 01_SequentialWorkflow | Sequential workflow hosted in Azure Functions |
| 02_ConcurrentWorkflow | Concurrent workflow hosted in Azure Functions |
| 03_WorkflowHITL | Human-in-the-loop workflow hosted in Azure Functions |
| 04_WorkflowMcpTool | Workflow exposed as an MCP tool |