docs/guides/use-cases/notification-preferences.mdx
Let subscribers control how they receive notifications using Novu's built-in preference management. The Inbox component includes a preferences UI, and the REST API lets you read and update preferences programmatically.
Each subscriber has preferences at two levels:
When you trigger a workflow, Novu checks preferences before delivering each channel step.
The Novu Inbox includes a built-in preferences modal. Enable it in your Inbox configuration:
import { Inbox } from '@novu/react';
<Inbox
applicationIdentifier="YOUR_APPLICATION_IDENTIFIER"
subscriberId="YOUR_SUBSCRIBER_ID"
/>
See Inbox preferences configuration for customization options.
Use the Update subscriber preferences endpoint to set preferences from your backend.
curl -X PATCH https://api.novu.co/v2/subscribers/user_123/preferences \
-H "Authorization: ApiKey <NOVU_SECRET_KEY>" \
-H "Content-Type: application/json" \
-d '{
"preferences": [
{ "workflowId": "marketing-digest", "enabled": false },
{ "channel": { "type": "sms", "enabled": true } }
]
}'