OpenClaw Cron Jobs: How to Put Your AI Agent on Autopilot
Why Cron Jobs Change Everything
Most people set up OpenClaw, send a few test messages — and then wait for the agent to respond.
That's roughly like hiring a highly qualified employee and having them sit silently at their desk all day until you specifically address them.
Cron jobs fundamentally change that. They give your agent its own agenda. Tasks it executes on its own — daily, hourly, weekly — without you having to remember to trigger them.
In our 6-agent setup, cron jobs account for about 70% of the actual work being done. Here's exactly how.
---
What Is a Cron Job in OpenClaw?
Technically: a scheduled prompt. You tell the system "run this prompt every Monday at 9:00 AM" — and OpenClaw handles the rest.
The difference from a classical cron job: the "command" isn't a shell script, it's a task description in natural language. The agent decides how to execute it.
Example configuration:
Schedule: 0 9 * * 1-5 (Monday–Friday, 9:00 AM)
Prompt: "Check my unread emails from the last 24 hours,
look at the calendar for today and tomorrow,
and send me a short morning report as a Telegram message."
Sounds simple. In practice: 5 hours of work per week that just disappear.
---
Our 5 Production Cron Jobs (With Real Prompts)
1. Morning Report (daily, 8:45 AM)
Sam sends a daily overview for the CEO before the workday begins.
Schedule: 45 8 * * 1-5
Prompt:
Read memory/heartbeat-state.json and MEMORY.md.
Create a morning report for Dimitrios:
- Unread emails (important only, skip newsletters)
- Calendar events for today
- Open ClickUp tasks with high priority
- If there are meetings today: brief prep note
Format: short, direct, no filler sentences.
Send the message via Telegram.
Result: Dimitrios opens Telegram in the morning and has everything at a glance. No tab-hopping through three different tools.
---
2. Daily Blog Post (daily, 6:00 AM)
Yes, this very blog post was created by a cron job. No joke.
Schedule: 0 6 * * 1-5
Prompt:
Search for current OpenClaw discussions on X.
Check existing blog posts for duplicates.
Choose a topic people actually care about.
Write a helpful blog post (EN + DE, 800–1500 words).
Deploy it to openclawsetup.info. Report in Discord.
The agent decides on its own what to write — based on what people are currently discussing. The result is content that's actually relevant, because it comes from real questions.
---
3. Weekly Status Report (Mondays, 10:00 AM)
Schedule: 0 10 * * 1
Prompt:
Analyze ClickUp tasks from the last 7 days.
Which tasks were completed? Which are open?
Which have had no activity for more than 3 days?
Create a weekly report as a Discord message.
Format: short summary, then: Done / In Progress / Blocked.
---
4. Heartbeat Check (every 30 minutes)
This isn't a classical cron job — OpenClaw calls it a "heartbeat" — but the principle is the same. Every 30 minutes, Sam checks: Is anything urgent? If not: reply HEARTBEAT_OK. If yes: act or notify.
The heartbeat is the nervous system of the setup. It ensures the agent acts proactively even when nobody is talking to it.
---
5. Nightly Memory Review (daily, 11:30 PM)
Schedule: 30 23 * * *
Prompt:
Read today's daily notes.
Which insights or decisions from today are relevant long-term?
Update MEMORY.md accordingly.
Keep MEMORY.md under 2000 words.
Without this job, MEMORY.md would grow endlessly and crowd out important context. The nightly review keeps the memory sharp.
---
Setting Up Cron Jobs: Step by Step
Step 1: Create the job
openclaw cron create
The interactive wizard asks for name, schedule (cron syntax or natural language like "every day at 9am"), prompt, and which agent runs the job.
Step 2: Always test first
openclaw cron trigger <job-id>
Runs the job immediately, regardless of schedule. Watch whether the agent does the right thing before you let it run automatically.
Step 3: Check the logs
openclaw cron logs <job-id>
Shows all recent executions: when, how long, success or failure.
Step 4: Restart the gateway
openclaw gateway restart
The job isn't active until after the restart. This is the most common mistake — everything set up correctly, but the gateway is still running with the old config.
---
Cron Syntax Cheat Sheet
Standard cron syntax: Minute | Hour | Day | Month | Weekday
| Schedule | Cron Syntax |
|----------|-------------|
| Daily at 9:00 AM | 0 9 * * * |
| Weekdays at 9:00 AM | 0 9 * * 1-5 |
| Every 30 minutes | */30 * * * * |
| Mondays at 10:00 AM | 0 10 * * 1 |
| Every hour | 0 * * * * |
---
Common Mistakes
Prompts that are too vague: "Check my emails" isn't enough. Cron jobs have no dialogue — be specific about what to do, what to ignore, and where the result should go.
Too many jobs at once: Start with one or two. Let them run for a week. Then expand.
Forgetting the timezone: OpenClaw runs in UTC. Berlin time = UTC+1 (winter) or UTC+2 (summer). Adjust accordingly, or set timezone in the OpenClaw configuration.
Missing gateway restart: After any change to cron jobs: always run openclaw gateway restart.
Missing context files: If a cron job accesses HEARTBEAT.md or other files, make sure they exist and are up to date.
---
The Big Picture
When all jobs are running, a self-sustaining rhythm emerges:
This is no longer an assistant waiting for requests. This is a team member with its own rhythm.
Setup effort: 2–3 hours. Value: daily, without further input.
The complete setup — including the exact prompts we use, Docker configuration, and multi-agent coordination — is documented in the OpenClaw Setup Playbook.
Fully available in German too. 🇩🇪
Want to learn more?
Our playbook contains 18 detailed chapters — available in English and German.
Get the Playbook