Copy the minimal template
# HEARTBEAT.md
Check these monitor items in one short turn:
- Inbox: alert only for messages that need action today.
- Calendar: alert for events within two hours that need preparation.
- Background work: surface a new failure, blocker, or completed artifact awaiting review.
Quiet hours: 11pm to 8am unless genuinely urgent.
If nothing needs attention, reply HEARTBEAT_OK.What belongs here
- A few checks that naturally share the main session's context.
- Concrete thresholds for interrupting the user.
- A quiet success path when nothing is actionable.
- Links to deeper instructions loaded only when a condition is met.
What belongs in Automations instead
- A report due at an exact time.
- Independent daily, weekly, or monthly work.
- Jobs that need isolated context, a timeout, or their own delivery target.
- Work whose run history must be audited.
- Long or multi-step execution that should create tracked tasks.
Why this changed
Older examples used natural-language schedules inside HEARTBEAT.md. Current OpenClaw separates monitoring from scheduling. The Gateway's Automations system persists schedules and records runs. Heartbeat stays as a lightweight awareness layer.
That split is easier to inspect and cheaper to maintain. A heartbeat can notice a problem. The job that owns the outcome can run separately and leave durable evidence.
The detailed design guide
See concrete alert thresholds, testing steps, and the scheduler-versus-executor pattern.
Browse the detailed guides →