Notifications & digests
In-app, email and Slack. Four categories, per-person preferences, and no empty daily email.
RepCue tells people when something needs them. Notifications are strictly personal: no endpoint reads another user's notifications, including an admin's.
Categories
Every notification belongs to one of four categories, which is the unit you mute.
| Category | Examples |
|---|---|
| coaching | A call was flagged for review; a drill was assigned to you |
| pipeline | Your post-call items are ready; a CRM diff synced |
| system | An integration stopped working; a webhook is failing; knowledge documents are stale |
| billing | 80% of pooled hours consumed; pooled hours exhausted and overage is accruing |
system and billing alerts go to admins. coaching and pipeline go to the person or manager they concern.
Channels
Three delivery channels (in-app, email, Slack), each independently switchable at Settings → Notifications.
A category set to false silences it on every channel. That is deliberate: muting "coaching" should mean muting it, not moving it to a different inbox.
Slack delivery requires a connected Slack workspace. Email requires the mail provider to be configured. When either is missing, RepCue logs instead of sending and nothing throws, the same "every provider is optional" rule the rest of the product follows.
Duplicate suppression
Recurring alerts carry a dedupe key enforced by a unique index in the database, not by in-process bookkeeping. So the 80%-of-pool warning fires once per period per threshold even if the service restarts, a metering event is replayed, or two calls end at the same moment.
The keys are period-scoped: pool alerts by calendar month, stale-knowledge by ISO week, integration failures by day. A failing health check and a failing sync are treated as two different problems.
Digests
Each person can choose a digest frequency of off, daily or weekly, plus their timezone. Digests are delivered by the hourly job.
A rep digest covers their own period: calls, suggestion adoption, talk ratio, drills assigned, unshipped post-call items, and their goal progress.
A manager digest covers their teams: call volume, team adoption, talk ratio, the top objection of the period, coaching queue size, and team goal progress.
Two properties worth knowing:
- An empty digest is not sent. A daily email that says nothing teaches people to filter it.
- Goal lines are measured over the goal's own period, not the digest window: a weekly email about a quarterly goal reports the quarter.
Goal progress in a digest comes from the same implementation as the dashboard, so the two cannot disagree.
API
GET /v1/notifications (unread first), POST /v1/notifications/:id/read, POST /v1/notifications/read-all, GET|PUT /v1/notifications/prefs.