Docs / Channels

Supported Channels

Six channels, one API. Dispatch routes to the right channel based on user preferences, availability, and your fallback chain.

Multi-provider failover

Define a channel priority array: ["push", "sms", "email"]. If push delivery fails (token expired), Dispatch automatically tries SMS. If SMS fails (carrier down), it falls back to email. All attempts are logged.

Email

Postal (self-hosted)

Latency: < 500ms Live

SMTP via your own Postal instance. No per-email fees. Full DKIM/SPF/DMARC control. HTML templates with Handlebars.

HTML + plain text fallbackAttachments up to 25MBOpen/click trackingBounce handlingCustom sender domains

SMS

Pushly gateway

Latency: < 2s Live

Direct carrier routes in West Africa. Orange, MTN, Moov, Wave. No Twilio middleman — lower cost, higher delivery rates in UEMOA.

UEMOA carrier routesSender ID customizationUnicode supportDelivery receiptsBulk send (up to 10K/batch)

Push

FCM + APNs

Latency: < 1s Live

Firebase for Android, Apple Push for iOS. Rich notifications with images, action buttons, and deep links.

Rich media (images, buttons)Deep linkingSilent push for data syncTopic-based broadcastToken management

WhatsApp

WhatsApp Business API

Latency: < 3s Live

Template-based messaging via the official Business API. Pre-approved templates for transactional messages.

Template messagesMedia messagesInteractive buttonsRead receiptsSession messaging (24h window)

Webhook

HTTP POST

Latency: < 200ms Live

Send notifications to any HTTP endpoint. Perfect for Slack, Discord, or internal systems. HMAC-signed payloads.

HMAC-SHA256 signaturesConfigurable retry (3x)Custom headersJSON or form-encodedResponse logging

In-App

REST + WebSocket

Latency: < 100ms Live

Notification inbox for your app. REST API for history, WebSocket for real-time delivery. Read/unread tracking built in.

WebSocket real-timeRead/unread statePaginationMark all readCategory filtering