Notifications

Learn about the Novu notifications lifecycle and the key entities that make up a notification.

In Novu, notifications are the core building blocks of your product’s communication experience. When your user receives a message via an in-app alert, an email, or a push notification, what they’re seeing is the final output of a notification.

Notifications represent the complete journey of a message triggered by an event in your application and delivered to a specific user across one or more channels. They encapsulate all the execution logic and delivery metadata in a single traceable unit.

Notification lifecycle

A notification doesn't exist in isolation, it’s the result of a sequence of interconnected entities working together. Here’s how it works in Novu:

Notification lifecycle

Event

Something meaningful happens in your application, such as a user signing up, a password reset being requested, or a comment being posted. You emit this event to Novu using the Event Trigger API.

Each event contains:

  • A name that maps to a specific workflow (user_signed_up)
  • A payload with dynamic data
  • One or more subscribers
  • Optional overrides or metadata

This is how your application tells Novu, “It’s time to send something.”

Workflow

Novu matches the incoming event to a predefined workflow. This workflow is your logic for determining:

  • What channels to use (email, in-app, SMS, etc.)
  • What message templates to render
  • When and how messages should be sent

The workflow is where message personalization, conditional logic, and multi-channel orchestration happens.

Want to learn more?

Notification

Once the workflow starts executing, Novu creates a notification for each subscriber involved. This notification acts as the central entity tracking everything that happens—every job, every message, every delivery status. It includes:

  • The subscriber details
  • The workflow run and template used
  • The event payload
  • Jobs executed
  • Messages generated
  • Status updates and errors

Think of it as the container for all activity triggered by a single event for a single user.

Message

Each step in the workflow results in one or more messages. These are the actual pieces of content sent to users' emails, push notifications, SMS, and in-app alerts.

Messages are live entities, tracked in real-time, with full visibility into:

  • Rendering logic
  • Channel used
  • Delivery status
  • Provider responses or errors
Each message has its own ID and status, and you can query it via the Message API.

Notification structure

A notification in Novu is more than just a message, it’s a full record of what happened from the moment an event was triggered to when one or more messages were delivered or failed to deliver.

Each notification encapsulates a set of properties that describe its creation, context, execution, and result. These properties are essential for debugging, analytics, and tracking user communications.

Notification properties

PropertyDescription
transactionIdA unique identifier for this specific notification execution run. Useful for tracing across APIs and logs.
templateThe workflow (template) that was executed. Defines the steps and channels used.
subscriberThe user who received the notification. Includes subscriber ID and metadata.
payloadDynamic data passed in from the event, used to render personalized message content.
jobsA list of steps (jobs) that were executed as part of the workflow. Each job corresponds to a workflow action, for example, send email or run delay.
messagesThe individual messages generated for each channel. Contains delivery status, content, and provider response.
statusThe current execution state of the notification (pending, completed, failed, and so on).

These fields are accessible via the Notifications API and are also displayed in the Novu dashboard’s Activity Feed for visual traceability.

On this page