Workflows as code
Write resilient workflows using familiar programming constructs:- Automatically retry transient errors like infrastructure crashes and network failures
- Use standard language constructs (if/else, loops) and durable versions of familiar building blocks (e.g., timers, promises)
- Handle errors naturally with try/catch blocks and automatic retries
- Test and debug with your existing IDE and standard development tools
Low-Latency Workflows
Restate is built from the ground up for low-latency workflow execution. Restate workflows can be placed directly in the latency-sensitive path of user interactions:- Lightweight execution: Workflows run like regular functions with minimal overhead
- Event-driven foundation: Built in Rust for high-performance, low-latency operations
- No coordination delays: Immediate workflow execution via a push-based model
Simple Deployment Model

Key Workflow Patterns
Query Workflow State
Store workflow state that survives crashes and can be queried from external systems
Event-Driven Coordination
Handle external events and signals without complex event sourcing infrastructure
Durable Timers and Scheduling
Long-running processes with built-in timer management and timeout handling
Flexible Activity Execution
Execute steps inline within the workflow or split them out into separate services
Parallelize Work
Speed up multi-step workflows with recoverable parallel tasks
Resilient rollback
Automatically undo previous actions when later steps fail
Comparison with Other Solutions
Getting Started
Ready to build workflows with Restate? Here are your next steps:Quickstart
Run your first Restate service
Hands-on Tutorial
Explore the APIs to build workflows with Restate
Examples
Explore templates, patterns, and end-to-end applications