Courier vs Trigger.dev
Notification API with multi-channel orchestration, templates, and preferences
vs. Open-source background jobs with no timeouts and full observability
Pricing tiers
Courier
Free
Up to 10,000 notifications/month. All channels. Community support.
Free
Business
From $99/mo. Higher volumes, advanced routing, preference center, branding removal.
$99/mo
Enterprise
Custom. SOC 2, SSO, dedicated support, volume discounts, SLA.
Custom
Trigger.dev
Free
$0. 5K runs/mo. 1 concurrent run. 1 team member. 7-day log retention.
Free
Self-Host (OSS)
Free. Apache-2.0 license. Docker Compose + Postgres + Redis.
$0 base (usage-based)
Hobby
$10/mo. 50K runs/mo. 25 concurrent. Unlimited queue time.
$10/mo
Pro
$50/mo (starts at — usage scales). 250K runs/mo baseline. 100 concurrent. Priority.
$50/mo
Enterprise
Custom. HIPAA, SSO, dedicated clusters, on-prem.
Custom
Free-tier quotas head-to-head
Comparing free on Courier vs free on Trigger.dev.
| Metric | Courier | Trigger.dev |
|---|---|---|
| notifications monthly | 10000 notifications/mo | — |
Features
Courier · 13 features
- Chat — Slack, Microsoft Teams, Discord, Mattermost.
- Email — SendGrid, Postmark, Mailgun, AWS SES, Resend, SMTP.
- Inbox (In-App) — React/JS drop-in in-app inbox component.
- Lists — Segment recipients for bulk notification sends.
- Logs + Analytics — Per-message delivery timeline + engagement.
- Multi-channel Routing — Provider failover + preferred channel per user.
- Notification Designer — Visual editor for templates across channels.
- Preferences — Per-user notification preferences hub.
- Push — APNs, FCM, Expo, OneSignal.
- Send API — POST /send with template + recipients + data.
- SMS — Twilio, MessageBird, Vonage, Plivo, Telnyx.
- Templates + Versioning — Template brands, variants, localization, version history.
- Webhooks — Delivery + engagement event webhooks.
Trigger.dev · 13 features
- Batch Trigger — Trigger many runs at once with limits.
- Environment Variables — Manage secrets in dashboard.
- Idempotency Keys — Prevent duplicate runs.
- Machine Sizing — Pick CPU/RAM per task.
- Queues + Concurrency — Named queues for controlled throughput.
- Realtime + React Hooks — Subscribe to run progress from client.
- Retries — Exponential + custom strategies.
- Schedules — Cron-triggered runs.
- Self-Hosting — Run locally or on your infra.
- Subtasks + triggerAndWait — Compose tasks by triggering children.
- Task Metadata — Attach arbitrary metadata to runs.
- Tasks — Define long-running TS tasks.
- wait.for / wait.until — Durable waits — minutes, hours, days.
Developer interfaces
| Kind | Courier | Trigger.dev |
|---|---|---|
| CLI | Courier CLI | trigger.dev CLI |
| SDK | courier-go, courier-java, @trycourier/courier, trycourier (Python), @trycourier/react-inbox, trycourier (Ruby) | @trigger.dev/react-hooks, @trigger.dev/sdk |
| REST | Courier REST API | Trigger.dev REST API |
| OTHER | Courier Studio, Outbound Webhooks | Trigger.dev Dashboard, Trigger.dev Webhooks |
Staxly is an independent catalog of developer platforms. Some links to Courier and Trigger.dev may be affiliate links — Staxly may earn a commission if you sign up through them, at no extra cost to you. Pricing is verified against vendor pages at publication time — reconfirm before buying.
Want this comparison in your AI agent's context? Install the free Staxly MCP server.