/follow-ups) is the single place to work through every contact whose next follow-up date is today or overdue. It pulls from the same data that drives the dashboard Follow-ups panel — contacts assigned to you who have a nextFollowUpDate set — but gives you filtering, multi-select, and richer context so you can clear the list in one focused session.
When to use the hub vs. the dashboard panel
- Dashboard Follow-ups panel — A short, prioritized peek (up to 10 contacts) so you can knock out the most urgent follow-ups without leaving your dashboard.
- Follow-ups hub — The full backlog (up to 200 contacts), with filters, bulk Snooze/Mark done, and lead quality on every row. Use it for your morning triage or your Sunday sweep.
The follow-up row
Both the dashboard panel and the hub use the same single-row card so the layout is consistent everywhere a follow-up appears:| Element | What it shows |
|---|---|
| Avatar | The contact’s initials or photo |
| Contact name | Tap the row to open the contact’s profile |
| Reason | ”Follow-up due today” or “Follow-up overdue by N days” |
| Lead quality chip | Hot, Warm, Cold, or Nurture — pulled from the contact record |
| Snooze | Inline button — pushes the follow-up out by 3 days |
| Mark done | Inline button — clears nextFollowUpDate and logs the activity |
| Overflow menu | More actions for the contact |
Visual signals
The row uses two distinct signals so you can tell at a glance why a contact is on the list:- Hot lead — Amber flame icon next to the name. The contact’s lead quality is
HOT, regardless of when the follow-up is due. - Overdue — Red left border on the card. The follow-up date has already passed.
Filtering
The hub has four filter tabs across the top, each with a live count:- All — Every due or overdue follow-up
- Overdue — Follow-up date is before today
- Due today — Follow-up date is today
- Hot — Contacts whose lead quality is
HOT
Multi-select and bulk actions
To work through follow-ups in batches:- Use the checkbox on each row, or Select all to grab everything in the current filter.
- The bulk action bar appears at the bottom of the screen with the count of selected contacts.
- Choose Snooze to push every selected follow-up out by 3 days, or Mark done to clear them.
- Use the X to clear your selection without acting.
Empty state
When there’s nothing left to do, the hub shows an “All caught up” state with a shortcut to Go to contacts so you can set follow-up dates on more people. The dashboard panel collapses to a similar empty state.API
The hub and the dashboard panel are both powered by/api/follow-ups/due. The endpoint is scoped to the current user’s assignments and the current organization.
GET /api/follow-ups/due
Returns due and overdue follow-ups, ordered oldest-overdue first.
Query parameters:
limit— Maximum number of contacts to return. Defaults to10(used by the dashboard panel). Maximum200(used by the hub).
isHot—truewhenleadQualityisHOT. Used to render the amber flame.leadQuality— Raw value (HOT,WARM,COLD,NURTURE) for the lead-quality chip.overdueDays—0if due today, otherwise the number of whole days the follow-up is past due.
PATCH /api/follow-ups/due
Marks one or many follow-ups done or snoozed.
personId(string) — Single contact. Used by inline row actions.personIds(string[]) — Multiple contacts. Used by the hub’s bulk action bar. Both fields are accepted — send one or the other.action("done"|"snooze") —"done"clearsnextFollowUpDate;"snooze"pushes it out by 3 days.
404.
Related
- Tasks — Time-bound to-dos with due dates. Follow-ups are a separate, contact-level cadence.
- Relationship Pipeline — Where you set the cadence that drives
nextFollowUpDate. - AI Assistant — Smart follow-up and next-action suggestions surfaced alongside the hub.