Five durable workflows you can click
Each of these normally takes days or weeks. Every one of them is a pure state machine over a persisted row, so the waits are just timestamps โ which means the โฉ buttons can fast-forward them, and the ๐ฅ buttons can destroy the server without losing the work.
Durable agent run
โAn AI agent working a support ticket over several model calls, with a spend cap and a human approval in the middle.
The approval wait has no timer at all. Nothing is scheduled โ the run simply stops until a human says yes, which may be days and several deploys later. A process holding a promise cannot wait that long. A row can.
In production these โฉ buttons are Durable Object alarms โ nobody clicks anything.
Dunning
โA subscription whose card was declined: billing retries on day 1, day 3 and day 7, then a 14-day grace period, then a downgrade.
A 21-day process cannot live in a process. There is no runtime you can hold open for three weeks, so the schedule is not a schedule โ it is arithmetic on a number in a row.
In production these โฉ buttons are Durable Object alarms โ nobody clicks anything.
Approval chain
โAn expense report walking three approvers in order, each chased with a reminder after two days and an escalation after seven.
State IS the audit log. Who approved what, when, and what we chased them with all live in the same row the machine runs on โ so there is no separate events table for a failed write to desynchronise.
In production these โฉ buttons are Durable Object alarms โ nobody clicks anything.
Onboarding drip
โA new signup gets a welcome on day 1, a tip on day 3 and a check-in on day 7 โ and the moment they actually use the product, the rest are cancelled.
Cancelling is deleting a number, not revoking a job. There is no queue to scan and no scheduler entry to chase: the due time becomes null and the drip is over.
In production these โฉ buttons are Durable Object alarms โ nobody clicks anything.
Fleet reconcile
โOne device with a desired config and a reported config: push when they differ, back off when the push fails, stop when the device confirms.
Reconcile is a loop, and a loop that survives has to be re-entrant from state alone. Nothing remembers 'I was halfway through a push' โ the revision numbers and the attempt count say it all, so any wake-up can recompute what is owed.
In production these โฉ buttons are Durable Object alarms โ nobody clicks anything.