{"id":"durable-agent-workflows","slug":"durable-agent-workflows","name":"Durable long-running agent workflows","shortName":"Durable long-running agent workflows","problemStatement":"Multi-step agents that must survive crashes, retries, and human waits over hours/days.","whenNotTopPick":"Simple TS background jobs — Trigger.dev; event-driven steps with max DX — Inngest; already on LangGraph — LangGraph Platform.","categoryIds":["cat-cpu-compute"],"depotPickProviderId":"temporal-cloud","depotPickRationale":"Reliability first; Temporal for serious durability, Inngest for DX.","runnersUpIds":["inngest","trigger-dev","langgraph-cloud","hatchet","restate","dbos"],"weights":{"capabilityFit":0.25,"pricePerformance":0.18,"latencyReliability":0.15,"developerDx":0.15,"privacyPosture":0.1,"lockInRisk":0.07,"maturity":0.1},"methodologyNotes":"Reliability first; Temporal for serious durability, Inngest for DX.","tags":["durable"],"depth":{"whenNotToUse":{"text":"Simple TS background jobs — Trigger.dev; event-driven steps with max DX — Inngest; already on LangGraph — LangGraph Platform.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"inngest","name":"Inngest","overallForJob":8.07,"pickOverallForJob":8.02,"beatsPickOn":["pricePerformance","developerDx","lockInRisk"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":5,"runnerUpLockInRisk":4.2,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[{"id":"langgraph","name":"LangGraph","license":"MIT","sourceUrl":"https://raw.githubusercontent.com/langchain-ai/langgraph/main/LICENSE"}],"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.","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":3,"sourcesReachable":3,"pricingRows":0,"pricingRowsReconfirmed":0,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}}}