Quickstart

Novu React Quickstart Guide

Create an account and learn how to start using Novu Inbox Notification in your application.

This guide walks you through integrating Novu’s Inbox into your React application for in-app notifications in real-time, from setup to triggering your first notification. By the end, you'll have a working notification inbox.

Create a React application

Create a new React app with Vite using the command below. Skip this step if you already have an existing project:

npm create vite@latest my-app -- --template react-ts

Install the required packages

Run the command below to install Novu React SDK, which provides React components for building notification UIs and React Router Dom:

npm install @novu/react react-router-dom

Create the Inbox component

In the src directory, create a components/notification-center.tsx file and use the <Inbox /> component, passing and :

src/components/notification-center.tsx
import React from 'react';
import { Inbox } from '@novu/react';
import { useNavigate } from 'react-router';
 
export function NotificationCenter() {
  const navigate = useNavigate();
 
  return (
    <Inbox
      applicationIdentifier="YOUR_APPLICATION_IDENTIFIER"
      subscriberId="YOUR_SUBSCRIBER_ID"
      routerPush={(path: string) => navigate(path)}
    />
  );
}

Sign in to get your own API keys

If you’re signed in to your Novu account, then the and are automatically entered in the code sample above. Otherwise, you can manually retrieve them:

  • applicationIdentifier – In the Novu dashboard, click API Keys, and then locate your unique Application Identifier.
  • subscriberId – This represents a user in your system (typically the user's ID in your database). For quick start purposes, an auto-generated subscriberId is provided for your Dashboard user.

Note: If you pass a subscriberId that does not exist yet, Novu will automatically create a new subscriber with that ID.

Set up React Router and add the Notification Center

Now you can set up React Router and add the NotificationCenter component to your app layout:

src/App.tsx
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import { NotificationCenter } from './components/notification-center';
 
function Layout({ children }: { children: React.ReactNode }) {
  return (
    <div>
      <nav>
        <NotificationCenter />
      </nav>
      {children}
    </div>
  );
}
 
function App() {
  return (
    <Router>
      <Layout>
        <Routes>
          <Route path="/" element={<Home />} />
          {/* Add your routes here */}
        </Routes>
      </Layout>
    </Router>
  );
}
 
export default App;

Run Your Application

Start your development server:

npm run dev

Once the application is running, a bell icon will appear in the navbar. Clicking it opens the notification inbox UI.

Currently, there are no notifications. Let’s trigger one!

Trigger your first notification

In this step, you'll create a simple workflow to send your first notification via the Inbox component. Follow these steps to set up and trigger a workflow from your Novu dashboard.

  1. Go to your Novu dashboard.

  2. In the sidebar, click Workflows.

  3. Click Create Workflow. Enter a name for your workflow (e.g., "Welcome Notification").

  4. Click Create Workflow to save it.

  5. Click the Add Step icon in the workflow editor and then select In-App as the step type.

  6. In the In-App template editor, enter the following:

    • Subject: "Welcome to Novu"
    • Body: "Hello, world! "
  7. Once you’ve added the subject and body, close the editor.

  8. Click Trigger.

  9. Click Test Workflow.

View the notification in your app

Go back to your React app, then click the bell icon.

You should see the notification you just sent from Novu! 🎉

Next steps

On this page