Overview
Notifications alert you to:- Direct mentions (@username)
- Replies to your messages
- Messages in direct message channels
- Custom notification triggers from integrations
Smart Deduplication
Prevents duplicate notifications for the same message in a channel
Auto-Clear on View
Notifications disappear when you view the messages in the viewport
Per-Channel Muting
Mute specific channels while staying active in others
Status-Based
Suppress notifications when you set Do Not Disturb status
Receiving Notifications
Notification Sources
You receive notifications for: Direct Activity:- Someone mentions you with @username
- Someone replies to your message
- New messages in 1:1 direct messages
- New messages in unmuted channels (shown as unread count)
- @channel or @here mentions (if enabled)
- Organization invitations
- Role changes
- Important system announcements
Notifications are member-scoped, meaning they’re associated with your organization membership rather than your user account globally.
Notification Display
Notifications appear in multiple places: Notification Center:- Click the bell icon in the header
- Shows all unread notifications
- Grouped by channel and type
- One-click to navigate to the message
- Unread count badge on channels in sidebar
- Bold channel name for unread activity
- Indicator dot for mentions
- Desktop/push notifications for important events
- Only when app is in background or closed
Managing Notifications
Marking as Read
Notifications are automatically marked as read when:- You view the message in the channel
- The message scrolls into the viewport
- You click the notification to navigate to it
Clearing Notifications
Notifications are cleared when:- Messages become visible in your viewport
- You navigate to the channel and scroll to the message
- You delete the notification manually
notification.deleteByMessageIds RPC call to bulk-clear notifications when messages are viewed.
Viewing a message automatically clears its notification. No manual action needed!
Channel Notification Settings
Control notifications per channel:Muting Channels
- Right-click a channel in the sidebar
- Select Mute Channel
- Or go to Channel Settings → Notifications
- No notifications for new messages
- Unread count still increments
- Channel appears dimmed in sidebar
- Can still view and send messages normally
Unmuting Channels
- Right-click the muted channel
- Select Unmute Channel
- Notifications resume immediately
User Status and Notifications
Do Not Disturb
Suppress all notifications temporarily:- Click your avatar
- Set status to Do Not Disturb
- Optionally set an expiration time
- No desktop or push notifications
- No sound alerts
- Visual indicators still update (badges, unread counts)
- Messages are still received and stored
suppressNotifications flag that controls this behavior.
Custom Status Expiration
Set a status with automatic expiration:Notification Counts
Each channel member has an individual notification counter: How it works:- Counter increments with each new message
- Counter shown as badge on channel
- Counter decrements when messages are viewed
- Counter resets to zero when scrolled to latest message
- Stored in
channel_members.notificationCount - Updated in real-time via Electric SQL sync
- Persists across sessions and devices
Notification Data Model
Each notification includes:Deduplication
The database enforces a unique constraint:Notification Workflows
Mention Notification Flow
- User sends message with @mention
- System identifies mentioned users
- Creates notification for each mentioned member:
targetedResourceId= channel IDresourceId= message ID
- Notifications appear in recipient’s notification center
- Automatically cleared when message is viewed
Reply Notification Flow
- User replies to a message
- System identifies original message author
- Creates notification for author:
- Links to the reply message
- Shows reply context
- Author navigates to reply via notification
- Cleared when reply is viewed
Direct Message Flow
- New message sent in DM channel
- All channel members except sender receive notification
- Notification appears immediately
- Cleared when recipient views the message
Bulk Operations
Clear multiple notifications at once:Integration Notifications
Bots and integrations can trigger notifications: Mention Detection:- Bots can @mention users in messages
- System creates notifications automatically
- Works same as user mentions
- GitHub PR mentions
- RSS feed updates for subscribed users
- Webhook payloads with mention data
Notification Preferences (Coming Soon)
Future enhancements:- Per-channel notification levels (All, Mentions Only, None)
- Quiet hours scheduling
- Notification sound customization
- Email digest settings
- Mobile push notification controls
Technical Details
RPC Operations
Create Notification:Database Indexes
Optimized queries with indexes on:member_id- Fast member notification lookupmember_id, created_at, id- Chronological notification feedtargeted_resource_id, targeted_resource_type- Channel notificationsresource_id, resource_type- Message notificationsread_at- Unread notification filtering
Real-Time Sync
Notifications sync via Electric SQL:- Instant delivery to all connected clients
- Automatic conflict resolution
- Offline support with sync on reconnect
- Optimistic updates for instant UI feedback