Why replace an in-house notification system?
Building notifications in-house typically requires maintaining:- Provider integrations for email, SMS, and push
- A real-time in-app feed with unread counts and WebSocket connections
- User preference management
- Retry logic, digests, and multi-step delivery rules
- Delivery logs and debugging tools
How do I plan the migration?
Audit your current system
List every notification type, channel, template, and trigger point in your codebase. Identify which map to Novu workflows.
Set up Novu
Create a Novu account or self-host Novu. Connect your existing ESP, SMS, and push providers.
Rebuild workflows
Create Novu workflows for each notification type. Use delay, digest, and step conditions to replicate your existing logic.
Replace the in-app feed
Remove custom feed UI and add the Novu Inbox. Use headless hooks if you need a fully custom design.
Migrate triggers incrementally
Replace in-house notification calls one workflow at a time. Use Novu’s activity feed to validate delivery during the transition.
What about data migration?
- Users: Map your user IDs to Novu
subscriberIdvalues. Pass contact details inline when triggering workflows for lazy migration. - Templates: Rebuild templates in Novu workflow steps. For code-based templates, use the Novu Framework with React Email or MJML.
- Preferences: Import via the preferences API or let users reconfigure through the Inbox.