Building notifications means integrating email, push, SMS, in-app, and chat — each with different APIs and delivery logic. Novu unifies all channels into one API with a visual workflow editor.
What Novu Gives You for Free
- 30,000 events/month on free tier
- Multi-channel — email, SMS, push, in-app, chat
- Workflow editor — visual drag-and-drop notification flows
- Digest — batch notifications ("You have 5 new messages" instead of 5 emails)
- Preferences — per-user channel preferences
- In-app inbox — drop-in notification center component
- Content management — Handlebars templates
- Self-hostable — Docker Compose
Quick Start
npm install @novu/node
import { Novu } from '@novu/node';
const novu = new Novu(process.env.NOVU_API_KEY!);
await novu.trigger('welcome-workflow', {
to: {
subscriberId: 'user_123',
email: 'user@example.com',
phone: '+1234567890'
},
payload: {
name: 'Alice',
loginUrl: 'https://app.com/login'
}
});
One trigger sends email + push + in-app based on your workflow.
Workflow (Visual Editor)
Trigger → Delay (5 min) → Email
→ In-App notification
→ If not opened after 24h → Push notification
→ If still not opened → SMS
In-App Notification Center
import { NovuProvider, PopoverNotificationCenter, NotificationBell } from '@novu/notification-center';
function App() {
return (
<NovuProvider subscriberId="user_123" applicationIdentifier="YOUR_APP_ID">
<PopoverNotificationCenter>
{({ unseenCount }) => <NotificationBell unseenCount={unseenCount} />}
</PopoverNotificationCenter>
</NovuProvider>
);
}
Drop-in notification bell with real-time updates.
Digest (Batch Notifications)
// Instead of 10 separate emails for 10 comments:
// Novu sends ONE email: "You have 10 new comments"
await novu.trigger('comment-notification', {
to: { subscriberId: 'user_123' },
payload: { commentAuthor: 'Bob', postTitle: 'My Post' }
});
// Novu automatically batches based on your digest settings
User Preferences
// Users can control their notification preferences:
await novu.subscribers.updatePreference('user_123', 'marketing-workflow', {
channel: { email: false, inApp: true } // No marketing emails, only in-app
});
Novu vs OneSignal vs Customer.io vs Firebase
| Feature | Novu | OneSignal | Customer.io | Firebase |
|---|---|---|---|---|
| Channels | All | Push + email | Email + SMS | Push only |
| Free tier | 30K events | Unlimited push | None | Free |
| Self-hosted | Yes | No | No | No |
| Workflow editor | Visual | Basic | Visual | None |
| In-app inbox | Built-in | None | None | None |
| Digest | Built-in | None | Built-in | None |
| Open source | Yes | No | No | No |
The Verdict
Novu is the unified notification layer your app needs. One API, all channels, visual workflows, and a drop-in inbox component. Stop maintaining separate integrations for email, push, SMS, and in-app.
Need help building production web scrapers or data pipelines? I build custom solutions. Reach out: spinov001@gmail.com
Check out my awesome-web-scraping collection — 400+ tools for extracting web data.
Top comments (0)