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 whether sending messages, retrieving preferences, or managing user data.
Unlike email addresses or phone numbers, which may change or be shared across users, the subscriberId
must remain stable and unique within your system. It acts as the anchor that connects a subscriber’s profile, activity history, and delivery settings across all channels and workflows.
subscriberId
to ensure consistency across your systems.Subscriber metadata and profile structure
A subscriber’s profile holds all relevant data Novu uses to personalize, deliver, and manage notifications. These fields can power dynamic content in your templates, define conditional logic in workflows, and control which channels a subscriber can receive notifications through.
All metadata tied to a subscriber is centralized and accessible via API or dashboard. This structure ensures that when notifications are triggered, Novu references the most up-to-date context for delivery and personalization.
These data includes:
User data
Data stored in the subscriber object that you can easily access in your notification templates. This contains basic info such as email
, phone
, firstName
, locale
and others. This data is fixed and structured.
Custom data
Apart from the above fixed structured user data, any unstructured custom data such as user's address
, membershipLevel
, preferredTopics
, or companySize
can also be stored in the data
field using key-value pairs.
Channel specific credentials
To deliver messages through push or chat-based channels, Novu also supports storing delivery credentials on the subscriber profile:
deviceTokens
: Used to target mobile devices via push notifications.webhookUrl
: Used by chat providers such as, Slack, Discord to reach the subscriber.
These fields ensure Novu can deliver messages reliably to all supported destinations, even when the channel requires platform-specific configuration.
Subscriber creation in Novu
Before you can send notifications, a subscriber must exist in Novu. Asides from manually creating a subscriber via the Novu dashboard, Novu supports multiple approaches to subscriber creation depending on your application’s architecture and user lifecycle.
Just in time
Novu allows you to create a subscriber automatically at the moment a notification is triggered. If the subscriber doesn't already exist, Novu uses the information provided in the workflow trigger to create the subscriber on the fly. If the subscriber exists, Novu updates the stored data with the latest values.
This approach is useful when:
- Your system does not store subscriber profiles ahead of time.
- Notifications are sent during real-time events like sign-ups or transactions.
- You want to keep the creation and delivery logic tightly coupled.
Ahead of trigger
Alternatively, you can create and store subscriber profiles ahead of time — typically during onboarding, registration, or data sync events. This approach allows you to manage subscriber preferences, enrich profiles, and inspect delivery readiness before any notification is triggered.
This is recommended when:
- You want to decouple user creation from notification logic.
- You rely on persistent user data or prefer strict validation before delivery.
- You plan to use advanced segmentation or preference-based delivery.
Bulk Import
For scenarios like data migration, syncing large lists, or preloading subscribers, Novu supports bulk creation. This is especially useful when integrating with existing systems or importing subscriber data from external sources.
Where to manage subscriber data
Subscriber data in Novu can be managed from the Novu dashboard and the API. Both offer full access to view, update, and organize subscriber profiles, but they serve different use cases depending on your workflow.
Dashboard
The Novu dashboard provides a visual interface for exploring and editing subscriber data. It’s useful for:
- Searching and filtering subscribers by ID, email, or other attributes
- Inspecting user profiles, including structured fields, custom data, and channel credentials
- Performing manual updates or troubleshooting delivery issues
This is ideal for non technical team members responsible for managing subscribers or teams that want to audit or manage subscriber data without relying on code.
API
For programmatic control, the Novu API offers endpoints to create, update, delete, and retrieve subscriber records at scale. It supports:
- Automated onboarding or sync processes
- Bulk operations such as imports or exports
- Integration with external systems like CRMs or identity platforms
Use the API when managing subscribers is part of your backend workflows or when changes need to happen dynamically based on user actions.
Subscriber preferences and personalization
Novu allows each subscriber to define how they want to receive notifications. These preferences influence both the delivery channels and the types of messages a subscriber will receive.
Global preferences
Subscribers can configure preferences that apply across all workflows. These include:
- Opting in or out of specific channels, for example, email, SMS, push, or in-app
- Disabling notifications altogether
These global settings act as a default and are respected unless explicitly overridden in specific workflows.
Subscriber workflow specific preferences
In some cases, a subscriber may want to receive certain notifications but only through specific channels. Novu supports fine-grained overrides at the workflow level. This allows you to:
- Adjust channel preferences per notification type
- Honor granular user choices while maintaining global defaults
Template personalization
Subscriber data, both structured fields such as firstName
, email
and custom data can be used to personalize templates. This enables dynamic content such as:
- Greeting users by name
- Including location-based content
- Adjusting language or tone based on locale or membership level
Subscriber preferences and metadata personalization ensure that each subscriber receives relevant, well-targeted messages through the channels they care about.