Troubleshooting
Heartbeat vs Cron: Which One Should You Use?
Most “scheduler is broken” reports are actually tool mismatch. Use this quick guide to pick the right automation path and avoid false failures.
In community support threads, people often expect heartbeat and cron to behave the same way. They do not. Picking the wrong one creates missed reminders, duplicate check-ins, and trust issues.
Simple rule: if timing must be exact, use cron. If you want flexible periodic maintenance, use heartbeat.
Fast decision table
| Situation |
Use |
Why |
| “Remind me at 9:00 AM every weekday” |
Cron |
Exact clock time, recurring schedule. |
| “Nudge me in 20 minutes” |
Cron |
One-shot timing should be deterministic. |
| “Check inbox/calendar a few times per day” |
Heartbeat |
Batch checks with light drift tolerance. |
| “Run a standalone task in isolation” |
Cron |
Can target isolated runs with explicit delivery. |
Why people think scheduling is unreliable
- Wrong mechanism: expecting heartbeat to fire like an exact alarm clock.
- Timezone omission: no timezone specified for exact-time jobs.
- Context mismatch: reminder fires in a different session/surface than expected.
- Overlapping automations: heartbeat and cron both doing similar checks, causing noisy duplicates.
Known-good prompt patterns
Exact reminder (cron):
"Remind me today at 3:30 PM America/New_York: Join product sync."
Recurring exact reminder (cron):
"Every weekday at 9:00 AM America/New_York, remind me to review #help backlog."
Flexible maintenance (heartbeat):
"Use heartbeat to check inbox + calendar 2-4 times per day, and only message me when something urgent changes."
Avoid this: “Check every so often at exactly 9” mixes heartbeat-style language with cron expectations and causes confusion.
5-minute diagnosis flow
- Identify intent: exact alarm vs periodic maintenance.
- Verify timezone is explicit for clock-time schedules.
- Verify delivery destination (DM/server/dashboard thread).
- Temporarily disable overlapping duplicate schedules.
- Run a 2-minute canary reminder to validate end-to-end behavior.
If you need reliability for important reminders
- Use cron for all time-critical reminders.
- Include exact time and timezone every time.
- Keep one automation owner per job (don’t duplicate in heartbeat).
- Write reminder text that includes context (“Reminder: weekly planning call in 10m”).
Bottom line: most “cron/heartbeat failed” incidents are fixable by choosing the right tool for the job and locking timezone + destination up front.