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?
1
Audit your current system
List every notification type, channel, template, and trigger point in your codebase. Identify which map to Novu workflows.
2
Set up Novu
Create a Novu account or self-host Novu. Connect your existing ESP, SMS, and push providers.
3
Rebuild workflows
Create Novu workflows for each notification type. Use delay, digest, and step conditions to replicate your existing logic.
4
Replace the in-app feed
Remove custom feed UI and add the Novu Inbox. Use headless hooks if you need a fully custom design.
5
Migrate triggers incrementally
Replace in-house notification calls one workflow at a time. Use Novu’s activity feed to validate delivery during the transition.
6
Decommission legacy code
Remove provider SDKs, queue workers, and feed infrastructure once all notification types run through Novu.
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.