Channels
A channel is a delivery method for a notification. A campaign picks one or more channels; the SDK call site never references them. Each channel has its own configuration and its own template — but the same orchestrator output drives all channels of a single campaign.TL;DR
- Notification Center — in-app widget; new messages appear instantly, no polling on your side.
- Web push — browser notifications that reach the device even when your product’s tab is closed.
- Email — transactional and marketing email, with sender-domain authentication and deliverability monitoring.
- Channel choice is per campaign, not per call. Adding email to an existing campaign is a dashboard change.
Notification Center (in-app)
The Notification Center is the in-app widget channel — a bell icon with an unread badge and a dropdown list of notifications. It’s available through three SDKs that wrap the same widget:React
NotifizzInbox component.Angular
<notifizz-bell> standalone component.Vanilla JS
createNotifizz() API.What it provides
- Default UI — bell + dropdown out of the box, zero styling required.
- Custom bell — replace the default with your own component while Notifizz manages data and state.
- Headless mode — skip the bell entirely, build a fully bespoke notification UI from the SDK’s state stream.
- Real-time delivery — new messages appear the moment they’re written.
The widget holds a real-time connection scoped to the signed-in user: new messages reach the dropdown as they are written, with no polling. The dashboard activity log uses SSE for a different concern — don’t confuse the two.
State model
All NC SDKs expose the sameNotifizzState object:
Subscribe to changes (e.g. update the page title with the unread count) — see Notification Center overview.
Web push
Web push delivers a system notification to the user’s device even when your product’s tab is closed. Notifizz sends it under your own identity — a per-environment VAPID key pair — straight to the browsers’ push services, with no third-party push provider in the loop.Setup
- Environment key — generate the key pair in Settings → Web push. The public half is served to your frontend automatically; the private half never leaves the Notifizz backend.
- Service worker — serve
notifizz-sw.jsat the root of your application’s origin. It’s a static file, downloadable from the same settings page. - Opt-in — the Notification Center widget shows a dismissible soft prompt, or you drive the opt-in from your own button with the SDK. The native browser dialog only ever fires on the user’s explicit click.
notificationConfig (a stored email template), the orchestrator builds the recipient list, the email channel renders the template and dispatches.
Customer-facing setup
- Sender identity — authenticate a sending domain (DKIM / return-path / DMARC) in Settings → Email → Domains, then add the From addresses you send from.
- Template editor — the same dashboard editor that powers NC templates, with email-specific blocks (subject, preheader, …).
- Tracking — open / click events report back through the sending provider’s delivery webhooks and feed the campaign’s stats funnel. Nothing to configure on your side.
- Deliverability — bounces and complaints are consumed continuously, one-click unsubscribe is injected on promotional sends, and the reputation of your domain is watched per mailbox provider. See tracking domain and Gmail Postmaster.
One campaign, multiple channels
A single campaign can pick more than onenotificationConfig step — for example, an in-app NC message and an email. The orchestrator resolves recipients once; each channel renders its own template against the same recipient list. There is no duplicate orchestration, no double counting in stats.
Future channels
SMS is on the roadmap. The shape stays the same: a campaign step picks anotificationConfig whose channelType determines the dispatcher. Adding a new channel to an existing campaign will be a dashboard change.
FAQ
Can I send the same campaign to NC and email at the same time?
Can I send the same campaign to NC and email at the same time?
Yes. Add an email step to the campaign alongside the NC step. The orchestrator resolves recipients once; both channels deliver to that list with their own templates.
My email template renders fine in preview but never lands in inboxes.
My email template renders fine in preview but never lands in inboxes.
Check the campaign’s send scope first: a real send needs a
Live campaign triggered from production. In Review, email only reaches your sandbox testers. If the scope is right, the cause is usually the sending domain — an unverified or degraded DKIM / return-path record fails at the provider, with the reason visible in delivery history.Can I bring my own email provider (SendGrid, Postmark, …)?
Can I bring my own email provider (SendGrid, Postmark, …)?
Not at launch. The built-in dispatcher uses Notifizz’s provider so deliverability is handled for you. BYO-provider is on the longer-term roadmap.
Where do open / click events show up?
Where do open / click events show up?
On each delivery’s stats funnel and on the campaign’s aggregated metrics. The widget reports NC
read / opened / clicked directly via POST /v1/notification/event/register; email reports the same shape via inbound webhooks. See delivery history & stats.Why isn't `client.send(...)` an option anymore?
Why isn't `client.send(...)` an option anymore?
client.send() and the direct NC track route were removed — they let the call site bypass the orchestrator entirely, which contradicts the event-driven model. Channels are a campaign decision now, not a call-site one.What's the latency from `track()` to the bell badge updating?
What's the latency from `track()` to the bell badge updating?
Acceptance is millisecond-fast. End-to-end depends on orchestrator complexity. Simple campaigns (no enricher) deliver in under a second; campaigns with cold enrichers can take a few seconds. The widget receives the inbox write the moment it commits.
See also
Notification Center overview
Lifecycle, state model, custom bell, headless mode.
How Notifizz works
The event-driven pipeline, end to end.
Frontend quickstart
Render the NC widget in five minutes.
Authentication
How users authenticate to the widget.
Web push
Setup, opt-in, and the browser subscription model.
Delivery history & stats
Per-channel funnel, open and click tracking.