Creating sections and sub-categories
Go to Developers → Preference categories and select a root-category (System, Transactional, or Promotional).- System is for critical account related notifications that users can’t unsubscribe from.
- Transactional is for notifications sent in response to user actions or transactions.
- Promotional is for marketing notifications sent to promote products or re-engage users to your platform.
Creating a section
Sections are optional and help organize sub-categories on the preference page. To create a section:- Click
+Section - Add name and description for the section
- Click
Save Changes

Adding sub-categories
To add a sub-category:- Click
+Sub-Category - Fill in:
- Name: What users see (slug (assigned to workflow) will be auto-generated from name)
- Section: Select the section where this sub-category will be grouped. Leave blank if you don’t want to group it under any section.
- Description (Optional): Description is used to describe the kind of notifications sent in the category. Helps users get more context about the category.

Configuring default preferences
Select a sub-category and choose a default preference: On, Off, or Can’t Unsubscribe. This determines the default behavior for users who haven’t set their own preference.Preference types
- On: Users receive notifications by default (they can opt out)
- Off: Users don’t receive notifications by default (they can opt in)
- Can’t Unsubscribe: Users cannot fully opt out of these notifications (typically for critical system messages). Users can still opt out of specific channels, but at least one mandatory channel must remain active.
Recommended defaults by category type
These defaults are recommendations-adjust them based on your product’s requirements and user expectations. System- Default:
Can't Unsubscribe- Set the channel most users have on as mandatory so they don’t miss critical notifications even if they opt out of all channels.
- Default:
Can't Unsubscribe- These are notifications sent in response to user actions or transactions. You would generally not want users to opt out of these notifications. However, you can adjust the default preference based on the criticality of the notification.
- Default:
ON- Users receive notifications by default. For optional categories, set toOFFso users only receive notifications if they explicitly opt in
Configuring digest schedule
A digest schedule lets users pick how often they receive batched notifications for a sub-category (for example, Instant, Daily at 9 AM, or Weekly on Monday) right from their preference page. You define the available cadence options; the option a user selects drives the workflow Digest node at send time.
Digest schedule settings
- Select a sub-category and enable Digest schedule.
- Add one or more options. For each option, set:
- Label — what the user sees in the preference center (for example, “Daily”).
- Frequency —
instantly,hourly,daily,weekly, ormonthly. - Interval — recurrence multiplier (for example, interval =2 with weekly frequency means every 2 weeks).
- Time / weekdays / month days — when to send, depending on frequency. Each of these has an edit policy:
- Editable — the user can change the value in the preference center; the value you set is the default.
- Locked — the value is fixed and the user can’t change it.
- Mark exactly one option as the default (used when a user hasn’t chosen one).
Preference Category on UI and category_digest_schedule in management API. SuprSend batches notifications using the option the recipient selected (or the default), always in the recipient’s timezone.
category_digest_schedule sends notifications immediately without batching.Configuring condition properties
Condition properties are custom, configurable values you attach to a sub-category and then reference inside workflow branch conditions or trigger condition. Use them to control when a category’s notifications are sent — for example, a minimum severity, an alert threshold, or which user roles should be notified.
Condition property settings
- Select a sub-category and add a condition property (up to 25 per sub-category). For each property, set:
- Key — unique identifier used in workflows. Referenced as
$category.properties.<key>. - Label — display label shown in the preference center.
- Value type —
integer,string,string_choice(single-select),list_choice(multi-select),string_dynamic, orlist_dynamic. - Choices — for
string_choice/list_choice, the selectable options (labelshown to the user,valueused in the workflow). - Default value — applied when no value is set. You can set a property optional to skip adding default value.
- Edit policy or is_user_editable — selected or
editablemeans user can change it or unselected/lockedmeans fixed. - is_optional - you can mark the property as optional if it can have null default value.
- Key — unique identifier used in workflows. Referenced as
- Reference the property inside a workflow branch condition as
$category.properties.<key>.
$recipient.$type == "object" as OR condition to ensure that notification is always triggered on object as a user. Otherwise, if workflow trigger condition doesn’t match for object as a user, user fanout on that object doesn’t happen.- Send anomaly alerts only when an error rate crosses a user-defined threshold.
- Deliver alerts only at or above a user-selected severity (for example,
High). - Let admins choose which user roles receive a category’s notifications.
Adding tags (Optional)
Tags are used to filter categories on the preference page. Common usecases are to filter categories based on user role or department. They can be added to sections and sub-categories.- Select a section or sub-category
- Add tags (for example,
finance,manager) - Section-level tags apply to all sub-categories in that section

Tags within preference categories
Preview and publish
Before making your categories live, preview how they’ll appear to users, then publish your changes. Category changes are version controlled and are not live until you publish them. This is done to ensure that your users do not see intermittent changes when they are interacting with the preference page.Preview
- Default preferences — on/off toggle and can’t-unsubscribe states
- Channel preferences — which channels are shown as opted in or mandatory
- Digest schedule — the cadence options users can choose from
- Condition properties — user-editable fields like thresholds or severity selectors


Publish
Publish Changes to make categories live. Categories are only available in workflows after publishing and will not appear in workflow dropdowns until published.
Clone to production
Clone to copy changes from staging to production workspace. Not required if you are directly doing changes in production workspace. Clone option is not currently available on UI.Assigning category to workflows
For workflows designed on SuprSend dashboard, you can assign a category either via dashboard or via CLI or Management API. If you choose to not create workflow on SuprSend dashboard and want to keep your workflow config in code for single step dynamic workflow trigger, you can assign category directly in the workflow payload.- Via Dashboard
- in dynamic workflow API
- Via CLI or Management API

Assigning category to workflows
Managing category translations
For more details on what it does and how it works, see Overview of category translations.
- Via Dashboard
- Via Management API
- Via CLI
Click translation icon

Add translation file
es.json, fr.json), then click “Save & Add”.
sections and categories objects. Each section and category is identified by its slug.en.json file is automatically generated from your preference settings. Download it to use as a template for translations.Preview translations

Embeddable preference page preview
Clone to production
suprsend category translation pull and CLI command suprsend category translation push to copy translations from staging to production workspace.en.json) is automatically created and cannot be overridden. It serves as the base language for all translations.Frequently Asked Questions
When should I create sections?
When should I create sections?
- Large number of categories: If you have 10+ sub-categories, sections help users navigate the preference page more easily
- Similar categories: Group related sub-categories together (for example, “Billing” section for invoice, payment, and subscription categories)
- Better organization: Sections improve the user experience by organizing categories into logical groups
How many categories should I create?
How many categories should I create?
- Recommended: 5-8 sub-categories or 5-8 sections and within each section, 2-6 sub-categories. Try to keep total number of categories across all root-categories < 20.
- Too many categories can overwhelm users and drive them to use channel-level opt-outs instead
- Too few categories may not give users enough granular control
My user has opted out of all categories, but they are still receiving notifications
My user has opted out of all categories, but they are still receiving notifications
notification_category: "promotional" or notification_category: "transactional", users will continue to receive notifications even after opting out of all sub-categories.To fix this:- Check your workflow settings and ensure you’re using sub-category slugs (for example,
"marketing","order-updates") instead of root-category names - If you don’t see the sub-categories in dropdown, it is possible that the sub-categories are not published. Category changes are version controlled and are not live until you publish them.
How do I show users only the categories relevant to their role or department?
How do I show users only the categories relevant to their role or department?
- Add tags to sections or sub-categories from the Preference categories page
- When fetching user preferences via API, pass the
tagsquery parameter to filter categories - Only categories matching the specified tags will be returned
Related documentation
- Preference Categories - Concepts and detailed explanations of preference categories
- User Preferences - Overview of how users can set their Preferences
- Tenant Preferences - How to apply admin-level preference settings to all users belonging to a tenant
- Preference Evaluation - How SuprSend evaluates preferences at runtime
