Novu — Open-Source Notification Infrastructure
Unified API for in-app, email, SMS, push, and chat notifications. React components included. 38K+ GitHub stars.
What it is
Novu is an open-source notification infrastructure platform that provides a unified API for sending notifications across email, SMS, push, in-app, and chat channels. It includes a visual workflow editor for designing notification flows, subscriber management, and a pre-built notification center component you can embed in your app.
It targets developers building applications that need multi-channel notifications without managing separate integrations for each channel.
How it saves time or tokens
Novu replaces the patchwork of email services, SMS gateways, and push notification providers with a single API. Instead of writing separate integration code for SendGrid, Twilio, Firebase, and Slack, you define notification workflows once and Novu routes them to the right channel. For AI applications, this means you can notify users about model completions, alerts, or reports through their preferred channel without building channel-specific logic.
How to use
- Self-host with Docker or use the cloud:
git clone https://github.com/novuhq/novu.git
cd novu
docker compose up
- Install the SDK and trigger a notification:
import { Novu } from '@novu/node';
const novu = new Novu('your-api-key');
await novu.trigger('ai-model-complete', {
to: { subscriberId: 'user-123' },
payload: {
modelName: 'gpt-4o',
status: 'completed',
resultUrl: 'https://app.example.com/results/456'
}
});
- Design notification workflows in the visual editor at your Novu dashboard.
Example
import { Novu } from '@novu/node';
const novu = new Novu('your-api-key');
// Notify user when AI processing is complete
async function notifyModelComplete(userId: string, result: object) {
await novu.trigger('model-result', {
to: { subscriberId: userId },
payload: {
title: 'Your AI analysis is ready',
summary: result.summary,
link: `https://app.example.com/results/${result.id}`,
processingTime: result.duration
}
});
}
// The workflow in Novu can route this to:
// - In-app notification (always)
// - Email (if user has email preference)
// - Slack (if workspace is connected)
Related on TokRepo
- AI tools for automation -- Automation and workflow tools
- AI tools for self-hosted -- Self-hostable infrastructure
Common pitfalls
- Self-hosting Novu requires MongoDB, Redis, and several microservices. Ensure your server has at least 4GB RAM. For small projects, the cloud version may be simpler.
- Each notification channel requires its own provider credentials (SendGrid API key, Twilio SID, etc.). Set up providers before designing workflows.
- Notification templates use Handlebars syntax. Complex conditional logic in templates can become hard to maintain. Keep templates simple and move logic to your application code.
Frequently Asked Questions
Novu supports email, SMS, push notifications (mobile and web), in-app notifications, and chat platforms (Slack, Discord, Microsoft Teams). Each channel can have multiple providers configured -- for example, you can use SendGrid for transactional emails and Amazon SES for bulk emails.
Yes. Novu is open-source and designed for self-hosting. The Docker Compose setup includes all required services (API, worker, web dashboard, MongoDB, Redis). Self-hosting gives you full control over notification data and infrastructure.
Yes. Novu provides a pre-built, embeddable notification center component for React, Vue, Angular, and vanilla JavaScript. It includes a bell icon, notification list, read/unread states, and real-time updates. You can customize its appearance with CSS.
Novu includes a preference management system where subscribers can choose which channels they want to receive notifications on. You can set default preferences per workflow, and subscribers can override them. This reduces notification fatigue and improves user experience.
The open-source version is free for self-hosting with no limits on notifications or subscribers. The cloud version has a free tier with limited events per month and paid tiers for higher volumes. Check the Novu website for current pricing details.
Citations (3)
- Novu GitHub Repository— Novu is an open-source notification infrastructure platform
- Novu Documentation— Novu provides unified API for email, SMS, push, in-app, and chat notifications
- Novu Blog— Multi-channel notification systems improve user engagement
Related on TokRepo
Source & Thanks
Discussion
Related Assets
Cucumber.js — BDD Testing with Plain Language Scenarios
Cucumber.js is a JavaScript implementation of Cucumber that runs automated tests written in Gherkin plain language.
WireMock — Flexible API Mocking for Java and Beyond
WireMock is an HTTP mock server for stubbing and verifying API calls in integration tests and development.
Google Benchmark — Microbenchmark Library for C++
Google Benchmark is a library for measuring and reporting the performance of C++ code with statistical rigor.