Let Your Assistant Work Automatically: It Helps Even When You Don't Ask

3 min read

If an assistant can only answer when you ask, it is just a chatbot. A real assistant does things proactively.

That is exactly what Cron scheduling is for.

What You'll Learn

  • Understand the difference between Cron and Heartbeat
  • Know which tasks are a good fit for scheduling
  • Configure Cron in the dashboard
  • Read Cron syntax and troubleshoot jobs that never fire

What Are Cron and Heartbeat?

Cron means "do this thing at this time," like writing a calendar for your assistant:

  • Every day at 9 AM: summarize yesterday's emails
  • Every Monday: remind me what matters this week
  • Every night: archive today's notes automatically

Heartbeat means the assistant wakes up at a fixed interval, such as every 30 minutes, checks whether something needs doing, and acts if necessary.

πŸ’‘ If you see a heartbeat log every 30 minutes, that is normal.


Common Automation Use Cases

Scheduled task What it does
Daily briefing Summarizes email, calendar, or news and pushes it to you
Reminder delivery Sends you your to-do list at the time you want
Monitoring Checks an API or webpage every hour and notifies you on problems
Note organization Cleans up scattered notes into a structured document every week

Configure Cron in the Dashboard

Open Control UI β†’ Cron tab:

  • Add schedule: enter a Cron expression and the task description
  • Enable / disable: pause any job at any time
  • Run now: test a schedule immediately without waiting

Cron Syntax Quick Reference

* * * * *
β”‚ β”‚ β”‚ β”‚ └─ day of week (0-7, both 0 and 7 mean Sunday)
β”‚ β”‚ β”‚ └─── month (1-12)
β”‚ β”‚ └───── day of month (1-31)
β”‚ └─────── hour (0-23)
└───────── minute (0-59)

Common examples:

0 9 * * *      ← every day at 9:00
0 9 * * 1      ← every Monday at 9:00
0 */6 * * *    ← every 6 hours

Cron Job Never Triggered? Check These First

  1. Is Cron enabled in Config?
  2. Is the timezone correct?
  3. Do the logs show an error? Run openclaw logs --follow
  4. Try restarting the Gateway

⚠️ Scheduled jobs also consume model resources. If you run many schedules and lots of chats at once, you may hit rate limits such as HTTP 429. Heavy jobs may deserve their own dedicated agent.


Next Up

Your assistant can now work on its own. In the next part we wrap up with advanced settings and debugging patterns so the whole system becomes more stable.

← Previous: Remote Gateway | πŸ‘‰ Advanced settings and debugging mindset