Channels and providers
One API across email, SMS, push, in-app, and chat, with 70+ delivery provider integrations.
Notifly delivers over five channels through a single API. Each channel plugs into the delivery providers you already use — you configure provider credentials as integrations in the dashboard, and workflows route each step through the active integration for that channel.
Supported channels
| Channel | What it covers | Example providers |
|---|---|---|
| Transactional and product email | SendGrid, and about 20 email provider integrations | |
| SMS | Text messages | Twilio, and about 38 SMS provider integrations |
| Push | Mobile and web push | FCM, APNs, Expo, OneSignal, Pusher Beams, Web Push |
| Chat | Team-chat and messenger delivery | Slack, Discord, Microsoft Teams, Telegram, WhatsApp Business, Mattermost, and more |
| In-app | The real-time inbox inside your product | Built in — no external provider needed |
In total the platform ships 70+ provider integrations inherited from the Novu engine, all available on every plan including the free one. You connect your own provider credentials, so delivery is billed by those providers rather than marked up by Notifly.
Generic webhook providers
If your provider is not on the list, both push and chat include a generic webhook provider (push-webhook, chat-webhook) that posts the rendered notification to an endpoint you control.
Slack
The step-by-step guide to the Notifly Slack app (install, direct message versus channel, removal, data) is Slack app.
Slack is a chat provider you connect with your own Slack app, or by adding the Notifly Slack app with Add to Slack on the Slack integration page. The Slack integration guide covers its credentials, redirect URL and scopes, and Send Slack notifications from your app walks through the incoming-webhook and bot routes with Node and cURL samples. With the Notifly Slack app, a workflow triggered for the person who connected the workspace reaches them as a direct message from the Notifly bot; to post in a public channel as well, open the subscriber in the dashboard, go to its Credentials tab and add a Slack channel with the channel's ID to the Notifly Slack credentials, or create a slack_channel channel endpoint through the API.
Pairing Slack with another channel in one workflow: Mailgun Slack integration covers Mailgun's own Slack alerts and an email step plus a Slack chat step, and Firebase Slack integration covers Firebase's Crashlytics alerts and an FCM push step plus a Slack chat step.
Subscriber credentials
Push device tokens and chat webhook credentials are stored per subscriber, per provider. Set them over the API:
curl -X PUT https://api.notifly.io/v1/subscribers/<subscriber-id>/credentials \
-H "Authorization: ApiKey $NOTIFLY_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"providerId":"fcm","credentials":{"deviceTokens":["<device-token>"]}}'Credentials also appear in the subscriber drawer in the dashboard, so you can verify what a given user has registered.
Per-user preferences
Subscribers carry per-channel notification preferences, so users can opt out of individual channels without you writing any routing logic — the workflow engine respects preferences at delivery time.