Skip to content

Durable work. Your objects.

Composable durable operations, alarms, delivery, and realtime sync for Cloudflare Workers.

Updated

Add durable capabilities to the Cloudflare Durable Objects you already own. Persist work, retry failures, and synchronize clients — without generating classes or adopting a workflow engine.

Get started · Explore the API

Small capabilities, composed together

You need to… Reach for…
Accept a job, retry it, and retrieve its result Durability
Run named reminders or deferred work DurabilityAlarms
Deliver each message independently to several targets DurabilityFanout
Keep a stream consumers can rewind DurabilityLog
Connect browsers with typed RPC and replayable events DurabilitySocket

All durable capabilities store their records in your object’s SQLite database. Compose them with one shared scheduler and keep ownership of your class, RPC methods, and application schema.

Build a complete system

Explore composition guides for recurring billing, email delivery, live job dashboards, account-wide concurrency, and replayable streams. Each follows a complete application’s data flow, with diagrams showing where a simpler design breaks and what recovers after failure.

Every primitive has its own page, including its API, durable versus in-memory state, and behind-the-scenes execution model.

Know the contract

  • At least once. Pass stable idempotency keys to external systems; retries can repeat effects.
  • Acceptance is not completion. Registration returns after persistence. Read the result separately.
  • Cloudflare-native. Requires SQLite-backed Durable Objects; this is not a Node.js job runner.
  • Not workflow replay. Memoized results last only while their work is unsettled.

Read concepts and guarantees before connecting a handler to an external system, or choose a capability for the full stable and experimental catalog.

Type to search…

↑↓ navigate↵ selectEsc close