Novu

Robust and flexible notification building blocks

The open-source notification infrastructure for in-app, email, push, chat, and push.

Built for teams, loved by developers...

Design powerful, flexible, and fully extensible notification workflows that deliver rich notifications to your end users via any channel.

...and Product teams

Unify content, messaging, and experience across all notification channels. Seamlessly manage content without ever involving developers.

Captivating end-user notifications

Build and deliver rich, highly customized notifications to your end users when and where you want to, all based on their preferences.

Notifications brands count on

Ensuring seamless notifications from business to users, with zero hassle.

  • Salad
  • MongoDB
  • Mothership
  • Capgemini
  • Bask
  • Roche
  • Unity
  • Siemens
  • Teoco
  • Axio HQ
  • Runn
  • Allstar

The Novu difference

  • Premier DX

    Simple integrations with real-time data access and protections power critical notifications.

  • 100% flexible

    Build workflows in the Ul, extend with code, and embed customizable ‹Inbox /> components.

  • Open source backed

    Community driven and commercially-backed notifications innovation that never locks you in.

Notification building blocks provide unlimited capability

All your channels in one platform

True omnichannel notifications are just a few clicks away

  • InApp/Inbox

    InApp/Inbox

    Display real-time, contextual notifications within your app using customizable components.

  • Email

    Email

    Send targeted emails for confirmations, reports, and updates to ensure clear communication.

  • Push

    Push

    Deliver instant notifications to users' devices, ensuring real-time engagement and immediate updates.

  • SMS

    SMS

    Send reliable text messages for authentication and alerts, even without internet access.

  • Chat

    Chat

    Engage users through instant messaging apps and platforms, enhancing communication and support.

  • Custom

    Custom

    Create tailored notification channels to meet your specific needs and integrate seamlessly.

and literally anything else...

Notification Control Center

User's avatar
  • 4 Sep 2024
  • 2 Sep 2024
  • 2 Sep 2024
  • 31 Aug 2024
  • 24 Aug 2024
  • 21 Aug 2024
  • 17 Aug 2024
  • 16 Aug 2024
  • 11 Aug 2024
  • 11 Aug 2024
  • 3 Sep 2024
  • 29 Aug 2024
  • 27 Aug 2024
  • 1 Sep 2024
  • 31 Aug 2024
  • 4 Sep 2024
  • 2 Sep 2024
  • 1 Sep 2024
  • 28 Aug 2024
  • 25 Aug 2024
  • Default
  • Notion dark
  • Notion light
  • Linear Dark
  • Linear Light

Add In-App Notifications with the most customizable <Inbox/>

Enable in-app notifications in your app or website with a pre-built and customizable components, available in popular frameworks.

Learn more

Complete control and flexibility

Optionally extend Novu with the Novu Framework for all the power of home-grown notifications infrastructure with complete flexibility to implement any workflow imaginable.

1import { workflow, CronExpression } from '@novu/framework';
2import { z } from 'zod';
3import { render } from '@react-email/components';
4
5const weeklyComments = workflow('weekly-comments', async (event) => {
6  await event.step.inApp('inbox-notification', async () => ({
7    subject: `**${event.payload.userName}** commented in project`,
8    body: event.payload.comment,
9  }));
10
11  const digest = await event.step.digest('digest-comments', (controls) => ({
12    cron: controls.schedule
13  }), { controlSchema: z.object({ schedule: z.nativeEnum(CronExpression) }) });
14
15  await event.step.email('digest-email', async (controls) => ({
16    subject: controls.subject,
17    body: render(<WeeklyDigestEmail {...controls} events={digest.events} />)
18  }), {
19    skip: () => !digest.events.length,
20    controlSchema: z.object({
21      subject: z.string().default('Hi {{subscriber.firstName}} - Acme Comments'),
22      openAiModel: z.enum(['gpt-3.5-turbo', 'gpt-4o']).default('gpt-4o'),
23      aiPrompt: z.string().default('Produce a concise comment digest'),
24    })
25  });
26}, { payloadSchema: z.object({ userName: z.string(), comment: z.string() }) });
27
28await weeklyComments.trigger({
29  payload: { userName: 'John Doe', comment: 'Are you free to give me a call?' },
30  to: 'jane@acme.com'
31});

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

You're five minutes away from your first Novu-powered notification

Create a free account, send your first notification, all before your coffee gets cold... no credit card required.