A server-side sweep over signed estimate links with no completed customer form in the last seven days. It raises a de-duplicated admin alert per window and sends the customer a branded email (and text, where the org switched texting on for that message) with a direct link to the form. Each window fires once.
Also called: customer hasn't filled the form · chase the project details · form reminder · 24 hour nudge
- 1The sweep runs inside the reminders cron every ~5 minutes.
- 2Elapsed time since signing selects the 24h or 48h window; the matching form_reminder_*_sent_at stamp prevents a re-nag.
- 3The admin alert is deduped against open alerts for the same link and always fires — it is internal.
- 4The customer nudge is behind the granular 'Form reminder' toggle in Settings, with the tenant's own wording honoured, and both channels compose from the same tokens.
- 5The stamp is written even when the toggle skipped the send: 'the org said no, that's not a retry-forever condition.'
The comment records where it came from and why it moved: “Moved server-side this was a client-side scan in lib/contracts.ts that only raised ADMIN alerts, so the 'form reminder' customer messages in Settings › Notifications never actually reached a customer — and nothing at all fired unless someone from the org happened to be logged in.” then un-gated it from the org master switch 'like every other customer progress message', because no org had ever flipped that switch and the emails were dead everywhere.
- A client-side scan that only ran when someone was logged in
- Customer-facing reminders that were configured but never sent
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →