Kyle Seyler
February 09, 2026

There are seven realistic ways to build notification infrastructure in 2026. The right one depends on your channels, your team, and whether you're solving a product notification problem, a marketing problem, or both. Most teams should use a unified platform. Some should self-host. Very few should build from scratch.
Courier — Use a unified platform with AI tooling built in. One API for email, SMS, push, in-app, Slack, Teams, WhatsApp, and Discord. Visual Journeys for orchestration. Drop-in components (Inbox, Preferences, Toasts) so you're not building UI from scratch. MCP server and CLI so AI coding tools can build, test, and debug notifications without leaving the IDE.
The biggest shift in 2026 isn't a new channel or a new provider. It's that AI agents are now building notification infrastructure alongside developers — and the platforms that give those agents real context produce dramatically better results.
A year ago, the question was "which notification platform should I use?" That's still a valid question. But 2026 added a layer.

AI agents write notification code now. Cursor, Claude Code, Codex, Copilot agent mode — these tools don't just autocomplete. They build entire notification workflows, set up providers, configure routing logic, and test delivery. The quality of what they produce depends entirely on the context they have access to.
MCP became the standard for AI-tool integration. The Model Context Protocol lets AI coding tools connect to external services — your notification platform, your database, your CI pipeline. Platforms that ship MCP servers give AI agents access to real templates, real channels, and real delivery status. Platforms that don't leave agents guessing from training data.
Notification volume is less predictable. When an AI agent processes 200 tasks overnight, that's 200 potential notification events. The infrastructure that handled "user clicks button, send email" doesn't handle "autonomous system completes variable workload at 3am." Batching, digests, and throttling went from nice-to-have to essential.
Notification fatigue hit a tipping point. Knowledge workers receive over 80 notifications daily. The response isn't fewer notifications — it's smarter infrastructure that batches, prioritizes, and routes based on user behavior and preferences. Channel-aware orchestration isn't a feature anymore. It's table stakes.
The line between product and marketing notifications blurred. Platforms like Klaviyo own the marketing side. Platforms like OneSignal own push engagement. But teams increasingly need both transactional and marketing messages in a single system, with shared preferences, shared user profiles, and unified delivery logs. Running two platforms doubles the integration work and fragments the user experience.
This is what Courier does. One API handles every channel. A visual builder handles orchestration. Drop-in components handle the frontend. And AI tooling handles the development workflow.
The defining feature of 2026 notification infrastructure is context engineering — giving AI agents the real data they need to produce correct code on the first try.
"Context engineering describes the core skill better: the art of providing all the context for the task to be plausibly solvable by the LLM." — Tobi Lutke, CEO of Shopify
Courier's MCP server connects your AI coding tool (Cursor, Claude Code, VS Code Copilot, Codex) directly to your Courier account. 35+ tools. The agent sees your real templates, your real channels, your real provider config. When you prompt "add a welcome email with push fallback," it uses actual template IDs and actual SDK imports — not hallucinated package names.
Copied!
{"mcpServers": {"courier": {"url": "https://mcp.courier.com","headers": { "api_key": "pk_prod_..." }}}}
One config entry. No local install. The agent can send notifications, look up users, search templates, check delivery status, trigger automations, and get current SDK installation guides — all without leaving the IDE.
The CLI gives the same access from the terminal:
Copied!
npm install -g @trycourier/clicourier config --apikey pk_prod_...courier send --user user123 --title "Build failed" --body "main is red" --channels push,inbox

Cross-channel delivery. Email, SMS, push, in-app, Slack, Microsoft Teams, WhatsApp, Discord, webhook. 50+ provider integrations with automatic failover. Swap SendGrid for Postmark, Twilio for Vonage — change the config, not the code.
Visual orchestration. Journeys handle multi-step sequences with product events, branching, delays, and API calls mid-flow. Send push first, wait an hour, check if opened, fall back to email. Non-engineers can modify flows without deploying code. Learn more in our guide on how to build customer journeys.
Drop-in components. Inbox for in-app notification centers. Preferences for user control over channels and topics. Toasts for real-time alerts. These are what companies like Twilio and LaunchDarkly run in production. See our guide on how to build a notification center.
Agent-safe design. The MCP server exposes create and read operations but no deletes on core resources. You can hand it to an AI agent without worrying about it tearing down production data.
Typed SDKs. Generated by Stainless — the same tool OpenAI, Anthropic, and Cloudflare use. Eight languages (TypeScript, Python, Go, Java, Ruby, PHP, C#, React), all from one OpenAPI spec. When the API changes, the SDKs, docs, and MCP tools update together. Nothing drifts.
Native business messaging. Slack and Microsoft Teams integration means B2B customers receive notifications where they already work — with rich formatting, native Block Kit rendering, and seamless multi-tenant configuration. Check out our guide on building Slack and Teams notifications.
Template design. The Visual Design Studio gives product and marketing teams a way to build templates without writing code. Developers can use code-based templates when they need full control.
Product + marketing in one platform. Unlike platforms that only handle transactional notifications or only handle marketing campaigns, Courier handles both — password resets and onboarding sequences, order confirmations and re-engagement campaigns — with shared user profiles, shared preferences, and a single delivery log.
Teams that need both product notifications and marketing messages, want AI coding tools to produce correct notification code, and don't want to maintain integrations with 5+ providers.
Free tier with 10,000 notifications/month. Usage-based pricing scales from there. See pricing.
Self-host your notification infrastructure using an open-source framework. Novu is the leading option here with 38K+ GitHub stars and an open-core model (MIT-licensed core with proprietary enterprise features).
Novu supports email, SMS, push, in-app, Slack, Microsoft Teams (via Incoming Webhooks), Discord, and WhatsApp. The Inbox component works with minimal setup. There's a workflow builder for sequencing notifications. And Novu offers an MCP server for AI tooling, though it's newer and covers fewer tools than Courier's.
The real draw is control. You can inspect the source, modify it, and run it on your own infrastructure.
Self-hosting means you own uptime, scaling, database migrations, and security patches. Novu's recommended deployment is 3 VMs per service with separate Redis clusters and a MongoDB cluster — this isn't a single Docker container. The cloud offering is less mature than commercial alternatives. Visual workflow capabilities are less polished. Business messaging channel integrations (Teams, Slack) are less deep than dedicated commercial platforms.
Novu focuses on product notifications. If you need marketing messages — onboarding sequences, re-engagement campaigns, lifecycle messaging — you'll need a separate system.
Teams with strict data residency requirements, strong DevOps capabilities, or those who want to modify the source code directly.
Platforms like OneSignal started with push notifications and expanded into email, SMS, and in-app messaging. They're strong at mobile engagement — especially push, which is their foundation.
OneSignal supports mobile push, web push, in-app messaging, email, SMS/RCS, and Live Activities (iOS). The Journeys feature provides a visual workflow builder with branching, A/B testing, event matching, and segment-based triggers. In-app messaging includes a no-code drag-and-drop builder. SDKs cover iOS, Android, React Native, Flutter, Cordova, and web frameworks. OneSignal has an MCP server available through community implementations.
OneSignal has raised $84M in funding and serves a large base of mobile-first apps. Apps using their Journeys feature report 13.6% higher 30-day retention on average.
OneSignal is built around push engagement. It's excellent for mobile-first products, re-engagement campaigns, and user retention flows. But it doesn't handle the full spectrum of notification infrastructure that B2B products need.
No native Slack or Microsoft Teams integration — these require third-party automation tools like Zapier or Pipedream. No drop-in notification center (Inbox) component for your web app. No preference management UI. No provider abstraction with automatic failover — you use OneSignal's own delivery infrastructure rather than connecting your existing providers. The template system is geared toward push and in-app, not complex multi-channel rendering.
If you're building a mobile app and push is your primary channel, OneSignal is a strong choice. If you need a B2B notification system with Slack, Teams, in-app inbox, and cross-channel orchestration, you'll outgrow it.
Mobile-first products where push notifications drive engagement, retention, and re-activation. Consumer apps, gaming, media, and e-commerce with a strong mobile presence.
Free plan includes unlimited mobile push, 10,000 email sends/month, and Journey workflows. Growth plan starts at $19/month with per-channel usage pricing. Enterprise plans available with custom pricing and SLAs.
Platforms like Klaviyo are built for marketing teams. They own email campaigns, SMS marketing, and customer lifecycle messaging — with deep e-commerce integrations and sophisticated audience segmentation.
Klaviyo supports email, SMS, and mobile push notifications. The platform excels at audience segmentation, lifecycle flows (abandoned cart, post-purchase, winback), A/B testing, and revenue attribution. There's a drag-and-drop email editor, flow builder with conditional branching, and deep integrations with Shopify, BigCommerce, WooCommerce, and other e-commerce platforms. Klaviyo offers an MCP server for AI-assisted campaign creation and flow management. Server-side SDKs are available in Python, PHP, Ruby, and Node.
Klaviyo is publicly traded (NYSE: KVYO) with over 167,000 customers. It's the market leader in e-commerce marketing automation.
Klaviyo is a marketing platform, not notification infrastructure. The distinction matters.
No in-app notification center. No Slack or Microsoft Teams integration for B2B messaging. No drop-in Inbox or Preferences components. No provider abstraction — Klaviyo handles delivery through its own infrastructure, not through your existing SendGrid or Twilio accounts. No webhook channel for custom integrations. Push notifications require a mobile app with Klaviyo's SDK and are limited to 178 characters.
The free tier caps at 250 contacts and 500 email sends/month — useful for testing, not for production. Pricing scales based on contact count, not send volume, which can get expensive fast as your user base grows.
Transactional notifications (password resets, order confirmations, security alerts) are secondary to Klaviyo's marketing focus. If your primary need is product notifications that engineering teams control, Klaviyo isn't the right tool.
E-commerce and D2C brands where marketing email and SMS drive revenue. Teams where the marketing org owns the messaging strategy and engineers are less involved in day-to-day notification management.
Free tier with 250 contacts and 500 emails/month. Paid plans start at $20/month for email, $15/month for SMS. Pricing scales with contact count.
Pick the best provider for each channel: SendGrid for email, Twilio for SMS, Firebase for push, your own WebSocket server for in-app. Write the orchestration layer yourself.
You have deep expertise with specific providers, strong opinions about email deliverability or SMS routing, and engineers who want full control over each channel's implementation.
Five different authentication systems. Five different rate limit policies. Five different retry mechanisms. Five different webhook formats for delivery status. User preferences stored in five different places. No unified view of what got delivered where. Every new channel is a new integration project.
The orchestration layer — the thing that decides "send push first, wait, check if read, fall back to email" — is the hardest part, and it's entirely your responsibility.
Large teams (10+ engineers on infrastructure) with established provider relationships and genuinely unique requirements that no platform addresses.
AWS SNS + SES + Pinpoint. Google Cloud Pub/Sub + Firebase Cloud Messaging. Azure Notification Hubs + Communication Services. Stay in your cloud ecosystem.
You're deeply committed to a single cloud provider, your team already knows the APIs, and you want billing consolidated.
Cloud notification services are building blocks, not solutions. SNS handles pub/sub, but it doesn't manage user preferences, build notification centers, batch autonomous agent output, or provide visual template editors. You'll write significant glue code. The developer experience of these services is typically worse than dedicated notification platforms — more configuration, less abstraction, and documentation that reads like it was written for a different decade.
No MCP integration. No drop-in components. No visual workflow builder. Your AI coding tools will have no context about your notification setup.
Teams that prioritize cloud vendor consolidation above developer experience and feature completeness.
Design the queue, build the routing engine, implement the preference store, create the template renderer, handle provider failover, build the observability layer, maintain it all.
You send 100M+ notifications monthly. You have dedicated infrastructure engineers. You're willing to invest 6+ months in initial development plus ongoing maintenance. Provider negotiation and cost optimization is a core competency.
Companies like LinkedIn, Airbnb, and Uber dedicate 20+ engineers to notification infrastructure. Most teams don't have that luxury — or that volume.
Exponential backoff with jitter for retries. Dead letter queues for permanently failed messages. Circuit breakers for flaky providers. Timezone-aware delivery scheduling. Cross-channel state synchronization (did the user read the push? don't send the email). GDPR-compliant preference management. Rate limiting per provider, per channel, per user. Observability across every hop.
This is real infrastructure work. The initial build is the easy part. Maintenance, scaling, and reliability are where the years go.
Companies with 20+ engineers on infrastructure, 100M+ monthly notifications, and truly unique requirements that no platform addresses.
| Approach | Time to first notification | Channels | AI tooling | Business messaging (Slack/Teams) | Product + Marketing | Monthly cost (10K sends) |
|---|---|---|---|---|---|---|
| Unified platform (Courier) | Minutes | 9+ channels, 50+ providers | MCP server (35+ tools) + CLI + Agent Skills | Native, rich formatting | Both | Free tier covers it |
| Open-source (Novu) | Hours | 8 channels | MCP server (newer) | Webhooks-based | Product only | Infrastructure costs |
| Push-first (OneSignal) | Minutes | 6 channels (push, web push, email, SMS, in-app, Live Activities) | Community MCP server | Not native (requires Zapier/Pipedream) | Engagement-focused | Free for push; Growth from $19/mo |
| Marketing (Klaviyo) | Hours | 3 channels (email, SMS, push) | MCP server | Not supported | Marketing only | Free at 250 contacts; from $20/mo |
| Best-of-breed stitching | Weeks | Depends on integrations | None | Depends on integrations | Depends on integrations | Per-provider pricing |
| Cloud-native services | Days | Limited | None | Not native | Neither | Cloud pricing |
| Build from scratch | Months | Whatever you build | Whatever you build | Whatever you build | Whatever you build | Engineering salaries |
Answer these five questions:
1. How many channels do you need? If the answer is "just email and SMS for marketing," a platform like Klaviyo handles it well. If it's "push for a mobile app," OneSignal is strong. If you need email, push, in-app, Slack, and Microsoft Teams from one API — with provider abstraction and automatic failover — that's where a unified platform like Courier makes sense. Most teams add 2-3 channels in the first year.
2. Who needs to modify notification flows? If only engineers will ever touch notifications, a code-first or open-source approach can work. If product, growth, or marketing teams need to iterate on messaging, you need a visual builder and template editor. OneSignal and Klaviyo have visual builders geared toward their respective audiences (mobile engagement and marketing campaigns). Courier's Journeys handle both product and marketing flows.
3. Do you use AI coding tools? If your team builds with Cursor, Claude Code, or similar tools, platform choice directly affects code quality. Courier, Novu, OneSignal, and Klaviyo all offer MCP servers — but the depth varies. Courier's has 35+ tools covering send, templates, users, delivery logs, automations, and SDK installation guides with live JWT generation. Evaluate what your AI agent actually needs access to.
4. Do you need both product and marketing notifications? This is the question most teams answer wrong. You start with transactional (password resets, receipts) and figure you'll add marketing later. Then marketing wants onboarding sequences. Growth wants re-engagement. Suddenly you're running Courier for product and Klaviyo for marketing, with user preferences split across two systems. If you see both in your future, start with a platform that handles both — like Courier.
5. What's your compliance situation? GDPR requires preference management and audit trails. HIPAA requires delivery confirmation and access controls. SOC 2 Type 2 means the platform proved its security controls work over a one-year audit period. If your security team asks for this documentation, make sure your platform has it.
After working with hundreds of teams, here's the notification architecture pattern that scales:
Copied!
Your Application│▼Single API Call ──────────► Notification Platform(event + user + data) │├── Orchestration Layer│ (routing, preferences, delays, conditions)│├── Template Engine│ (per-channel rendering, i18n, personalization)│├── Provider Layer│ (failover, rate limiting, retries)│└── Observability(delivery status, logs, debugging)
Your application sends one API call. That's it. Event name, user ID, data payload. Your code doesn't know or care about channels, providers, or rendering.
Copied!
POST /send{"message": {"to": { "user_id": "user-123" },"template": "order-shipped","data": {"order_id": "ORD-4821","tracking_url": "https://track.example.com/4821"}}}
The orchestration layer handles routing. User preferences determine which channels. Journey logic determines the sequence. Batching and digests handle volume. The routing decision happens at send time, not at code time.
The template engine handles rendering. One notification, rendered differently for email (HTML), push (title + body), Slack (Block Kit), in-app (structured JSON). Courier's Design Studio handles this per-channel rendering without duplicating templates.
The provider layer handles delivery. SendGrid fails? Route to Postmark. Twilio rate-limited? Queue and retry. Each provider's quirks are abstracted away. 50+ integrations mean you're never locked in.
Observability closes the loop. Did it deliver? Did the user open it? Did the provider bounce it? Filterable logs by user, message, provider, or status. Datadog and New Relic integrations so notification delivery lives alongside application performance.
This is the architecture OneSignal uses for push. Klaviyo uses it for marketing email. Novu uses it for open-source notifications. The difference with Courier is that it applies this architecture across every channel — product and marketing, transactional and lifecycle — in one platform with 50+ swappable providers. Building it yourself takes 6+ months and a dedicated team. Using Courier takes an afternoon.
Twilio built SMS. They know notification infrastructure better than almost anyone. When they needed to unify in-app notifications with SendGrid email across their 10M+ developer platform, they chose Courier. "We chose Courier because the depth of the inbox and multi-channel integrations allowed us to choose one notification platform for all products and teams at Twilio."
LaunchDarkly consolidated fragmented notification logic into Courier, enabling their product team to iterate on messaging flows without engineering involvement for every change. Slack integration reduced internal approval times. Webhooks enable customer notifications through any Slack instance with LaunchDarkly installed.
Fluint uses Courier's journey orchestration to drive B2B customer engagement, keeping stakeholders informed throughout complex sales processes across multiple channels.
Nav leverages Courier for banking notifications in their fintech platform, where reliability and compliance are non-negotiable.
When developer infrastructure companies choose your notification platform, it says something about technical foundations.
Notification infrastructure is one of those backend systems that seems simple until you build it. The complexity hides in the edges: provider failover, timezone-aware scheduling, cross-channel state sync, preference enforcement, and the orchestration logic that ties it all together.
If you're starting from scratch in 2026, here's the order of operations:
1. Pick your channels. Start with what you need today, but plan for 12 months out. Most teams add 2-3 channels in the first year. If you see Slack or Microsoft Teams in your future, factor that into your platform choice now — not every platform handles business messaging well.
2. Set up AI tooling. If you're building with Cursor or Claude Code, connect the MCP server before you write a line of notification code. Your agent will produce better code from the start.
Copied!
{"mcpServers": {"courier": {"url": "https://mcp.courier.com","headers": { "api_key": "pk_prod_..." }}}}
3. Install the SDK. Eight languages to choose from. Check the API reference to see the developer experience firsthand.
4. Send your first notification. Use the CLI to test immediately:
Copied!
npm install -g @trycourier/clicourier config --apikey pk_prod_...courier send --user user123 --title "Hello" --body "First notification" --channels email,inbox
5. Build your first Journey. Use the visual builder to create a multi-step flow. Start simple — send email, wait, check if opened, send push if not. See our guide on how to build customer journeys.
6. Add drop-in components. Inbox and Preferences take months to build from scratch. Drop-in components take an afternoon.
Ready to build notification infrastructure? Start free with 10,000 notifications/month, or book a demo to see Journeys and drop-in components in action.
For most teams, using a unified platform like Courier is the fastest and most reliable approach. You get cross-channel delivery, visual orchestration, drop-in components, and AI tooling out of the box. Push-first platforms like OneSignal work well for mobile engagement. Marketing platforms like Klaviyo work well for e-commerce campaigns. Open-source platforms like Novu work if you need to self-host. Building from scratch makes sense only if you send 100M+ notifications monthly and have 20+ engineers dedicated to infrastructure.
AI coding tools like Cursor and Claude Code now build notification workflows, not just individual API calls. The quality depends on context. Courier, Novu, OneSignal, and Klaviyo all offer MCP servers, giving agents access to real templates, channels, and delivery status. The depth varies — Courier's covers 35+ tools including SDK installation guides and live JWT generation. Platforms without any MCP integration (cloud-native services, homegrown systems) leave agents guessing from training data.
Marketing platforms like Klaviyo excel at email campaigns, audience segmentation, and lifecycle messaging for e-commerce. Notification platforms like Courier handle both product notifications (password resets, order confirmations, security alerts) and marketing messages — plus in-app, Slack, Teams, and other channels marketing platforms don't cover. If your needs span both, using a unified platform avoids fragmenting user preferences and delivery logs across two systems.
Buy if speed matters, you're under 20M notifications monthly, or your engineering team should focus on your core product. Build if you send over 100M notifications monthly, have dedicated infrastructure engineers, and can invest 6+ months in initial development plus ongoing maintenance. Most teams underestimate the ongoing maintenance burden.
The Model Context Protocol (MCP) is a standard for connecting AI tools to external services. A notification platform with an MCP server lets your AI coding assistant access your real notification setup — templates, channels, providers, delivery logs — so it can generate correct code, test delivery, and debug issues without context-switching. Courier's MCP server has 35+ tools and works with Cursor, Claude Code, VS Code Copilot, Codex, and Claude Desktop.
AI agents can generate unpredictable volumes of notification events. The answer isn't suppressing notifications — it's intelligent infrastructure. Batching groups events by inactivity period or max count. Digests consolidate into scheduled summaries. Throttling limits notifications per user per timeframe. These should be infrastructure-level primitives, not application logic.
At minimum: email, push, and in-app. For B2B products: add Slack and Microsoft Teams. For consumer products: add SMS. For global products: add WhatsApp. Courier supports all of these through one API with 50+ provider integrations.
You need a preference center UI, a backend to store preferences, logic to enforce them across all sends, and compliance with GDPR and CAN-SPAM. Courier provides a drop-in Preferences component and automatically enforces user choices across all channels without additional code.
The logic layer that determines what to send, when, through which channel, and to whom. It includes workflows with branching, delays, and conditions based on user behavior. For example: send push first, wait an hour, check if opened, fall back to email if not. Courier's Journeys feature handles this through a visual builder with product events, API calls mid-flow, and user tagging.
GDPR requires explicit consent, preference management, and the right to opt out. CAN-SPAM requires unsubscribe mechanisms in commercial email. HIPAA affects healthcare notifications. SOC 2 Type 2 proves security controls work over a one-year audit period. Courier is SOC 2 Type 2 compliant and enforces user preferences automatically across all channels.

A Resilient Notification Strategy for Regulated Industries
Notification compliance isn't a legal checklist—it's an infrastructure problem. In 2026, Reg E deadlines, HIPAA content rules, and TCPA consent requirements dictate your system architecture. This guide breaks down the engineering constraints of regulated notifications for fintech, healthcare, and insurance. Learn why hard-coded deadlines fail, how "alert without disclosing" works in practice, and why the smart escalation pattern (Push → SMS → Email) is the only way to satisfy both user urgency and regulatory documentation. Build systems that absorb complexity, not application code that breaks every time a state law changes.
By Kyle Seyler
February 11, 2026

The Unsubscribe Paradox: Why Making It Easier to Leave Keeps People Around
Hiding the unsubscribe link doesn't keep people subscribed. It makes them mark you as spam, and spam complaints hurt your sender reputation roughly 1000x more than unsubscribes. The brands with the lowest unsubscribe rates don't achieve it by making the door hard to find. They achieve it by making people not want to leave. This guide covers the math behind why easy unsubscribes protect deliverability, how preference centers reduce list churn, and what your unsubscribe flow should actually look like.
By Kyle Seyler
February 09, 2026

Personalization Beyond "Hello {{firstName || "there"}}!"
Using someone's name matters, just not for the reason most teams think. It builds familiarity over time but doesn't change what people do. The teams getting real results have moved past names to sending based on what users do and when it matters to them. This guide breaks down five tiers of personalization, shows where the gains actually come from, and helps you figure out where to focus. No machine learning needed for the tiers that matter most.
By Kyle Seyler
February 05, 2026
© 2026 Courier. All rights reserved.