Most AI assistants sit there waiting for you to type something. OpenClaw doesn’t. With its built-in cron system, your agent wakes up on a schedule, does real work, and delivers the results to your phone — without you lifting a finger.
Nader Dabit’s viral thread about his OpenClaw morning briefing setup captured exactly why this matters: *”My favorite thing about my OpenClaw is how simple it is to create cron jobs that deliver tons of personally curated + high value information to me every morning.”* He’s running GitHub trending digests, AI news summaries, and even an automated app builder — all on cron.
This guide covers everything you need to build your own OpenClaw automations. If you’re running ClawdBot or MoltBot (both names for the same open-source project), the same cron system applies — the CLI commands are interchangeable.
How OpenClaw Cron Jobs Work
The cron scheduler runs inside the Gateway process — not inside the AI model itself. Jobs persist to ~/.openclaw/cron/jobs.json, so they survive restarts and reboots. No external scheduler needed.
Every cron job has three parts:
- A schedule — when it fires
- A payload — what the agent does
- A delivery mode — where the output goes
Schedule Types
OpenClaw supports three scheduling patterns:
at — One-shot. Fires once at a specific ISO 8601 timestamp. Perfect for reminders. Deletes itself after running by default.
--at "2026-02-15T09:00:00Z"
every — Fixed interval in milliseconds. Good for polling-style tasks.
--every 1800000 # every 30 minutes
cron — Standard 5-field cron expressions with IANA timezone support. This is what you’ll use for most automations.
--cron "0 7 * * *" --tz "Europe/London" # 7 AM daily
--cron "0 9 * * 1-5" --tz "America/New_York" # 9 AM weekdays
--cron "*/15 8-22 * * *" # every 15 min during waking hours
Session Targeting: Main vs Isolated
This is the most important architectural decision for your OpenClaw automations.
Main session (--session main) enqueues a system event into your ongoing conversation. The agent picks it up during the next heartbeat, with full access to your chat history and context. Use payload.kind = "systemEvent".
Isolated session (--session isolated) spins up a fresh, dedicated agent turn in cron:. No conversation carry-over. Clean context every time. Use payload.kind = "agentTurn".
Rule of thumb: use main for tasks that need your conversation context (reminders, follow-ups). Use isolated for everything else — briefings, digests, monitoring, maintenance. Isolated jobs keep your main chat clean and are cheaper to run since they don’t load your full history.
Delivery Modes
For isolated jobs, output can be:
announce(default) — delivers the result to a target channel (Telegram, Slack, WhatsApp, Discord) and posts a brief summary to your main session.none— runs silently. Good for background maintenance tasks.
7 Practical Automations (With Config)
Here’s where it gets useful. These are real-world OpenClaw cron job configs you can adapt.
1. Morning Briefing
The killer use case. Nader Dabit runs several variations; here’s a solid starting point:
openclaw cron add
--name "Morning briefing"
--cron "0 7 * * *"
--tz "America/New_York"
--session isolated
--message "Good morning. Give me: 1) Weather forecast for NYC today, 2) Top 5 HackerNews stories, 3) Any calendar events today, 4) Unread email summary (urgent only). Keep it concise."
--announce
--channel telegram
--to "user:123456789"
This is the OpenClaw daily digest in its simplest form — a single cron job that replaces three newsletters and a weather app.
2. Email Checker
Don’t poll your inbox manually. Let the agent surface what matters:
openclaw cron add
--name "Email check"
--cron "0 9,12,15,18 * * 1-5"
--tz "Europe/London"
--session isolated
--message "Check my Gmail inbox for unread messages from the last 3 hours. Flag anything urgent. Summarize the rest in 1-2 lines each. Ignore newsletters and marketing."
--model "anthropic/claude-sonnet-4-20250514"
--announce
--channel telegram
Note the --model override — using Sonnet instead of Opus for a routine classification task. More on cost optimization below.
3. Weather Alerts
Simple but surprisingly useful when tied to your actual schedule:
openclaw cron add
--name "Weather alert"
--cron "0 7 * * *"
--tz "Europe/London"
--session isolated
--message "Check today's weather for London. If rain is expected, remind me to take an umbrella. If temperature drops below 5°C, suggest warm clothing. Otherwise, just give a one-line summary."
--model "anthropic/claude-sonnet-4-20250514"
--announce
--channel telegram
4. Social Media & Mentions Monitor
Stay on top of your brand or personal mentions:
openclaw cron add
--name "Social monitor"
--cron "0 10,16 * * *"
--tz "America/Los_Angeles"
--session isolated
--message "Search Twitter/X for mentions of 'openclaw' and 'clawdbot' from the last 8 hours. Summarize the most interesting discussions, any bug reports, and notable feature requests. Skip retweets of the same content."
--announce
--channel slack
--to "channel:C1234567890"
5. Memory Maintenance
OpenClaw agents accumulate daily memory files. Keep them tidy automatically:
openclaw cron add
--name "Memory maintenance"
--cron "0 2 * * 0"
--tz "UTC"
--session isolated
--message "Review memory files from the past 7 days (memory/YYYY-MM-DD.md). Update MEMORY.md with anything worth keeping long-term. Remove redundant or outdated entries. This is housekeeping — no delivery needed."
--deliver none
Running at 2 AM Sunday, silent mode. No one needs to see this. The --deliver none flag means it runs completely in the background.
6. Daily Journal Prompt
Turn your agent into a journaling companion:
openclaw cron add
--name "Journal prompt"
--cron "0 21 * * *"
--tz "America/New_York"
--session main
--system-event "Evening journal time. Ask me about my day — what went well, what was challenging, and what I'm thinking about. Keep it conversational."
--wake now
This one uses --session main deliberately — you want the agent to have context from your day’s conversations to ask meaningful follow-up questions.
7. Weekly Project Digest
For developers tracking multiple repos:
openclaw cron add
--name "Weekly project digest"
--cron "0 9 * * 1"
--tz "Europe/London"
--session isolated
--message "Run 'git log --oneline --since=7.days' in each project directory under ~/projects/. Summarize what changed in each repo. Highlight any uncommitted work or stale branches."
--model "opus"
--thinking high
--announce
--channel telegram
Note the --thinking high flag — for a weekly analysis task, it’s worth spending the extra tokens on deeper reasoning.
ClawdBot, MoltBot, and OpenClaw: Same Cron System
If you’ve seen references to ClawdBot automations or MoltBot cron jobs, don’t be confused — they’re all names for the same project at different stages. ClawdBot was the original name, MoltBot was a brief rename, and OpenClaw is the current identity. The cron system is identical across all three.
The only practical difference: CLI commands use the current project name. So openclaw cron add is equivalent to what was previously moltbot cron add or the clawdbot equivalent. If you’re following older tutorials that reference ClawdBot or MoltBot scheduling, the config structure and flags are the same — just swap the command prefix.
Cost Optimization Tips
OpenClaw cron jobs consume API tokens every time they fire. A poorly configured schedule can burn through your budget fast. Here’s how to keep costs sane:
1. Restrict to Waking Hours
Don’t run briefings at 3 AM. Use cron expressions that respect your schedule:
# Only fire between 8 AM and 10 PM
0 8-22 * * *
*/30 9-17 * * 1-5
2. Use Cheap Models for Routine Tasks
Not every cron job needs Opus-level reasoning. Use --model overrides aggressively:
- Email triage, weather checks, simple summaries → Sonnet or even Haiku
- Deep analysis, weekly digests, creative tasks → Opus with thinking enabled
- Simple reminders → cheapest model available
--model "anthropic/claude-sonnet-4-20250514" # routine tasks
--model "opus" --thinking high # weekly deep work
3. Prefer Isolated Sessions
Isolated sessions start with a clean context window. Main-session jobs load your entire conversation history, which means more input tokens on every run. For most automations, isolated is both cheaper and cleaner.
4. Batch Where Possible
Instead of five separate morning cron jobs, consider one comprehensive morning briefing prompt that covers weather, email, calendar, and news in a single agent turn. One API call with a longer prompt is almost always cheaper than five separate calls.
5. Use Heartbeats for Fuzzy Timing
If exact timing doesn’t matter — “check sometime every 30 minutes” rather than “check at :00 and :30 precisely” — use the heartbeat system instead. Heartbeats batch multiple checks into one turn, reducing total API calls. Save cron for tasks where exact timing matters.
Managing Your Jobs
Quick reference for the CLI:
openclaw cron list # see all jobs
openclaw cron run # trigger manually
openclaw cron runs --id # view run history
openclaw cron edit --disable # pause a job
openclaw cron edit --enable # resume
openclaw cron remove # delete
Or just ask your agent: *”Set up a cron job that checks my email every 3 hours during work days and sends me a summary on Telegram.”* The agent has access to the cron tool and can create jobs directly.
Start Small
Don’t set up seven cron jobs on day one. Start with one morning briefing. Tune the prompt until the output is genuinely useful. Then add a second automation. Build up gradually — each job is an ongoing cost, and a noisy agent that spams your phone with mediocre summaries is worse than no automation at all.
The best OpenClaw automations are the ones you actually read. Start there.
—
*Have a cron setup that’s working well for you? We’d love to feature it. Reach out at openclawpulse.com/contact.*