One cron serves two sources: pipeline Next Actions (a note to yourself on a lead) and tasks (delivered to the ASSIGNEE, who may not be the person who set it). It also handles the stalled intake-form nudges. Delivery stamps happen AFTER sending, so a crash mid-send re-fires rather than silently swallowing the reminder.
Also called: scheduled reminders · nudge me · reminder cron · does it actually go off
- 1Tasks are selected where remind_at <= now, reminded_at is null, not completed, not deleted, limit 200.
- 2The task's own remind_channels array turns channels on; anything it does not name is off for this reminder.
- 3Structured facts are passed through, with the due date appended to the list if the junction did not already include it.
- 4Push rides its own transport (web push) with a per-task tag, exactly as the pipeline half does.
- 5reminded_at is stamped after delivery; re-scheduling a reminder clears it, which is what re-arms a snoozed task.
Migration 162 argued the merge: 'a reminder IS a task with a time on it; a task without a time is just a reminder nobody scheduled', so tasks gained the reminder machinery instead of a third system being built. The cron header states the delivery difference plainly: 'a pipeline next-action is a note to YOURSELF… A task reminder goes to the ASSIGNEE — who may not be the person who set it.'
- Two half-systems that each did part of the job
- Reminders lost when a send crashed halfway
- Double-fired reminders
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 →