Durable long-running agent workflows
Multi-step agents that must survive crashes, retries, and human waits over hours/days.
At a glance — Oct 2026
Updated 2026-10-27 · forward this page: /jtbds/durable-agent-workflows#briefScores as of 2026-09-14 (43 days old; Depot marks scores stale after 30 days). The pick is still Depot's current editorial pick; it has not been re-reviewed since. Prices below carry their own dates.
- Depot Pick
- Temporal Cloud · 8.02/10 for this job (curated estimate, high confidence)
Reliability first; Temporal for serious durability, Inngest for DX.
- Runner-up
- Inngest · 8.07/10
Scores higher than the pick on: Price / performance, Developer & agent DX, Lock-in risk (higher = worse).
- When not to use the pick
- Simple TS background jobs — Trigger.dev; event-driven steps with max DX — Inngest; already on LangGraph — LangGraph Platform.
- Lock-in / migration
- Runner-up Inngest has lower stored lock-in risk (4.2 vs 5, 0–10, higher = more lock-in). Self-host fallback listed for this job: LangGraph.
- Sourced price (no comparable unit)
Pick: no sourced price in this job's unit (no_sourced_price).
No cheapest SKU (no_comparable_unit_for_job). No price was invented.
- Free option
- LangGraph (oss) — source, as of 2026-10-25
- Failure modes to watch
- Hallucinated tool arguments: Reject a call that fails the current schema or names an unknown id, and do that before the tool runs a side effect.
- Identity confusion: Bind every tool call to a user or tenant id. Refuse the call if that id changed mid-task. For a public bot, the operator owns the words the bot shows.
- Instruction drift: Restate the stop condition in the trace. End the run when it is met. Review long traces for steps that do not serve the original task.
- Inter-agent misalignment: Log the assigned subtask next to the worker's stated result. The lead rejects a result that does not match the assignment.
- Observability gap: Alert on a drop in trace ingestion and on certificate expiry for the trace host. Do not treat a missing trace as a successful quiet run.
- Partial tool success: Require a per-item status and a failure count. Success for the task requires the failed count to be zero or explicitly handed to a retry queue.
Cite: Agent Provider Depot, Depot Pick for durable-agent-workflows: temporal-cloud, scores as of 2026-09-14. Agents: GET /api/decide?jtbd=durable-agent-workflows
Free Durable long-running agent workflows options · for orchestrator agents
Temporal Cloud
Reliability first; Temporal for serious durability, Inngest for DX.
Pricing (directional): As of 2026-10-21 (temporal.io/pricing and docs.temporal.io/cloud/pricing, fetched 2026-10-21): Durable execution for long-running agent workflows. Developer plan is Pay-As-You-Go with no base monthly fee ('No base fee - 10% of Usage Spend')…
Lock-in risk: higher = more lock-in (worse). Overall already inverts this dimension.
Default durable orchestration for serious long-running agents. Inngest/Trigger.dev for lighter DX.
Quote for Durable long-running agent workflows
Depot Pick stays Temporal Cloud. Prices below are sourced SKU rows only (as of 2026-10-27). Input and output are not blended. GET /api/quote?jtbd=durable-agent-workflows
Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.
Sourced price unavailable for the Depot Pick. No row in the pricing index.
6 of 7 candidates have no sourced price row. 7 are excluded from the Matching price comparison (none). no comparable sourced unit for this job; chat input $/1M and other units were not borrowed
Runners-up
Inngest
Best DX default for durable agent workflows in TypeScript/Python. Temporal when you need harder multi-lang…
Trigger.dev
Pick for TS app background agent jobs. Inngest for event meshes; Temporal for polyglot durability.
LangGraph Platform / LangSmith Deploy
Deploy here if your graphs already are LangGraph. Otherwise Inngest/Temporal + Langfuse to avoid stack…
Hatchet
Temporal/Inngest peer for agent task orchestration. Prefer Temporal for serious durability; Inngest for TS…
Restate
Strong Temporal alternative for durable AI agents, especially on Workers/Vercel. Remains medium until paid…
DBOS
Embed durable steps in your app's Postgres rather than running a separate workflow cluster. Temporal remains…
When NOT to use the top pick
Simple TS background jobs — Trigger.dev; event-driven steps with max DX — Inngest; already on LangGraph — LangGraph Platform.
Full ranking (score table)
Ranked with this JTBD's weights. Scores are curated estimates unless marked otherwise. Agents: prefer /api/decide then this table for tie-breaks.
| # | Provider | Overall | Fit | $/perf | Latency | DX | As of |
|---|---|---|---|---|---|---|---|
| 1 | Restate | 8.2 | 8.6 | 7.8 | 8.8 | 8.4 | 2026-09-14 |
| 2 | Inngest | 8.1 | 8.2 | 8.0 | 8.4 | 9.0 | 2026-09-14 |
| 3 | Temporal CloudDepot Pick | 8.0 | 9.0 | 6.8 | 9.2 | 7.2 | 2026-09-14 |
| 4 | Hatchet | 8.0 | 8.2 | 7.8 | 8.4 | 8.6 | 2026-09-14 |
| 5 | DBOS | 8.0 | 8.0 | 8.0 | 8.6 | 8.4 | 2026-09-14 |
| 6 | Trigger.dev | 7.8 | 7.8 | 8.2 | 8.0 | 9.2 | 2026-09-14 |
| 7 | LangGraph Platform / LangSmith Deploy | 7.5 | 8.4 | 6.8 | 8.0 | 8.2 | 2026-09-14 |
Score methodology for this job
Reliability first; Temporal for serious durability, Inngest for DX.
capabilityFit: 25%pricePerformance: 18%latencyReliability: 15%developerDx: 15%privacyPosture: 10%lockInRisk: 7%maturity: 10%