MODULE 05 · COURSE 02: GOING DEEPER
Module 5: The Heartbeat Pattern
Crons fire at a set time regardless of what's happening. The heartbeat is different — it's your agent checking in regularly, looking for anything that needs attention, and only messaging you if it finds something.
It's the difference between a scheduled report and a watchdog.
How it works
Every 30-60 minutes (you configure the interval), your agent wakes up and runs through a checklist you've defined. If everything is fine, it stays quiet. If something needs your attention, it sends you a message.
This means you don't get noise. You only hear from your agent when it matters.
Setting up a heartbeat
Tell your agent what to watch for:
"Set up a heartbeat that runs every 30 minutes. Check these things:
- Any unread emails from my top clients (list their addresses)
- Any DMs in Discord I haven't responded to in over 2 hours
- If it's after 6pm and I haven't logged my tasks for the day
> If you find any of these, message me with a brief summary. If nothing needs attention, stay quiet."
Your agent sets this up as a recurring task and handles the conditional logic itself.
The HEARTBEAT.md file
If you're using the agent workspace pattern, you can define your heartbeat checklist in a file called HEARTBEAT.md in your workspace:
# HEARTBEAT.md — What to Check Each Pulse
- Check for urgent emails from clients (flagged or from VIP senders)
- Check Discord DMs for anything unanswered over 2 hours
- Check if any cron jobs have failed
- Check server health — if CPU or memory is spiking, alert me
- If it's a weekday between 9am-6pm and I haven't checked in, send a gentle nudge
If nothing urgent, reply HEARTBEAT_OK.
Your agent reads this file on each heartbeat cycle. Update it anytime.
The HEARTBEAT_OK convention is useful if you're logging heartbeat results — a clean acknowledgment that means "checked everything, nothing to report."
Real-world heartbeat setups
The client monitoring heartbeat:"Every hour, check my email and Discord for messages from any of my active clients. If there's something new I haven't seen, send me a summary. Flag anything that looks time-sensitive."The business health heartbeat:
"Three times a day (9am, 1pm, 5pm), check:
- Are all my key services running? (list the URLs to check)
- Any payment failures or billing alerts in email?
- Any urgent support requests?
> If any of these are true, message me immediately. Otherwise stay quiet."The content pipeline heartbeat:
"Every 2 hours during business hours, check if there's anything in my content drafts folder that's marked 'needs review.' If so, remind me."The team coordination heartbeat: Jeremy uses this pattern across his businesses. Each agent monitors its domain — one watches Discord, one watches email, one watches business metrics — and only surfaces things that actually need a human decision. Most hours, silence. Occasionally, a targeted alert.
The difference between heartbeat and cron
| | Cron | Heartbeat | |---|---|---| | Trigger | Fixed time | Recurring interval | | Output | Always sends a message | Only messages if something's found | | Use case | Briefings, reminders, reports | Monitoring, watching, alerting | | Example | "Send me a morning brief at 8am" | "Alert me if I have an urgent email" |
Use crons for things you always want to know. Use heartbeats for things you want to know only when they're happening.
Tuning the sensitivity
Your heartbeat is only as good as what you tell it to watch for. Too broad and you get noise. Too narrow and it misses things.
Good heartbeat items are:
- Time-sensitive — things that get worse if you don't act in a few hours
- Binary — either it happened or it didn't, easy to check
- Not already handled — don't heartbeat-monitor things you already have push notifications for
- "Check if there's anything new in my inbox" — too broad, will alert constantly
- "Let me know if the weather is nice" — not time-sensitive
- "Remind me to drink water" — better as a cron at fixed times