Map SuprSend concepts to Courier
Workflows and Journeys
SuprSend workflows orchestrate notifications with four node types: trigger, function, branch, and delivery. Courier do the same with a visual builder and an API.
The important difference: journeys and templates are separate resources in Courier. A send node references a template by ID. Your product team changes what a notification says without opening the journey. Engineers change timing and conditions without touching copy.
Build journeys visually or define them through the .
Templates
SuprSend splits notification content into template groups, one template per channel. A Courier is a single resource holding content for every channel: email, SMS, push, chat, and inbox. uses drag-and-drop content blocks. JSON is the code-first path. Both support Handlebars-style personalization, channel-specific overrides, and . Your product team updates copy, layout, and branding in Design Studio without code or a deploy. Publish and it goes live immediately.Integrations
SuprSend vendors are Courier : the provider connections that deliver messages, such as SendGrid, Twilio, FCM, and Slack. Courier supports providers on every channel. Wire up multiple providers for the same channel type and Courier between them automatically. If your primary email provider goes down, traffic shifts to the backup with no code change and no manual step.Routing
Courier’ssingle replicates SuprSend’s smart channel routing. Courier tries channels in the order you specify and stops at the first success. The all method sends to every listed channel at once.
Set routing per send request or per template. Provider-level layers on top, so you get fallback at both the channel and provider layers.
Digests and batching
Courier’s works like SuprSend’s batch function. It collects matching events over a window you configure, then releases them as one payload for a single summary notification. Your template gets the full list of collected events, so you can render summaries across email, push, or in-app. For summaries that release on a fixed schedule the user controls, use the .Users and profiles
Courier store recipient data: email, phone, push tokens, and any custom properties. Profiles accept nested JSON, which suits structured data like subscription tiers, team roles, or feature flags. Create profiles ahead of time through the API, or inline at send time. Pass auser_id that doesn’t exist yet and Courier creates the profile.
Preferences
SuprSend’s preference system supports global channel opt-outs, category-level controls, and per-category overrides. Courier support the same hierarchy and enforce it at send time. You write no conditional logic. Courier also ships a you can deploy in minutes and embeddable for in-app preference centers. No custom UI required.In-app notifications
Courier is a real-time in-app notification center with drop-in components for , , , and . It runs on the same delivery pipeline as email, push, and SMS, so there’s no separate provider to configure. You get read/unread state, archiving, per-user history, , and .Tenants
work much the same on both platforms. You scope branding, preference defaults, and notification feeds to a customer organization. Pass atenant_id at send time and Courier applies that tenant’s branding and preferences. Branding lives on the Tenant resource rather than a separate object.
Why Courier
- Content and logic stay separate. Templates and journeys are independent. Your product team updates copy in Design Studio while engineers tune journey timing.
- Design Studio. Build email, SMS, push, and chat content with drag-and-drop blocks. Preview across channels, personalize with variables, and publish without deploying code.
- Routing you control. Priority-based fallback (
single) or broadcast to all channels (all). Configure multiple providers per channel for automatic failover at the provider level too. - Built-in in-app channel. Courier Inbox works without a third-party provider. Drop in a React, iOS, or Android component and deliver in-app notifications on the same pipeline as email and push.
- Hosted preferences out of the box. Ship a user-facing preference center with a single config, or embed React components in your app. No custom UI required.
- The providers you already use. Email, SMS, push, chat, webhooks, CDPs, and observability tools. Switch providers without changing your send code.
- Full delivery observability. track every message from API request to provider delivery, with a timeline, error details, and rendered content inspection.
Migrate step by step
1
Create your Courier workspace
and create a workspace. Courier gives you separate Test and Production with their own API keys, so you can migrate without touching live traffic.
2
Configure integrations
Go to Integrations in your Courier dashboard and connect the same providers you use as SuprSend vendors (SendGrid, Twilio, FCM, etc.). Each provider maps to a channel type (email, SMS, push, chat). Configure multiple providers per channel for .If you use SuprSend’s inbox, enable . No external provider needed.
3
Recreate templates
SuprSend template groups contain per-channel templates. In Courier, a single holds content for all channels:
- Create a new template for each notification type
- Add channel-specific content blocks (email body, SMS text, push title/body, etc.)
- Use
{{variable}}syntax for dynamic data. Both platforms use Handlebars-style variables - Publish the template to make it available for sending
4
Recreate workflows as journeys
Recreate SuprSend workflows that use delays, batching, or branching in . Build them visually or define them through the .For notification types that need no orchestration (no delays, no batching), skip journeys and send directly via the .
5
Migrate user data
Create Courier profiles with the same identifiers you use in SuprSend. Use the , or create them inline at send time.
6
Set up preferences
If you use SuprSend’s preference system, recreate your structure in Courier:
- Define that map to your SuprSend categories
- Configure default channel routing per topic
- Migrate user preference selections via the
7
Update your send calls
Replace SuprSend’s workflow trigger calls with Courier’s . A basic send looks like this:Courier applies routing, preferences, and failover from your template and workspace configuration. For multi-channel sends, set the This tries push first, then email, then SMS. The same pattern as SuprSend’s smart channel routing.
routing field:8
Test and cut over
- Send test messages in your Test environment and verify delivery in
- Validate that preferences, routing, and template rendering match your SuprSend setup
- Switch your production code to Courier’s Production API key
- Monitor and for delivery confirmation