{"jtbd":{"id":"notification-orchestration","slug":"notification-orchestration","name":"Multi-channel notification orchestration","shortName":"Multi-channel notification orchestration","problemStatement":"Route email/SMS/push/Slack with preferences and templates."},"pick":{"id":"courier","slug":"courier","name":"Courier","tagline":"Use when your agent/product notifies across many channels with preferences. Skip if you only send email.","website":"https://www.courier.com","overall":8.09,"scoreBand":{"low":7.5,"mid":8.1,"high":8.7,"halfWidth":0.6,"basis":"editorial_prior","display":"7.5–8.7 (editorial prior)"},"scoreLayers":{"editorialPrior":8.09,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"Notification orchestration across email/SMS/push/Slack; usage + seat elements.","scores":{"capabilityFit":8.8,"pricePerformance":7.2,"latencyReliability":8.6,"developerDx":9,"privacyPosture":7.8,"lockInRisk":5,"maturity":8.2,"overall":8.09,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},"runnersUp":[{"id":"novu","slug":"novu","name":"Novu","tagline":"OSS-friendly Courier/Knock alternative. Pick when you want self-host or run-based economics; Knock for agent…","website":"https://novu.co","overall":8.22,"scoreBand":{"low":7.6,"mid":8.2,"high":8.8,"halfWidth":0.6,"basis":"editorial_prior","display":"7.6–8.8 (editorial prior)"},"scoreLayers":{"editorialPrior":8.22,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-09-14 (novu.co/pricing): Billed per workflow run (fan-out to N subscribers = N runs). Free $0 — 10k runs/mo, 20 workflows, US+EU residency, 3 seats. Pro from $30/mo — 30k+ runs, overage $1.20/1k runs. Team from $250/mo — 250k+ runs, RBAC, 10 envs. Enterprise custom (10M+, HIPAA BAA, SSO/SCIM, self-host). MIT OSS self-host free aside from infra.","scores":{"capabilityFit":8.2,"pricePerformance":8.6,"latencyReliability":8,"developerDx":8.4,"privacyPosture":8.8,"lockInRisk":2.8,"maturity":7.8,"overall":8.22,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"knock","slug":"knock","name":"Knock","tagline":"Best agent-native notification fabric (toolkit + human-in-the-loop). Courier remains Depot orchestration…","website":"https://knock.app","overall":8.22,"scoreBand":{"low":7.6,"mid":8.2,"high":8.8,"halfWidth":0.6,"basis":"editorial_prior","display":"7.6–8.8 (editorial prior)"},"scoreLayers":{"editorialPrior":8.22,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-09-14 (knock.app/pricing): Developer $0 — 10k messages, 500 guide active users, 500 AI agent credits (then $0.01/credit). Starter $250/mo — 50k messages then $0.005/msg, 2.5k guide users then $0.05, 2,000 AI agent credits. Enterprise custom (volume or monthly notified-user pricing, HIPAA/BAA, SAML/SCIM). Downstream ESP/SMS still billed separately. Agent Toolkit exposes workflows as agent tools; AI agent function credits by model+tokens (+3 min if web search).","scores":{"capabilityFit":9,"pricePerformance":7.2,"latencyReliability":8.6,"developerDx":9,"privacyPosture":8.4,"lockInRisk":5,"maturity":8.4,"overall":8.22,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"twilio","slug":"twilio","name":"Twilio","tagline":"Default when agents need SMS/voice globally. For email-only, don't drag Twilio in.","website":"https://www.twilio.com","overall":8.26,"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.26,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-19","editorialPriorAsOf":"2026-10-19","pricingNotes":"Pay-per-message/minute across SMS/voice/WhatsApp; number rental; Verify add-ons.","scores":{"capabilityFit":9.4,"pricePerformance":6.5,"latencyReliability":9.2,"developerDx":8.5,"privacyPosture":8,"lockInRisk":5.5,"maturity":9.7,"overall":8.26,"kind":"curated_estimate","confidence":"high","asOf":"2026-10-19"}},{"id":"resend","slug":"resend","name":"Resend","tagline":"Depot default for app/agent transactional email. Migrate to Postmark/SendGrid only for specific…","website":"https://resend.com","overall":8.57,"scoreBand":{"low":8,"mid":8.6,"high":9.2,"halfWidth":0.6,"basis":"editorial_prior","display":"8.0–9.2 (editorial prior)"},"scoreLayers":{"editorialPrior":8.57,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"Modern transactional email API; generous free tier; usage-based; React Email ecosystem.","scores":{"capabilityFit":8.8,"pricePerformance":8.8,"latencyReliability":8.6,"developerDx":9.6,"privacyPosture":8,"lockInRisk":3.5,"maturity":8,"overall":8.57,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"onesignal","slug":"onesignal","name":"OneSignal","tagline":"Push-first notify peer with pinned Free/$19 Growth card (Round 9 high). Prefer Knock/Courier when agents…","website":"https://onesignal.com","overall":8.09,"scoreBand":{"low":7.5,"mid":8.1,"high":8.7,"halfWidth":0.6,"basis":"editorial_prior","display":"7.5–8.7 (editorial prior)"},"scoreLayers":{"editorialPrior":8.09,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-09-14 (onesignal.com/pricing live HTML): Self-service Free $0/mo (all channels, basic automation/analytics, OneSignal AI & MCP). Growth starts at $19/mo (increased automation/integrations). Professional/Enterprise custom. Email: 20,000 free sends/mo then ~$1.50/1,000. Web push ~$0.004/subscriber; in-app messaging MAU bands (e.g. $0.012/MAU after free). SMS/RCS available as add-ons. Pin console before renewals — page still A/B-tests copy.","scores":{"capabilityFit":8.4,"pricePerformance":8.2,"latencyReliability":8.6,"developerDx":8,"privacyPosture":7.6,"lockInRisk":4.8,"maturity":9,"overall":8.09,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"ably","slug":"ably","name":"Ably","tagline":"Depot pick for realtime agent↔user channels (token streaming, presence, multiplayer agent UIs). Not a…","website":"https://ably.com","overall":8.29,"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.29,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-10-24 (ably.com/pricing, fetched 2026-10-24): Messages '$2.50 / million' ('As low as $0.50/M with volume discount'); channels and connections '$1.00 / million mins' each ('As low as $0.20/M with volume discount'); additional data transfer '$0.25 / GiB'. Packages: Free '$0' ('200 concurrent connections', '500 messages / second', '6M messages / month'); Standard '$29 / month + usage' ('10k concurrent channels', '10k concurrent connections'); Pro '$399 / month + usage' ('50k concurrent channels', '50k concurrent connections'); Enterprise 'Custom' ('99.999% uptime SLAs', 'HIPAA BAA', 'Dedicated cluster'). The page publishes no per-MAU price. Pricing examples on the page include an 'AI support chatbot'. See plan limits (/api/estimate) for the encoded plans.","scores":{"capabilityFit":8.8,"pricePerformance":7.4,"latencyReliability":9.2,"developerDx":8.4,"privacyPosture":8.6,"lockInRisk":5.2,"maturity":9.2,"overall":8.29,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"customer-io","slug":"customer-io","name":"Customer.io","tagline":"Best when agents need behavioral messaging + txn in one vendor. Prefer Resend for pure transactional DX…","website":"https://customer.io","overall":8.15,"scoreBand":{"low":7.6,"mid":8.2,"high":8.8,"halfWidth":0.6,"basis":"editorial_prior","display":"7.6–8.8 (editorial prior)"},"scoreLayers":{"editorialPrior":8.15,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-09-14: Essentials from ~$100/mo, Premium ~$1000/mo, Enterprise custom (customer.io/pricing OfferCatalog). Builder PAYG plan (docs): no monthly fee; free test to 10 verified recipients; go-live funds from $10 at $0.40 per 1,000 messages across email/push/in-app/webhooks (SMS/WhatsApp via Twilio). Transactional App API included — sends count toward allowances.","scores":{"capabilityFit":8.6,"pricePerformance":7.8,"latencyReliability":8.6,"developerDx":8.4,"privacyPosture":8,"lockInRisk":4.8,"maturity":8.8,"overall":8.15,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"bird","slug":"bird","name":"Bird (ex-MessageBird)","tagline":"WhatsApp/SMS peer especially for EU (ex-MessageBird). Twilio remains default SMS/voice toolkit; Bird when…","website":"https://bird.com","overall":7.88,"scoreBand":{"low":7.3,"mid":7.9,"high":8.5,"halfWidth":0.6,"basis":"editorial_prior","display":"7.3–8.5 (editorial prior)"},"scoreLayers":{"editorialPrior":7.88,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-09-14 (bird.com WhatsApp pricing): Usage-based WhatsApp with Meta fee included and explicitly **no seat fee** / no annual commit on the message card — US marketing $0.030, utility/auth $0.0084, service $0.0050 per delivered msg. Docs still describe Bird Processing + passthrough for some legacy/subscription paths — confirm wallet vs seat packaging in console for omnichannel suites.","scores":{"capabilityFit":8.2,"pricePerformance":7.8,"latencyReliability":8.4,"developerDx":7.6,"privacyPosture":8,"lockInRisk":4.8,"maturity":8.6,"overall":7.88,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}},{"id":"svix","slug":"svix","name":"Svix","tagline":"Depot pick for outbound-webhooks. Use Hookdeck when the job is inbound event gateway/debugging; Courier/Knock…","website":"https://www.svix.com","overall":8.52,"scoreBand":{"low":7.9,"mid":8.5,"high":9.1,"halfWidth":0.6,"basis":"editorial_prior","display":"7.9–9.1 (editorial prior)"},"scoreLayers":{"editorialPrior":8.52,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","pricingNotes":"As of 2026-10-24 (svix.com/pricing, fetched 2026-10-24): Free 'from $ 0 per month' ('50 messages / second', '7-day payload retention', 'Up to 50k messages per month'). Basic 'from $ 20 per month' ('Uptime SLA of 99.9%', '200 messages / second', '30-day payload retention', '50k free messages a month'). Professional 'from $ 490 per month' ('Uptime SLA of 99.99%', '800 messages / second', '90-day payload retention', 'Unbranded application portal', 'Static source IPs'). Overage '$0.0001 per msg' on Basic and Professional; 'Messages filtered by Svix (e.g. when there are no endpoints) and retries are both free.' Enterprise custom ('Uptime SLA of 99.999%', 'On-prem options'). See plan limits (/api/estimate) for the encoded plans.","scores":{"capabilityFit":9,"pricePerformance":7.8,"latencyReliability":9.2,"developerDx":9,"privacyPosture":8.6,"lockInRisk":4,"maturity":8.6,"overall":8.52,"kind":"curated_estimate","confidence":"high","asOf":"2026-09-14"}}],"scoreBand":{"low":7.5,"mid":8.1,"high":8.7,"halfWidth":0.6,"basis":"editorial_prior","display":"7.5–8.7 (editorial prior)"},"scoreLayers":{"editorialPrior":8.09,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"whyPickOverHigherScore":{"pickId":"courier","pickName":"Courier","pickScore":8.09,"highestScoredCandidateId":"resend","highestScoredCandidateName":"Resend","highestScore":8.57,"pickHasLowerCompositeScore":true,"delta":-0.48,"pickLeadsOnDimensions":["maturity (8.2 vs 8)"],"explanation":"Courier (8.09) is the editorial pick for Multi-channel notification orchestration over higher-composite Resend (8.57) because composite scores are provider-wide priors while Courier wins on maturity (8.2 vs 8): dx + capability orchestration."},"cheapest":null,"recommendedWorkloadQuote":null,"representativeQuote":null,"estimatedTaskCost":null,"freeAlternatives":[],"referenceDocs":[],"falsification":{"jtbdId":"notification-orchestration","jtbdName":"Multi-channel notification orchestration","currentPickId":"courier","currentPickScore":8.09,"challengerId":"novu","challengerScore":8.22,"currentScoreGap":0.13,"minVerifiedOutcomes":10,"requiredOutcomeMargin":0.28,"requiredSuccessRateDelta":0.15,"maxPickPriceIncreasePct":25,"whatWouldChangePick":["Novu (novu) outperforms Courier (courier) by >= 0.28 outcome points (or >= 15% worked-rate delta) across >= 10 Countersign-verified production outcomes.","A verified price increase > 25% on Courier's representative SKU for notification-orchestration without a corresponding capability gain.","Live caller rail exhaustion (?exhausted=courier) or sustained >= 30% degraded/failed rate in verified production outcomes."],"frozenHoldoutPolicy":{"holdoutSplit":"20% frozen benchmark holdout tasks + 80% live production outcome receipts","requireCountersignReceipt":true,"requiredEvidenceTiers":["outcome_verified","reference_checked"],"minDistinctContributors":2,"antiGamingRule":"Unverified self-reports and seed/editorial rows never mutate picks or scores."},"triggers":[{"kind":"verified_outcomes_outperformance","challengerId":"novu","minVerifiedOutcomes":10,"requiredOutcomeMargin":0.28,"requiredWorkedRateDelta":0.15},{"kind":"verified_price_increase","providerId":"courier","maxPriceIncreasePct":25},{"kind":"live_rail_exhaustion_or_degradation","providerId":"courier","immediateOverrideUrl":"/api/decide?jtbd=notification-orchestration&exhausted=courier"}],"submissionSpec":{"falsifyEndpoint":"/api/falsify?jtbd=notification-orchestration","outcomesEndpoint":"POST /api/feedback","correctionsEndpoint":"POST /api/corrections","payloadTemplate":{"agentIdentity":"agent:<your-agent-id>","jtbdId":"notification-orchestration","providerId":"novu","outcome":"worked","detail":"Comparative production evaluation on notification-orchestration (n>=10 tasks) with Countersign receipt.","confidence":"high","receipt":{"countersign":{"claim_id":"cs-00000000","status":"verified","evidence_tier":"outcome_verified","counts_as_verified":true}}}}},"whatWouldChangePick":["Novu (novu) outperforms Courier (courier) by >= 0.28 outcome points (or >= 15% worked-rate delta) across >= 10 Countersign-verified production outcomes.","A verified price increase > 25% on Courier's representative SKU for notification-orchestration without a corresponding capability gain.","Live caller rail exhaustion (?exhausted=courier) or sustained >= 30% degraded/failed rate in verified production outcomes."],"routePlan":{"jtbdId":"notification-orchestration","primary":{"providerId":"courier","name":"Courier","overall":8.09,"scoreBand":{"low":7.5,"mid":8.1,"high":8.7,"halfWidth":0.6,"basis":"editorial_prior","display":"7.5–8.7 (editorial prior)"},"scoreLayers":{"editorialPrior":8.09,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"primary","reason":"Editorial Depot Pick for Multi-channel notification orchestration; healthy/eligible under caller constraints."},"fallback":[{"providerId":"novu","name":"Novu","overall":8.22,"scoreBand":{"low":7.6,"mid":8.2,"high":8.8,"halfWidth":0.6,"basis":"editorial_prior","display":"7.6–8.8 (editorial prior)"},"scoreLayers":{"editorialPrior":8.22,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Multi-channel notification orchestration."},{"providerId":"knock","name":"Knock","overall":8.22,"scoreBand":{"low":7.6,"mid":8.2,"high":8.8,"halfWidth":0.6,"basis":"editorial_prior","display":"7.6–8.8 (editorial prior)"},"scoreLayers":{"editorialPrior":8.22,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Multi-channel notification orchestration."},{"providerId":"twilio","name":"Twilio","overall":8.26,"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.26,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-19","editorialPriorAsOf":"2026-10-19","role":"fallback","reason":"Ranked fallback route for Multi-channel notification orchestration."},{"providerId":"resend","name":"Resend","overall":8.57,"scoreBand":{"low":8,"mid":8.6,"high":9.2,"halfWidth":0.6,"basis":"editorial_prior","display":"8.0–9.2 (editorial prior)"},"scoreLayers":{"editorialPrior":8.57,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Multi-channel notification orchestration."},{"providerId":"onesignal","name":"OneSignal","overall":8.09,"scoreBand":{"low":7.5,"mid":8.1,"high":8.7,"halfWidth":0.6,"basis":"editorial_prior","display":"7.5–8.7 (editorial prior)"},"scoreLayers":{"editorialPrior":8.09,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Multi-channel notification orchestration."},{"providerId":"ably","name":"Ably","overall":8.29,"scoreBand":{"low":7.7,"mid":8.3,"high":8.9,"halfWidth":0.6,"basis":"editorial_prior","display":"7.7–8.9 (editorial prior)"},"scoreLayers":{"editorialPrior":8.29,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Multi-channel notification orchestration."},{"providerId":"customer-io","name":"Customer.io","overall":8.15,"scoreBand":{"low":7.6,"mid":8.2,"high":8.8,"halfWidth":0.6,"basis":"editorial_prior","display":"7.6–8.8 (editorial prior)"},"scoreLayers":{"editorialPrior":8.15,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Multi-channel notification orchestration."},{"providerId":"bird","name":"Bird (ex-MessageBird)","overall":7.88,"scoreBand":{"low":7.3,"mid":7.9,"high":8.5,"halfWidth":0.6,"basis":"editorial_prior","display":"7.3–8.5 (editorial prior)"},"scoreLayers":{"editorialPrior":7.88,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Multi-channel notification orchestration."},{"providerId":"svix","name":"Svix","overall":8.52,"scoreBand":{"low":7.9,"mid":8.5,"high":9.1,"halfWidth":0.6,"basis":"editorial_prior","display":"7.9–9.1 (editorial prior)"},"scoreLayers":{"editorialPrior":8.52,"measuredBenchmark":null,"verifiedOutcomeScore":null,"verifiedOutcomeCount":0,"accountRuntimeState":"unprobed"},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","role":"fallback","reason":"Ranked fallback route for Multi-channel notification orchestration."}],"disqualified":[],"expectedRegret":{"scoreDeltaVsUnconstrainedPick":0,"unconstrainedPickId":"courier","activePrimaryId":"courier","summary":"0.00 score regret: unconstrained editorial pick satisfies all caller constraints."},"evidenceAgeDays":{"editorialScoreAgeDays":43,"pricingVerifiedAgeDays":0,"editorialPriorAsOf":"2026-09-14","pricingLastVerifiedAt":"2026-10-27"},"confidenceBand":{"low":7.5,"mid":8.1,"high":8.7,"halfWidth":0.6,"basis":"editorial_prior","display":"7.5–8.7 (editorial prior)"},"constraintsApplied":false,"constraintBundle":{"task":null,"jtbd":"notification-orchestration","quotaExhausted":[],"degraded":[],"healthy":[],"budgetUsd":null,"maxLatencyMs":null,"region":null,"privacy":null,"exit":[],"existing":[]}},"pricingLastVerifiedAt":"2026-10-27","editorialPriorAsOf":"2026-09-14","tie":false,"scoreGap":-0.13,"decidingFactor":null,"tieNote":null,"rationale":"dx + capability orchestration.","whenNotTopPick":"Single channel — talk to Resend/Twilio directly.","skipTopPick":false,"skipReason":null,"matchedConstraints":[],"pricingSummary":"Notification orchestration across email/SMS/push/Slack; usage + seat elements.","cite":"Depot Pick for notification-orchestration: courier (asOf 2026-09-14). See GET /api/jtbds/notification-orchestration + GET /api/methodology.","nextActions":[{"step":1,"title":"Inspect full JTBD + embeds","href":"/api/jtbds/notification-orchestration?embed=providers","why":"Confirm pick, runners-up, and methodology notes."},{"step":2,"title":"Quote sourced SKUs","href":"/api/quote?jtbd=notification-orchestration","why":"Depot Pick SKUs plus the cheapest sourced SKU whose unit matches this job. Does not change the pick. Does not blend input and output or borrow a chat rate for a non-chat job."},{"step":3,"title":"Open provider detail","href":"/api/providers/courier","why":"Scores, pricingNotes, strengths/weaknesses, communitySignals (claims only)."},{"step":4,"title":"Cite methodology","href":"/api/methodology","why":"Required when publishing a Depot Pick citation."},{"step":5,"title":"Grab badge SVG","href":"/api/badge?type=depot-pick&jtbd=notification-orchestration","why":"Embed in README / agent passport."},{"step":6,"title":"Post production insight","method":"POST","href":"/api/insights","why":"Unverified until curated; never auto-mutates official scores."}],"honesty":["Do not invent scores or benches.","Insights are claims until curated/reviewed; they never silently mutate official scores.","lockInRisk higher = more lock-in (worse).","normalizedUsdPerMillionTokens is set only for a single sourced token row. Otherwise null, with a machine-readable reason. Do not coerce GPU, minute, or per-1k search units.","Runners-up are not Depot Picks.","Depot overall is editorial_weighted, not Arena Elo and not an Artificial Analysis index."],"asOf":"2026-09-14","depth":{"whenNotToUse":{"text":"Single channel — talk to Resend/Twilio directly.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"novu","name":"Novu","overallForJob":8.22,"pickOverallForJob":8.09,"beatsPickOn":["pricePerformance","privacyPosture","lockInRisk"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":5,"runnerUpLockInRisk":2.8,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":["open source (provider tag `oss`)","self-hostable (provider tag `self-host`)"],"pickNotes":[],"selfHostFallback":[],"migration":"Runner-up Novu has lower stored lock-in risk (2.8 vs 5, 0–10, higher = more lock-in).","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."}},"citation":{"text":"Agent Provider Depot (v0.12.153), Depot Pick for notification-orchestration: courier, scores as of 2026-09-14, retrieved 2026-10-27. https://getagentdepot.com/jtbds/notification-orchestration","markdown":"[Agent Provider Depot](https://getagentdepot.com/jtbds/notification-orchestration) (v0.12.153) — Depot Pick for `notification-orchestration`: **courier** (scores as of 2026-09-14, retrieved 2026-10-27)","fields":{"publisher":"Agent Provider Depot","version":"0.12.153","role":"depot_pick","jtbdId":"notification-orchestration","providerId":"courier","scoreAsOf":"2026-09-14","retrievedOn":"2026-10-27","page":"https://getagentdepot.com/jtbds/notification-orchestration","api":"https://getagentdepot.com/api/decide?jtbd=notification-orchestration"},"howToCite":"Cite Depot as an editorial, dated recommendation, not a benchmark: name the job, the Depot Pick (or runner-up), the score asOf date and the day you retrieved it, and link the job page. Format: “Agent Provider Depot (v{version}), Depot Pick for {jobId}: {providerId}, scores as of {scoreAsOf}, retrieved {retrievedOn}. {baseUrl}/jtbds/{jobId}”. Quote prices only with their own sourceUrl and asOf. If the pick's score is stale (freshness.pick.score.stale), say so."},"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":1,"sourcesReachable":1,"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}},"scoreAsOf":"2026-09-14","editorialPriorAsOf":"2026-09-14","pricingLastVerifiedAt":"2026-10-27","pickLastReviewed":"2026-09-14","runnersUpScoreAsOf":["2026-09-14","2026-09-14","2026-10-19","2026-09-14","2026-09-14","2026-09-14","2026-09-14","2026-09-14","2026-09-14"],"contractAsOf":"2026-10-03","pricingShape":"prose_notes_only","normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price"},"pricingContract":{"normalizedUsdPerMillionTokens":null,"normalizationStatus":"unavailable","normalizationReason":"no_sourced_price","shape":"prose_notes_only","filterable":false,"priceSortEligible":false,"priceSortKeyUsdPerMillionInputTokens":null,"rows":[],"notesExcerpt":"Notification orchestration across email/SMS/push/Slack; usage + seat elements.","notesCheck":{"status":"no_known_contradiction","pairs":[],"review":null,"note":null},"lastReviewed":"2026-09-14","scoreAsOf":"2026-09-14","website":"https://www.courier.com","doNotParse":"Do not parse pricingNotes. Use rows only. normalizedUsdPerMillionTokens is a single number only when this provider has exactly one sourced token row. Input/output, context tiers, and non-token units stay null at this level.","gap":"No sourced price row for this provider. pricingNotes stay prose. See research/gaps.md."},"links":{"jtbd":"/jtbds/notification-orchestration","jtbdApi":"/api/jtbds/notification-orchestration","leaderboard":"/api/leaderboards?jtbd=notification-orchestration","methodology":"/api/methodology","badge":"/api/badge?type=depot-pick&jtbd=notification-orchestration","decide":"/api/decide?jtbd=notification-orchestration","humanPage":"/jtbds/notification-orchestration","alternatives":"/api/alternatives?provider=courier","canonical":"/api/canonical","quote":"/api/quote?jtbd=notification-orchestration","falsify":"/api/falsify?jtbd=notification-orchestration"},"constraintBundle":{"task":null,"jtbd":"notification-orchestration","quotaExhausted":[],"degraded":[],"healthy":[],"budgetUsd":null,"maxLatencyMs":null,"region":null,"privacy":null,"exit":[],"existing":[]},"stackContext":{"host":null,"framework":null,"repo":null,"lang":null,"existing":[],"volume":null,"sender":null,"detectedFromTask":[]},"keep":null,"contextAdvice":null,"communityFeedback":{"pickOnThisJob":{"failed":0,"degraded":0,"worked":0,"insights":0,"withVerifiedReceipt":0,"failureModes":{},"latestAt":null,"note":"Agent-reported claims (unverified unless a receipt is verified by Depot's re-check). They never change scores or picks."},"outcomes":{"job":{"n":0,"worked":0,"degraded":0,"failed":0,"failureModes":{},"verifiedReports":0,"contributors":0,"excluded":{"seed_editorial":0,"test":0,"notFeedback":0},"reason":"no_submitted_outcome_reports_yet"},"pick":{"providerId":"courier","n":0,"worked":0,"degraded":0,"failed":0,"failureModes":{},"evidenceTiers":{"agent_claim":0,"self_declared":0,"reference_checked":0,"outcome_verified":0},"reason":"no_submitted_outcome_reports_yet"},"scoresMutated":false,"more":"/api/outcomes?jtbd=notification-orchestration"},"report":"POST /api/feedback {agentIdentity, outcome: failed|degraded|worked, detail, providerId, jtbdId, failureModeId?, receipt?}"}}