The Manual · Ch 11
Making the agent proactive
Schedule it to wake up on its own — every morning, after every meeting, when new leads land.
Most AI tools wait for you to talk to them. Yours does not have to. It can have a heartbeat. A heartbeat is a scheduled task that wakes the agent up on an interval — every 30 minutes, every hour, whatever you set — runs a checklist, decides whether anything deserves your attention, and either pings you or stays silent. Two flavors of scheduling worth keeping straight: Cron jobs run at an exact time. "Every day at 7 AM." "Every Monday at 9 AM." "First of the month at midnight." Use cron when the timing matters. Heartbeats run roughly every interval. "Check on things about every 30 minutes." Use heartbeats when the cadence matters more than the precise minute. Same underlying machinery, different intent. Examples of what a heartbeat surfaces: 9 AM: "You have a call at 2 PM. Here's the background and your last conversation." 1 PM: "You haven't posted today. What's the plan?" Random Tuesday: "You talked to someone about a pilot two weeks ago. No follow-up. Want me to draft something?" You didn't ask for any of it. The agent noticed.
What goes in the heartbeat
Start small. A first heartbeat checklist might be: Anything urgent in my inbox in the last hour? Any meeting in the next two hours I haven't prepped for? Any deal or thread that has gone untouched for over 7 days? Did I post today on the channel I committed to? Anything in my project files marked "needs decision"? For each item: if yes, ping the user. If no, stay silent.
Spam discipline
A bad heartbeat is worse than no heartbeat. If it pings you ten times an hour, you will mute it within a week. Three rules:
- Default to silence. The agent reports only when the threshold is real.
- Set a noise budget — at most three pings per hour.
- Have the agent batch low-priority items into a single end-of-day digest, instead of pinging in real time. When you tune the heartbeat, do it the same way you tune any skill: feedback, save, iterate.
Run heartbeat on a cheap model
The heartbeat fires constantly. Running it on the smartest, most expensive model is wasteful — most heartbeat checks are routine. Tell the agent: run the heartbeat on a cheap model. Run most scheduled tasks on a cheap model unless they need real judgment. Save the smart model for moments where actual reasoning is happening. Routine checks: cheap model, every time.
How to actually set a cron job
You don't configure schedules yourself. You tell the agent what you want and when, and it handles the rest. The reliable trigger phrase: "Set a cron job for..." Examples: "Set a cron job to check my emails every day at 5 AM." "Set a cron job to send me a pipeline summary every Monday morning." "Set a cron job to run the weekly system audit Sunday nights at 10 PM." The phrase matters here the same way it matters for skills. If you just describe what you want without the words "set a cron job," the agent might do the thing once but not actually schedule the recurrence. Saying the literal phrase is the difference between a one-shot and a standing job.
Other scheduled tasks worth running
Beyond heartbeat, common useful schedules: Daily morning brief. 7 AM: send me what's on my plate today. Daily evening recap. 9 PM: summarize the day, file it as a daily memory note, surface anything I committed to but didn't do. Weekly system audit. Sundays: run the system audit prompt (Chapter 6). Compress always-loaded context, prune skills, flag drift. Weekly financial roll-up. Read the bank feed, categorize, send a plain-English P&L. Monthly skill audit. List all skills, flag duplicates, flag unused, suggest new ones. Re-injection of the orchestrator rule. (Chapter 11.)
The pattern: any work you do regularly that does not strictly require you to be there → put it on a schedule.
Scripts inside scheduled tasks
When the agent can use a script, ask it to. Scripts are deterministic and free to run — no model usage. The highest-leverage pattern: tell the agent to wrap any scheduled task in a quick precheck. The precheck runs first; if nothing meaningful changed, the agent stays asleep. If something did, the agent wakes up and acts. ("Is there a new email from a domain I care about? If yes, wake up and act on it. If no, sleep.") Massive cost savings once you have several scheduled tasks running. How to make the agent surface things on its own — heartbeats, scheduled checks, and "tell me when X."
Newsletter
Get the next one in your inbox.
One short email a week. Operator takes on AI agents, no hype.