The infrastructure for modern products
The notification platform that turns complex multi-channel delivery into a single
Notifications brands count on
Ensuring seamless notifications from business to users, with zero hassle.
[- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \ \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \ \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \ \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
Just copy and ship
Add a powerful notification inbox to your app with 6 lines of code. It's that simple.
Next.js
RemixReact
1import React from 'react';
2import { Inbox } from '@novu/nextjs';
3
4export function NotificationInbox() {
5 return (
6 <Inbox />
7 );
8}
Inbox
Mark all as read
Archive all
Archive read
Unread & read
Unread
Archived
All6
Projects3
Announcements3
Your account is pending verification.
steve@acme.cois pending verification, please verify your account to protect against fraud and abuse.
Verify now
Today at 7:41 AM
Joe requested to view Q4 2024 report.
joe@acme.corequested view access to Q4 2024 report.
Verify nowDeny
Last Friday at 8:40 PM
2 new comments from Radek and Dima.
You have 2 new comments on the Acme figma file.
Last Monday at 13:45 PM
Your account is pending verification.
steve@acme.cois pending verification, please verify your account to protect against fraud and abuse.
Verify now
Today at 7:41 AM
Joe requested to view Q4 2024 report.
joe@acme.corequested view access to Q4 2024 report.
Verify nowDeny
Last Friday at 8:40 PM
2 new comments from Radek and Dima.
You have 2 new comments on the Acme figma file.
Last Monday at 13:45 PM
Previous
Novu dark
Novu Light
Notion dark
Notion light
Linear Dark
Linear Light
Next
- 1
- 2
- 3
- 4
- 5
- 6
batteries included
Start with a component, scale with a platform. Everything you need to build a world-class notification system.
User Preferences
Allow users to customize their preferences using the built-in component.
Snooze
Let users Snooze a message to when they will need it most.
Real-time
Enable real-time notification delivery in your dashboard with zero setup.
Workflow Orchestration
Unified API for multi-channel notification workflows.
Digest Engine
Combine multiple notifications in to a single Email or SMS message.
Block Based Email Editor
Create beautiful customizable emails with our block based editor.
All your channels in one platform
True omnichannel notifications are just a few clicks away
In-App
Display real-time, contextual notifications within your app using customizable components.
Send targeted emails for confirmations, reports, and updates to ensure clear communication.
Push
Deliver instant notifications to users' devices, ensuring real-time engagement and immediate updates.
SMS
Send reliable text messages for authentication and alerts, even without internet access.
Chat
Engage users through instant messaging apps and platforms, enhancing communication and support.
Custom
Create tailored notification channels to meet your specific needs and integrate seamlessly.
Beautiful Emails, not HTML Tables
Create dynamic emails with our block based content editor powered by React Email.
One-Time PasswordMagic LinkReviewSecurity Alert
Configure TemplateEditor
SubjectSecure Login Link β Sign In
Log in to your account
Click the button below to securely log in. This magic link will expire in 20 minutes.
LOG IN
| Confirming this request will securely log you in using hiro@magic.link |
| This login was requested using Chrome on MacOS at 08:02:45 PDT on Dec 09, 2021 Not you? Report a suspicious login |
Part of your Stack
Integrate with the tools you love. From frameworks to delivery providers, like Twilio, Resend, React Email, Clerk, Stripe and more.
1import { workflow } from '@novu/framework';
2import { z } from 'zod';
3import { render } from '@react-email/components';
4
5workflow('weekly-comments', async ({ step }) => {
6 const digest = await step.digest('collect-events', () => ({
7 cron: 'weekly'
8 }));
9
10 await step.email('email', async () => {
11 const { data } = await supabase.from('posts').select('*');
12
13 return {
14 subject: 'React based email',
15 body: render(<WeeklyDigestEmail comments={digest.events} posts={data} />)
16 }
17 ), {
18 skip: () => !digest.events.length,
19 });
20}, {
21 payloadSchema: z.object({ userName: z.string() }),
22});
23
Start Simple, Scale to Code
Begin with our intuitive UI, break into code when you need run-time control, react email or local data access. You choose when to level up, the ultimate escape hatch.
The power of open source community
- 36k GitHub stars
- 400+ contributors
Don't just take our word for it...
Explore what developers and non-technical users say about why they're fans of our open-source notifications framework
Novu is so dope!\ \ \ \ Lev Lazinskiy@levlaz
The best solution for notifications.\ \ \ \ Csaba Kissi@csaba_kissi
Novu is so dope!\ \ \ \ Lev Lazinskiy@levlaz
The best solution for notifications.\ \ \ \ Csaba Kissi@csaba_kissi
Novu is so dope!\ \ \ \ Lev Lazinskiy@levlaz
Free to start, ready to scale
10K events/month free forever. From weekend projects to enterprise scale, we've got you covered.
This site uses cookies to measure and improve your experience.
Manage
DeclineAccept