Routines and the heartbeat loop
Scheduled agent runs sound boring until you let one wake up every morning and tee up your day. Here's how heartbeat picks what matters.
Most agents are reactive. You ask, they respond. That’s great for chat — and useless for the kinds of tasks that don’t start with a question. Routines flip the loop. They’re scheduled agent runs that fire on their own, with a goal, a set of tools, and a place to drop the output.
A morning routine
Mine runs at 7:30am. It reads my calendar for the day, checks Linear for any tickets assigned to me, scans my inbox for anything that arrived overnight from a person (not a newsletter), pulls the latest from three specific blogs, and writes a 5-line briefing into a note titled “Today.” I read it with coffee. It took twenty minutes to set up and I haven’t touched it in months.
Heartbeat
The trick to making routines actually useful is making them know when *not* to ping you. Heartbeat is the small meta-loop that runs every routine through a relevance check before surfacing anything. If your morning briefing is identical to yesterday’s, heartbeat tags it “routine-skip” and just files it. If something genuinely new shows up — a calendar conflict, a customer escalation, a research alert — heartbeat surfaces it to your dashboard with a one-line summary.
The result is the opposite of a notification firehose. Most days, heartbeat is quiet. The days it speaks up, you read it carefully.
What to schedule first
Three routines we recommend setting up on day one: a morning briefing, a Friday weekly retro, and a Sunday next-week planner. They’re obvious, they’re ten minutes to configure, and they put scheduled-agents in your head as a category. Once you have the shape, the weird custom ones start to suggest themselves.