Subscribers

Learn what a subscriber is in Novu, how they’re identified, and how they fit into the notification system.

In Novu, a subscriber represents a user or system entity that is intended to receive notifications. Subscribers are central to Novu’s delivery model: workflows are triggered with one or more targeted subscribers, and all delivery logic, such as channel routing, preferences, and personalization is applied at the subscriber level.

How Novu identifies a subscriber

Each subscriber is uniquely identified in Novu by a subscriberId. This ID is defined by your application and serves as the reference point for all subscriber-related operations, including triggering workflows, applying preferences, and managing notification history.

Unlike attributes such as email addresses or phone numbers, which can be updated or be duplicated across users, the subscriberId must remain stable and unique within your system. It acts as the anchor that connects a subscriber’s identity to their profile, preferences, and all notification activity.

Why subscribers matter

Subscribers form the basis of targeted and personalized notifications in Novu. They allow you to:

  • Distinguish between different recipients even if they share the same contact details
  • Track individual delivery history, preferences, and notification state
  • Manage how messages are routed across channels like email, SMS, in-app through the Inbox component, push, or chat
  • Support multi-tenant systems or platform users where entity IDs must be scoped to the source system

At a high level, subscribers enable Novu to deliver the right message to the right person, in the right way regardless of how your system models users or customers.

Subscriber roles in workflows

When a workflow is triggered, subscribers act as the target audience. All personalization, message delivery, and channel decisions are applied per subscriber.

Even in workflows that send the same notification type, for example “Order confirmed”, each subscriber may receive a different version of the message based on their data, channel configuration, and preferences. This per-subscriber execution ensures flexibility and relevance at scale.

On this page

Edit this page on GitHub