Blog

Heartbeat vs Cron in OpenClaw: When to Use Each One

April 9, 2026OpenClawCrew7 min read
Heartbeat vs Cron in OpenClaw: When to Use Each One

If you are deciding between heartbeat and cron in OpenClaw, the simple rule is this: use heartbeat for recurring checks that require judgment, and use cron for actions that need exact timing. That is the practical answer.

A lot of people blur the two together because both can make OpenClaw do things without a fresh manual prompt. But they solve different problems. Heartbeat is about periodic awareness. Cron is about scheduled certainty.

When you get that difference right, your workflows feel cleaner immediately. When you get it wrong, you end up with noisy reminders, awkward timing, or agents checking for things that should have been scheduled more directly.

This guide explains what heartbeat and cron actually do, where each one fits, which mistakes to avoid, and how to decide quickly when you are designing a new workflow.

If you want the setup tutorials first, read OpenClaw Heartbeat Setup and OpenClaw Cron Setup. This article is about choosing between them.

The short version

Use heartbeat when:

  • the system should check periodically whether something now matters
  • the task needs light judgment
  • the agent may often decide there is nothing worth reporting
  • you want awareness without exact timing

Use cron when:

  • a task must happen at a specific time
  • the schedule itself is the requirement
  • you want a one-time reminder or recurring timed workflow
  • exact cadence matters more than flexible checking

That is the decision most people actually need.

What heartbeat is doing

Heartbeat gives the agent a chance to look around on a regular cadence.

It reads a short checklist, runs the checks, and decides whether anything deserves your attention.

This matters because a lot of real work is not "do this at exactly 4 PM." It is more like:

  • check whether anything urgent came in
  • check whether a thread has gone stale
  • check whether something due soon now needs attention
  • check whether today's priorities shifted

That is what heartbeat is good at.

Heartbeat is not mainly about timing. It is about periodic awareness.

What cron is doing

Cron gives the system a schedule.

It can tell OpenClaw:

  • do this once at a certain time
  • do this every few hours
  • do this every weekday morning
  • do this every Friday afternoon

This is not about checking whether something matters. It is about making sure the workflow fires on time.

That is why cron is the better fit for reminders, recurring reports, and fixed-time jobs.

The easiest way to remember the difference

If the task begins with:

  • "check whether..." it probably leans heartbeat
  • "remind me at..." it probably leans cron
  • "every morning at 8..." it probably leans cron
  • "periodically look for..." it probably leans heartbeat

That quick test is not perfect, but it catches most cases.

Where people get confused

The confusion usually happens because both systems can feel proactive.

For example, these both sound proactive:

  • check every so often whether any client thread is overdue
  • remind me tomorrow at 9 AM to follow up with the client

But they are different kinds of proactive behavior.

The first is a check with judgment.

The second is a schedule with a fixed time.

That is the difference in one sentence.

When heartbeat is the better tool

Heartbeat is usually the better choice when the system needs to assess the situation before deciding whether to speak.

Strong heartbeat examples:

  • review unread urgent messages
  • check for stale approvals
  • look for follow-ups older than 24 hours
  • summarize changes worth knowing today
  • surface blocked tasks that have not moved

In all of those cases, the agent may reasonably decide there is nothing to report.

That silence is part of the design.

When cron is the better tool

Cron is usually the better choice when timing is the core requirement.

Strong cron examples:

  • remind me at 4 PM to send the proposal
  • run a daily morning summary at 8 AM
  • send a weekly Friday review prompt
  • trigger a recurring workflow every Monday morning

In these cases, the system should fire because the time arrived, not because the state happened to look interesting.

How they work together

In a strong OpenClaw setup, heartbeat and cron are partners.

For example:

  • cron can send the exact 4 PM reminder
  • heartbeat can periodically check whether any open threads now need attention

That combination is often better than forcing one tool to do both jobs.

This is one of the most practical mindset shifts: stop asking which one replaces the other. Ask how they divide labor.

A few common mistakes

Mistake 1: using heartbeat for exact reminders

If the reminder must happen at a specific moment, use cron.

Mistake 2: using cron for awareness checks

If the real job is "see whether anything matters," heartbeat is often cleaner.

Mistake 3: making heartbeat too chatty

Heartbeat should have permission to say nothing.

Mistake 4: over-scheduling everything

Not every workflow needs a fixed-time schedule. Some just need periodic awareness.

A practical decision framework

If you are unsure, answer these three questions.

1. Does exact time matter?

If yes, use cron.

2. Can the right answer often be "nothing to report"?

If yes, use heartbeat.

3. Is the agent checking for a changing condition, or responding to a calendar?

Changing condition usually means heartbeat.

Calendar usually means cron.

That framework is enough for most real decisions.

Real examples for teams

Example: sales follow-up

  • remind the rep Friday at 3 PM to review open deals, use cron
  • check whether any important client thread has gone stale, use heartbeat

Example: executive briefings

  • send a daily briefing at 8 AM, use cron
  • check whether anything urgent changed since the last summary, use heartbeat

Example: operations

  • run the weekly maintenance review every Monday, use cron
  • watch for failed workflows or delayed approvals, use heartbeat

These pairings are where the system starts to feel genuinely useful.

My recommendation

If you want the quick rule, keep this one:

  • heartbeat is for judgment-based recurring checks
  • cron is for time-based scheduled actions

That rule is simple because it needs to be.

If you want the official references, review the OpenClaw docs, the OpenClaw GitHub repository, and the setup tutorials for heartbeat and cron. Those pair well with this comparison because they show the tools in action after you have decided which one fits.

FAQ

What is the difference between heartbeat and cron in OpenClaw?

Heartbeat is for recurring checks that may or may not surface anything. Cron is for scheduled actions that should run at a specific time or cadence.

Should I use heartbeat for reminders?

Only if the reminder depends on checking a changing condition. If it needs an exact time, use cron.

Should I use cron for stale thread checks?

Usually no. That is often a better heartbeat use case because the system needs to inspect the current state and decide whether it matters.

Can heartbeat and cron work together?

Yes. In many strong setups, cron handles exact schedules while heartbeat handles ongoing awareness.

What is the easiest way to choose between them?

Ask whether the task is driven by the clock or by the current state. Clock-driven usually means cron. State-driven usually means heartbeat.

A few quick decision examples

Here are a few fast examples that usually make the distinction click.

  • "Remind me every weekday at 8 AM to review priorities" means cron.
  • "Check whether any urgent priority now needs attention" means heartbeat.
  • "Send the weekly report every Friday" means cron.
  • "Look for blocked work that has not moved in 24 hours" means heartbeat.
  • "Message me in 20 minutes" means cron.
  • "Keep an eye on stale approvals through the day" means heartbeat.

If you keep thinking in those terms, the choice becomes much easier.

The rule I would keep in your head

If the task is driven by the calendar, use cron.

If the task is driven by changing conditions, use heartbeat.

That one rule is not perfect, but it is good enough to save you from most bad workflow design choices.

That distinction makes planning much easier.

Related posts

View all