Reminders: three layouts to pick from
Reminders gets its own screen in the Marketing panel. The engine runs today with no screen at all: it nudges the sales agent on WhatsApp when a new lead from LeadRat waits, and hands a silent lead to the manager. Each option shows the screen at 1440 and on a phone, in the real shell. Steps, timings and template names are the engine's defaults; leads, agents, counts and numbers are made up. Pick one, or name the parts you want from each.
What is off now
From the apple-design review of the engine and its routes (2026-09-28). /reminders opens Flows; nothing on screen reads or changes reminders.
- HighNothing says whether reminders go out. A flagged WhatsApp number stops every nudge, and a missing manager number stops every hand-over, with only a line in the server log.
- HighThe timings sit in a raw setting with no check. A mistyped value quietly turns back into the defaults.
- HighHold, delay, mark done and change the agent exist in the api, and no screen calls them.
- MediumThe engine's names are builder names:
newandbulk,awaiting_reply,t25_midtier_nudge. - MediumNo history per lead: a run records the rule, not the lead, so only the last nudge time is known.
- MediumA reminder does not stop when the lead moves on in LeadRat (the status is fixed at "New"). The screen lists only the ways it really stops.
What the engine does, in every option: a new lead (assigned within 48 hours of coming in) gets a nudge to its sales agent at 20 minutes, a second 5 minutes later, and goes to the manager at 30 minutes, who also takes it over in LeadRat. An older lead (48 hours or more, usually a bulk assignment) gets a nudge at 5 PM and another at 10 AM the next day, UAE time. A reminder stops when a message from the lead arrives, when the contact has opted out, when a member marks it done, or after its last step.
The leads, steps above
The list of leads in progress is the page. Above it, one line says whether reminders are going out, and the two kinds of lead show their steps in one sentence each, with Edit beside them. Each lead says where it is and what happens next, and when. Rarer acts sit in the row's menu.
1440 · The leads, with Rahul Mehta's menu open
390 · The leads as a list
- The question a member opens it with, "who is waiting and what happens next", is answered by the first column read left to right.
- Edit opens the steps of one kind in a popup, as B lays them out.
- Older leads fold into one row per sales agent: 38 leads nudged at the same minute read as 3 rows.
- Trade-off: the steps are one click away, so a timing change is two screens.
Steps beside the leads
Two columns. On the left, how reminders run: each kind of lead with its switch, its steps, the wait before each and the template it sends, all editable in place, then one Save. On the right, the leads in progress, shorter. On a phone the two are tabs.
1440 · Steps and leads side by side
390 · The Steps tab
- Everything that can be changed is visible at once: the three waits, the two times of day, five templates and the manager's number.
- "Changes apply to leads that arrive after saving" sits beside Save, because the engine fixes a lead's times when it arrives.
- The leads list loses its Kind and Came in columns to fit.
- Trade-off: the settings take half the screen on a page members mostly read.
The clock
Each kind of lead is drawn as its timeline, to scale, with every lead in progress sitting at its minute. A step on the line is its own control: click "20 min" to change the wait and the template. The leads due next follow as a short list. The phone draws the same timeline downwards.
1440 · The first nudge opened for editing
390 · With the WhatsApp number flagged
- The one thing it is remembered by: a lead's wait is a position on a line, and the next step is the next mark.
- The phone shows the stopped state: the reason, and the one place to fix it.
- New leads fit the line (30 minutes). Older leads wait hours, so their line counts leads between the two times of day.
- Trade-off: past about 12 new leads at once, the dots crowd; the list below still holds every lead.
In every option
- One status line: Sending, Held (both kinds switched off) or Not sending with the reason and where to fix it. A missing manager number shows here too, as its own state.
- Counts beside it, each one a filter: in progress, due in the next 4 hours, with the manager, nudges sent today.
- Times of day are UAE time and say so once, in the steps.
- A lead's name opens its contact; the sales agent is a name, the phone number only in the menu.
Plain words
| The engine says | The screen says |
|---|---|
new · bulk | New lead · Older lead, with "assigned within 48 hours of coming in" behind the info mark |
pending | Waiting for the first nudge |
awaiting_reply | Nudged at 15:01 · Nudged twice |
escalated | With the manager since 14:42 |
paused | Held |
t20_reminder · t25_midtier_nudge · escalated_to_asha | First nudge · Second nudge · To the manager (the template keeps its own name in its picker) |
resolve · pause · skip · reassign | Mark done · Hold the reminders · Delay the second nudge (the engine resends it 5 min after the click) · Change the sales agent |
What the screen needs from the api
No api work in this round. The list goes to main.
- A checked write for the steps:
reminders.configis written through the generic settings PATCH with no check, and a bad value turns back into the defaults on read. - The manager as data the screen can show and change:
reminders.escalationholds a phone number only (no name), and a missing one is a log line, not a state. - Each lead's next step and its time, from the same rules the engine runs, so the screen never restates them.
- Holding one kind of lead under the Reminders permission: today the switch is the automation rule's
paused, behindagent:edit, while the summary ismarketing:view. - A lead's own history: runs record the rule, not the lead.
- An end for "with the manager": a handed-over lead stays
escalatedwith no later step, so that count only grows. - "Skip" is a delay: it restarts the 5 minutes before the second nudge, and on a lead waiting for its first nudge it changes nothing. The screen names it "Delay the second nudge" and offers it only after a first nudge.
- Change the sales agent moves the reminder only; LeadRat keeps its own assignment.
- The address:
/remindersopens Flows today (App.tsx:218).