Notifications
Everywhere notifications are seen, configured, and sent โ across in-app, email, SMS, Slack/Teams, quiet hours, watchers, per-field alerts, and customer subscriptions.
How it works#
One spine routes typed events โ a stage changed, a comment, a watched field edited โ to a set of recipients (owner, assignees, watchers, mentions), filters each recipient by their personal preference matrix and quiet hours, then fans out to five channels with idempotent delivery. The system is built in six phases:
The in-app Notification Center#
The ๐ bell in the top bar of every page shows an unread count. Click it for your in-app notifications โ stage changes, assignments, comments, @-mentions, and coalesced field-change alerts all land here.
Top bar โ Notification Center
Josh moved Acme Roof โ Contract Sent
Opportunity ยท 2m ago
Sarah updated Amount and 2 more field(s) changed
Project ยท 14m ago ยท coalesced
You were mentioned by Dana
Lead ยท 1h ago
Lead assigned to you
Lead ยท yesterday
When several fields on the same record change within 60 seconds, they collapse into one โ+N more changesโ notification instead of a flood.
Email, SMS & the daily digest#
The same events also go out as email and SMS (per your matrix), and anything held during your quiet hours rolls up into a single daily digest email at the hour you choose. SMS sends only if your workspace has Twilio connected.
Your preferences matrix#
Go to Settings โ Notifications. The first tab is a grid of event types (rows) by channels (columns). Each cell is Immediate, Digest, or Off โ decide exactly how each kind of event reaches you on each channel.
Settings โ Notifications ยท Notifications tab
| Event type | In-app | SMS | Slack | Teams | |
|---|---|---|---|---|---|
| Entity Created | ImmDigOff | ImmDigOff | ImmDigOff | โ soon โ | โ soon โ |
| Entity Assigned | ImmDigOff | ImmDigOff | ImmDigOff | โ soon โ | โ soon โ |
| Stage Changed | ImmDigOff | ImmDigOff | ImmDigOff | โ soon โ | โ soon โ |
| Owner Changed | ImmDigOff | ImmDigOff | ImmDigOff | โ soon โ | โ soon โ |
| Comment / @Mention | ImmDigOff | ImmDigOff | ImmDigOff | โ soon โ | โ soon โ |
| Field Changed | ImmDigOff | ImmDigOff | ImmDigOff | โ soon โ | โ soon โ |
Leave a cell unset and it falls back to that event type's sensible default. The SMS column and the Field Changed row are the newest additions; the Slack and Teams columns show as coming soon here and are routed via Rules for now.
Watching#
The Watching tab lists every record you follow. You auto-follow records you create, get assigned, comment on, or are @-mentioned in โ and you can follow any record manually with the Watch button on its detail header. Mute (stay attached, silence alerts) or unwatch from here.
Settings โ Notifications ยท Watching tab
Acme Roofing โ Reroof
Opportunity
Riverside Lead
Lead
Old Project (muted)
Project
Muting is the per-record override that beats your matrix โ useful for a noisy record you must stay attached to.
Schedule โ quiet hours & digest#
The Schedule tab holds your personal timing controls. During quiet hours, email and SMS are held and rolled into your daily digest; in-app stays instant. Set your timezone and the hour the digest arrives.
Settings โ Notifications ยท Schedule tab
Timing is computed in your timezone (DST-safe) โ so "quiet until 8am" means 8am where you are.
Rules โ Slack & Teams routing#
The Rules tab is a tenant-wide policy: "when this event matches these conditions, post to this Slack channel or Teams chat." This is separate from your personal matrix โ rules add a destination (a channel), they never remove your own alerts. Requires the workspace's Slack/Teams integration to be connected.
Settings โ Notifications ยท Rules tab
Closed-won wins
Stage Changed ยท stage = Closed Won
Big deals
Stage Changed ยท amount > 50k
Customer subscriptions#
Beyond your team, you can subscribe a customer contact to status updates on a record. A rep opens the Customer Subscriptions card on a record, picks channels, and the contact gets a double opt-in request (click an email link or reply YES to an SMS). They only ever receive messages after they confirm.
Record detail โ Customer Subscriptions card
Jane Doe
jane@acme.com
Bob Lee
bob@acme.com
Sam Fox
sam@acme.com
Status pills make it obvious that a pending contact is not yetreceiving anything. Every customer email carries a one-click unsubscribe and your workspace's postal address (CAN-SPAM); every opt-in SMS includes STOP/HELP (TCPA).
The customer's side โ public pages
Customers never log in. A secure token in the link is the only credential. Three pages: confirm a subscription, manage channels, and one-click unsubscribe.
Public ยท /notifications/confirm/[token] and /manage/[token]
Confirm your subscription
You'll get updates from [Workspace] about your project.
Confirm subscriptionNotification preferences
Changed your mind? Unsubscribe from all
Admin: per-field โNotify on changeโ#
Admins decide which fields are worth a notification. In Admin โ Entity Types โ [type] โ Fields, flip Notify on change on a field. Any edit to it then emits a Field Changedevent that flows through everyone's matrix and the 60-second coalescer. Unflagged fields stay silent โ this keeps it signal, not noise.
Admin โ Entity Types โ Opportunity โ Fields โ Amount
Field: Amount
Notify on change
Send an in-app notification when this field value changes.
What's live vs. gated#
Internal notifications are fully live. The customer-facing path is built and tested but intentionally off until a short go-live checklist is complete.
Status reference
Customer messages carry legal obligations (TCPA for SMS, CAN-SPAM for email), so the customer path stays off until the message copy is legal-approved and the feature flags are switched on by an admin.