Open Source, Scalable, Durable Workflows

Develop resilient long-running business applications with straightforward code

Dynamic Workflow Execution Graphs

Determine the workflow execution graphs at runtime based on the data you are processing

Child Workflows

Execute other workflows and receive results upon completion

Durable Timers

Persisted timers are robust to worker failures


Influence workflow execution path by sending data directly using a signal

At-Most-Once Activity Execution

Activities need not be idempotent

Activity Heartbeating

Detect failures and track progress in long-running activities