Workflow

The Dapr.Workflow package provides typed workflows and activities, a hosted worker, and DaprWorkflowClient for managing durable instances. These guides describe SDK 1.19.0 or later; use Dapr runtime 1.19 for the full feature set. Installing the package does not configure a workflow state store or start the required runtime services.

dotnet add package Dapr.Workflow
TaskGuide
Register the worker/client, discover types, and configure transport or history cachingClient registration
Write deterministic orchestration, activities, retries, timers/events, fan-out, children, and continuationAuthor workflows
Schedule, wait, signal, suspend/resume, terminate, purge, list, inspect history, or rerunManagement operations
Customize JSON or use another serializerSerialization
Route activities, children, and detached workflows to another appMulti-app workflows
Share ancestor history with child workflowsHistory propagation
Evolve deployed workflows using patches or versioned namesVersioning
Offload large payloads or pass explicit binary references (alpha)Data references
Explore end-to-end examplesExamples

Workflow code must remain deterministic during replay. Keep I/O and other nondeterministic work in activities, make external side effects idempotent, and preserve compatible code and payloads for retained workflow histories.

Last modified October 22, 2026: .NET review for 1.19 (69db68e36)