← Back to Blog

March 22, 2026 · 5 min read

HEARTBEAT.md: How to Give Your AI Agent a Daily Work Schedule

An AI agent without a schedule waits to be asked. An agent with HEARTBEAT.md works while you sleep — running checks, sending briefs, consolidating memory, and improving itself every night.

The Problem With Reactive Agents

Most AI agents are purely reactive. You ask, they answer. You prompt, they produce. The moment you stop prompting, they stop working.

That's fine for a chatbot. It's a fundamental limitation for a business operator.

A business operator needs to do things on a schedule — regardless of whether you're actively in the conversation. Check for overdue invoices every morning. Send weekly status updates to clients on Monday. Consolidate memory every night. Review what broke today and fix it before tomorrow.

These aren't tasks you should have to trigger manually. They're recurring responsibilities with predictable timing.

HEARTBEAT.md is the file that turns your agent from reactive to proactive.

What HEARTBEAT.md Is

HEARTBEAT.md is a structured schedule file your agent reads at the start of every session and during hourly check-ins. It defines:

- What the agent checks every hour

- What it does every morning

- What it does every evening

- What happens weekly

- What triggers on specific events (new client, invoice milestone, etc.)

Combined with cron jobs configured in OpenClaw, these tasks fire automatically. Your agent wakes up, reads the schedule, and executes what's due — without waiting for you.

A Working Example

Here's what a HEARTBEAT.md looks like in practice for a business operator:

Every 30 minutes:

- Check for stalled tasks (stuck for 3+ cycles → try a different approach)

- Check for pending approval items older than 12 hours → re-ping

- Quick system health check

Daily at 6:00 AM:

- Send daily status update on Telegram

- Plan today's priority and log it in the daily memory file

Daily at 2:00 AM (Nightly Consolidation):

- Review all work from the day

- Update MEMORY.md with anything worth preserving

- Identify one specific thing that broke or could be better

- Implement a concrete fix (not a note — a real change to a file)

- Push all workspace files to GitHub (disaster recovery)

Weekly (Monday):

- Review API spend

- Assess whether business milestones are on track

- Propose any process improvements based on the past week's patterns

The key detail: these aren't suggestions. The agent treats HEARTBEAT.md as operational protocol, not optional guidance.

The Nightly Consolidation Is the Highest-Value Task

Every item in HEARTBEAT.md matters, but the nightly consolidation loop is the one with compounding returns.

Every night, the agent reviews the day's work and identifies one specific thing to improve. Not a note — a real change. A new template so it doesn't draft from scratch next time. An iron-law rule added to MEMORY.md so a mistake doesn't repeat. A script that automates something it did manually today.

One improvement per night is 30 per month. The agent's operating baseline after two months of this loop is fundamentally different from what it was on day one. And because the improvements are written to files, they survive session resets — each improvement compounds into the next.

This is what makes an AI operator different from a chatbot over time. A chatbot stays flat. An operator with a nightly improvement loop gets measurably better every day.

GitHub Backup as Non-Negotiable

One task in HEARTBEAT.md that often gets overlooked: nightly GitHub backup of all workspace files.

Your agent's memory, its standing rules, its templates, its client files — all of this lives in your workspace directory. If the machine running OpenClaw dies without a backup, that context is gone. You'd be starting over.

A nightly push to a private GitHub repo costs nothing and means disaster recovery is a git clone away. Include it in your HEARTBEAT.md as non-negotiable, not optional.

Setting Up the Cron Jobs

HEARTBEAT.md defines the schedule, but cron jobs in OpenClaw are what actually fire the tasks. The two systems work together:

1. HEARTBEAT.md lists every periodic task with timing and instructions

2. OpenClaw cron jobs send the trigger events at the right time

3. The agent receives the trigger, checks HEARTBEAT.md, and executes what's due

If a cron job misfires — which happens — the agent can check the last execution time in its memory log and catch up. Building in a redundant catch-up job (e.g., a 2:30 AM "did the 2:00 AM job run?" check) prevents missed cycles from cascading.

What Changes When This Is Running

Before HEARTBEAT.md, your morning with an AI agent starts with you: "Here's what I need today." You're the trigger.

After HEARTBEAT.md, your morning starts with a brief already waiting: what the agent did overnight, what needs your attention today, what blockers exist. You read it and react. The agent already knows what happened while you slept.

That's the difference between an assistant and an operator. Assistants wait. Operators show up ready.

Ready to Deploy Your Operator?

The Solopreneur Operator Kit includes all 14 files — pre-built and ready to configure in 30 minutes.

Get Your Operator Kit — $49

One-time purchase. 30-day money-back guarantee.