{"id":"serverless-agent-queue","slug":"serverless-agent-queue","name":"Serverless agent event backbone (queue/bus)","shortName":"Serverless agent event backbone (queue/bus)","problemStatement":"Need durable delayed HTTP callbacks, fan-out, or a real message fabric for agents — not a workflow runtime.","whenNotTopPick":"Need durable multi-step state/retries as code — Inngest/Temporal; need NATS subjects/leaf nodes — Synadia; need Kafka protocol/replay — WarpStream (or Confluent if that's already standard).","categoryIds":["cat-cpu-compute"],"depotPickProviderId":"upstash-qstash","depotPickRationale":"DX + pricePerf for a bus that agents can fire-and-forget. Distinct from durable-agent-workflows (Temporal/Inngest steps) and event-driven-agent-jobs (Inngest DX default).","runnersUpIds":["inngest","synadia-cloud","warpstream","aws-sqs","aws-eventbridge","azure-service-bus"],"weights":{"capabilityFit":0.25,"pricePerformance":0.18,"latencyReliability":0.15,"developerDx":0.15,"privacyPosture":0.1,"lockInRisk":0.07,"maturity":0.1},"methodologyNotes":"DX + pricePerf for a bus that agents can fire-and-forget. Distinct from durable-agent-workflows (Temporal/Inngest steps) and event-driven-agent-jobs (Inngest DX default).","tags":["serverless"],"depth":{"whenNotToUse":{"text":"Need durable multi-step state/retries as code — Inngest/Temporal; need NATS subjects/leaf nodes — Synadia; need Kafka protocol/replay — WarpStream (or Confluent if that's already standard).","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"inngest","name":"Inngest","overallForJob":8.07,"pickOverallForJob":8.38,"beatsPickOn":[],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":3.5,"runnerUpLockInRisk":4.2,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[],"migration":"The pick has lower stored lock-in risk than runner-up Inngest (3.5 vs 4.2).","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":2,"sourcesReachable":2,"pricingRows":5,"pricingRowsReconfirmed":3,"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}}}}