Notifications
Notification Preferences
Users manage notification preferences at /settings/notifications.
Users manage notification preferences at /settings/notifications.
Preferences are stored per app user and can be scoped to the current workspace.
If no row exists for an event, the default from
packages/backend/convex/notifications/validators.ts is used.
Channels
- In-app controls whether a notification row is created.
- Email records the user's delivery preference for optional email hooks.
- Digest is stored in the backend defaults for future digest support but is not exposed as a UI control.
Defaults
Team events are in-app only by default. Billing cancellation/payment failures, workspace suspension/reactivation, and security events default to in-app plus email so products can opt into delivery hooks without changing preferences.
Extending
To add a new preference:
- Add the event to the closed event registry.
- Add a default channel policy.
- Add localized event labels.
- Emit notifications only through
notifications/events.tshelpers so preferences remain centralized.