Notifications
The Notifications block (notify) dispatches messages across every channel your product
needs, behind one API. You send a template name and a recipient; the block works out which
provider to use, whether the recipient wants to hear from you on that channel, and whether
you have already sent this exact message.
Channels
Section titled “Channels”Email, SMS, voice, push (APNs, FCM, web), WhatsApp, Telegram, Signal, in-app and webhook — all through pluggable providers. A provider is a channel adapter behind a one-method interface, so adding one is roughly fifty lines plus a descriptor rather than a new integration project.
Three layers
Section titled “Three layers” your call ──▶ Gateway ──▶ Router ──▶ Provider ──▶ the channel │ │ │ └── per-tenant rules pick the provider: │ country-based SMS routing, primary + │ fallback chains, per-platform push │ └── resolves user → recipients from their preferences, enforces suppression, idempotency and rate limitsThe gateway layer is the part that saves the most work. Given a user rather than an address, it resolves their preferred channel and contact details from stored preferences — so callers do not each carry a copy of “does this person want SMS or email”.
- Usage — sending, the in-app inbox, lists and templates
- Operations — provider configuration, auth, and what to watch