Novu

The <Inbox /> infrastructure for modern products

The notification platform that turns complex multi-channel delivery into a single <Inbox /> component. Built for developers, designed for growth, powered by open source.

Notifications brands count on

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

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

The Novu difference

  • Premier DX

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

    Premier DXLearn more
  • 100% flexible

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

    100% flexibleLearn more
  • Open source backed

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

    Open source backedLearn more

Notification building blocks provide unlimited capability

All your channels in one platform

  • 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.

Novu <Inbox />

Inbox
  • Your account is pending verification.

    [email protected] is pending verification, please verify your account to protect against fraud and abuse.

    Today at 7:41 AM
  • Joe requested to view Q4 2024 report.

    [email protected] requested view access to Q4 2024 report.

    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.

    [email protected] is pending verification, please verify your account to protect against fraud and abuse.

    Today at 7:41 AM
  • Joe requested to view Q4 2024 report.

    [email protected] requested view access to Q4 2024 report.

    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
Novu dark

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.

SEE IT LIVE

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: '[email protected]'
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.