Skip to main content
Replace a custom in-house notification system with Novu to eliminate maintenance of delivery plumbing, provider integrations, and in-app feed infrastructure. Novu provides workflows, multi-channel delivery, observability, and a drop-in Inbox component.

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
Novu provides all of these out of the box as open-source infrastructure. Compare the build-vs-buy analysis on Novu vs building in-house.

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 subscriberId values. 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.