Preferences
Learn how to manage subscriber preferences in Novu.
Novu provides a way to store subscriber preferences. This allows subscribers, your users, to specify and manage their preferences and customize their notifications experience.
Levels of preferences:
- Workflow channel preferences
- Subscriber channel preferences per workflow
- Subscriber global preferences
Workflow channel preferences
Each workflow has its own channel preferences. By default, all channel preferences are enabled. If disabled, the subscriber will not receive notifications for that channel step.
Steps to manage workflow channel preferences:
- Go to the Workflows page in Novu dashboard
- Click the workflow you want to manage channel preferences for
- A node-based editor will appear. On the right side of the editor, click the
Configure channel preferences
option - Click on the All Channels checkbox to enable or disable all channels for the workflow
- You will be able to change the preferences for only those steps which are present in the workflow. Non existing channel steps will be disabled.
- The
Mark as critical
toggle will make this workflow critical. Read more about critical workflows
If a workflow has only in-app
and email
steps, then it will have only in-app
and email
preferences.
Critical workflows
In some cases, you don't want the subscriber to be able to unsubscribe from mandatory notifications such as Account Verification, Password Reset, etc...
In those cases you can mark a workflow as critical
in workflow channel preferences. Critical workflow are not displayed in the subscriber preferences and hence subscriber will not be able to change the preferences for that workflow.
Subscriber global preferences
Subscribers can set global channel preferences, which override individual settings. For instance, if there are 10 workflows, and a subscriber wants to disable SMS notifications for all of them, they can do so with via global preferences.
Subscriber channel preferences per workflow
For each workflow, subscriber has its own channel preferences. Subscriber can manage these preferences from the <Inbox /> Preferences view.
Priority of preferences
Since, there are three type of preferences, there is a priority of preferences. The priority is as follows:
Workflow channel preferences > Subscriber global preferences > Subscriber channel preferences per workflow
Examples:
- If
email
channel is disabled in workflow channel preferences then it global and subscriber channel preferences will be ignored and subscriber will not receive email notifications from this workflow. - If
in-app
channel is enabled in the workflow channel preferences but workflow is marked as critical, then subscriber not be able to change the preferences for this workflow and will always receive in-app notifications from this workflow. - If
chat
is enabled andemail
is enabled in the workflow,chat
is enabled andemail
is disabled in the subscriber global preferences, then subscriber will receive only chat notifications from this workflow
Subscriber preferences APIs
Subscriber preferences can be retrieved and updated using following APIs: