How it works
Restate provides durable promises (awakeables) that survive crashes and restarts:- The agent creates a durable promise and gets a unique ID
- The agent sends this ID to whoever needs to approve (Slack, email, dashboard)
- The agent suspends, freeing compute resources (no idle billing on serverless)
- When the approver responds, they resolve the promise via HTTP
- The agent resumes from the exact point it paused
Example: approval tool for an agent
Why this matters for agents
- No idle resources: The agent suspends while waiting. On serverless infrastructure, you pay nothing during the wait.
- Survives restarts: Even if the process or infrastructure changes, the agent resumes when the approval arrives.
- Composable: Combine with tool calls, multi-step workflows, and other patterns. The approval is just another durable step.
