Skip to main content

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:

NS1
Core spine
Events โ†’ recipients โ†’ in-app + email
NS2
Watchers
Follow / mute records, @-mentions
NS3
Slack / Teams
Unified tenant rules engine
NS4
SMS ยท quiet hours ยท digest
Per-user schedule + daily roll-up
NS5
Customer subscriptions
Double opt-in email/SMS to contacts
NS6
Per-field + coalescing
โ€œNotify on changeโ€ + 60s merge
โ„น
Notifications fan out to up to five channels: In-app, Email, SMS, Slack, and Microsoft Teams. In-app, email, and SMS are live today; Slack and Teams are driven by tenant Rules.

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

NotificationsMark all read
โ‡ช

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

NotificationsWatchingRulesSchedule
Event typeIn-appEmailSMSSlackTeams
Entity CreatedImmDigOffImmDigOffImmDigOffโ€” soon โ€”โ€” soon โ€”
Entity AssignedImmDigOffImmDigOffImmDigOffโ€” soon โ€”โ€” soon โ€”
Stage ChangedImmDigOffImmDigOffImmDigOffโ€” soon โ€”โ€” soon โ€”
Owner ChangedImmDigOffImmDigOffImmDigOffโ€” soon โ€”โ€” soon โ€”
Comment / @MentionImmDigOffImmDigOffImmDigOffโ€” soon โ€”โ€” soon โ€”
Field ChangedImmDigOffImmDigOffImmDigOffโ€” 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

createdMuteUnwatch

Riverside Lead

Lead

assignedMuteUnwatch

Old Project (muted)

Project

commentMuteUnwatch

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

America/Los_Angeles โ–พ
08:00 โ–พ
From 18:00
To 08:00

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

# wins ยท Slack

Big deals

Stage Changed ยท amount > 50k

@sales-lead ยท Teams

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

not subscribedSubscribe

Bob Lee

bob@acme.com

pendingRe-send opt-in

Sam Fox

sam@acme.com

confirmedUnsubscribe

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).

โš 
Customer-facing sending is gated off by default. See What's live vs. gated for the go-live checklist before any message reaches a real customer.

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 subscription

Notification 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

USD ($) โ–พ

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

In-app center, matrix, Watching, Schedule, Watch buttonLive
Email + SMS to your team, daily digestLive
Per-field notify + coalescingLive
Slack / Teams matrix columnsSoon
Customer subscriptions (card, public pages, sending)Gated
โœ“
Everything internal โ€” your bell, the preference matrix, watching, quiet hours, the daily digest, and per-field alerts โ€” is live now.

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.