OpenClaw Cron Job Configuration - Make Your AI Assistant Proactively Execute Scheduled Tasks

At 3 AM, while you’re still sleeping, your AI assistant has already compiled your daily stock market report, analyzed important emails in your inbox, and even adjusted your smart home temperature based on the weather forecast. Sounds like science fiction? Actually, with OpenClaw’s Cron Job feature, all of this is easily achievable.
Honestly, when I first started using OpenClaw, I treated it like a “premium ChatGPT” — ask when I have questions, tell it when I need something done. But after using it for a while, I found this passive mode quite exhausting. Every morning, the first thing I’d do was open OpenClaw and ask: “What’s the weather today? What’s on my schedule?” Then at noon, I’d have to manually ask about stock prices again. Before bed, I’d need to remember to have it check the door and window status…
To be honest, during that time I kept thinking: if AI is so smart, why can’t it proactively do these things for me? It wasn’t until I discovered OpenClaw’s Cron Job feature that I truly understood what “autonomous agent” means.
Why You Need AI Scheduled Tasks
I wonder if you’ve felt this way: traditional AI assistants, while capable, are like passive customer service — they won’t speak unless you ask. This mode works fine for ad-hoc questions, but for tasks that need regular checking and repeated execution, it becomes particularly troublesome.
Let me give you a real example. A friend of mine is a stock investor who used to manually check several key stocks’ price changes every day. Once, he forgot to check the market during a meeting and missed an important selling opportunity, losing tens of thousands. Later he complained to me: “If only the AI could proactively remind me.”
That’s exactly the pain point — repetitive work wastes time, and critical moments are easily missed.
Here’s another personal experience. I have a habit of needing to know the day’s weather, schedule, and important news every morning. With regular AI assistants, I had to manually ask these three questions every morning, spending several minutes just typing. Now, with OpenClaw’s scheduled tasks configured, this information automatically pushes to my Telegram at 7 AM every day, and I can read it all while brushing my teeth.
You see, that’s the value of proactive mode: truly freeing up your energy to focus on creative work instead of repetitive operations.
OpenClaw Cron Job Core Concepts
If you’ve used Linux systems, you should be familiar with the word “Cron.” Simply put, Cron is a scheduled task mechanism that lets you specify a program to run automatically at specific times. For example, automatically backing up databases at 2 AM daily, or sending weekly report reminders every Monday at 9 AM.
OpenClaw’s Cron Job essentially introduces this mechanism into AI assistants, but it’s much smarter than traditional Cron. According to 2026’s latest technical documentation, OpenClaw manages all cron tasks through its Gateway scheduler and can automatically recover after restarts, ensuring persistent task execution.
Two Execution Modes: Main vs Isolated
OpenClaw provides two execution modes. I was confused at first too, but later figured out the difference:
1. Main Session Mode
This mode places scheduled tasks in your main conversation for execution. What does that mean? Just like when you normally chat with OpenClaw, it can see your previous conversation history and knows your preferences and background information.
Use Cases:
- Tasks requiring personalized content (like daily briefings where AI knows which news you follow)
- Tasks requiring context (like continuing yesterday’s document)
- Complex tasks needing full conversation history
2. Isolated Session Mode
This mode creates an independent execution space (cron:<jobId>) for scheduled tasks without affecting your main conversation. It’s like opening a “secondary account” specifically for handling this task.
Use Cases:
- High-frequency monitoring tasks (like checking stock prices every 30 minutes)
- Tasks not requiring conversation history (like weather queries)
- Tasks avoiding main conversation interference (like heavy log analysis)
Core Features Overview
OpenClaw’s Cron Job has several features I particularly like:
Standard Cron Syntax Support
If you’ve used Linux Cron before, you’ll find the syntax familiar here. 0 7 * * * means every day at 7 AM, */30 * * * * means every 30 minutes.
Multi-Channel Push
Task execution results can be pushed to Telegram, WhatsApp, or Slack. I usually use Telegram because I can see notifications on my phone in real-time.
Persistent Storage
Configured tasks are saved in the ~/.openclaw/cron/jobs.json file. Even if OpenClaw Gateway restarts, tasks won’t be lost.
Instant Wake (Wake Now)
For urgent tasks that you don’t want to wait for the scheduled time, you can use the --now parameter to execute immediately, especially useful for testing.
Automatic Cleanup
One-time tasks (like reminding me about a meeting tomorrow at 3 PM) are automatically deleted after successful execution, no manual cleanup needed.
BestEffort Delivery Mode
This is a very practical feature: when enabled, even if notification push fails (like network issues), it won’t prevent the next task execution.
Step-by-Step Configuration of Your First Cron Job
Enough theory, let’s get practical. I’ll walk you through configuring the most useful scenario: daily morning briefing.
Scenario Setup
I want AI to automatically send me a briefing at 7 AM every day (weekdays), including:
- Today’s weather forecast
- Important events on my calendar
- A few tech news items
- An inspirational quote (purely personal preference, haha)
Configuration Steps
Step 1: Add New Task
Open terminal and execute:
openclaw cron add --name "Morning Brief"This command creates a new task entry in the configuration file.
Step 2: Edit Configuration File
nano ~/.openclaw/cron/jobs.jsonIf you’re not comfortable with nano, use vim or any editor you prefer.
Step 3: Fill in Configuration
In the opened file, find the task you just created and modify it like this:
{
"name": "Morning Brief",
"schedule": "0 7 * * 1-5",
"skill": "daily-brief",
"action": "main",
"prompt": "Generate today's briefing: 1) Local weather forecast 2) My calendar events (from Google Calendar) 3) 3 important tech industry news items 4) An inspirational quote suitable for today",
"notify": {
"channel": "telegram",
"bestEffort": true
}
}Configuration Explained
Let me explain what each field means:
name: Task name, choose whatever helps you identify it.
schedule: Timing rule. Here 0 7 * * 1-5 means:
0- Minute 0 (on the hour)7- 7 AM*- Any day of the month*- Any month1-5- Monday through Friday (no weekend disturbance)
skill: The skill to invoke. If you’ve configured custom skills, fill in the skill name; if not, you can write prompts directly in the prompt field.
action: Execution mode. Using main here because I want AI to know my preferences (like which city I live in, which tech areas I follow).
prompt: Specific task instruction. The more detailed you write, the more accurately AI executes.
notify: Notification configuration.
channel: Push channel, I use TelegrambestEffort: This is important! Setting totruemeans even if push fails (like network issues), it won’t prevent the next task execution.
Verification and Testing
After configuration, don’t rush to wait until 7 AM tomorrow, test it first:
View Configured Tasks
openclaw cron listYou should see the “Morning Brief” you just configured.
Test Run Immediately
openclaw cron run "Morning Brief" --nowThis command triggers the task immediately without waiting until 7 AM. If configured correctly, you should receive a message on Telegram soon.
View Execution History
openclaw cron runsThis command displays execution records of all tasks, including success count, failure reasons, etc. If tasks don’t execute as expected, you can find clues here.
Real-World Application Scenarios
After configuring your first task, you might wonder: “What else can Cron Jobs do?” Actually, the possibilities are vast. Let me share a few scenarios I’m currently using.
Scenario 1: Stock Price Monitoring
Remember that stock investor friend I mentioned earlier? His current configuration looks like this:
{
"name": "Stock Price Monitor",
"schedule": "*/30 9-16 * * 1-5",
"skill": "stock-monitor",
"action": "isolated",
"prompt": "Check current prices for these stocks: AAPL, GOOGL, TSLA. If any stock price changes by more than 3%, immediately push detailed information. Otherwise, don't push.",
"notify": {
"channel": "telegram",
"condition": "price_alert_triggered"
}
}Key Points:
*/30 9-16 * * 1-5: Check every 30 minutes during trading hours (9 AM to 4 PM)action: "isolated": Use isolated mode to avoid polluting main conversation with half-hourly check resultscondition: Only push when condition is triggered, avoiding useless notifications
Since configuring this task, he hasn’t missed any important price movements.
Scenario 2: Inbox Zero Management
I have a manager friend who processes hundreds of emails daily. His configuration is:
{
"name": "Email Inbox Monitor",
"schedule": "0 */2 * * *",
"skill": "inbox-zero",
"action": "isolated",
"prompt": "Connect to Gmail, check unread emails. Categorize into three types: Urgent (needs immediate handling), Important (handle today), Regular (handle this week). Draft reply suggestions for urgent emails.",
"notify": {
"channel": "slack",
"bestEffort": true
}
}Key Points:
0 */2 * * *: Check every 2 hours- Push to Slack work channel for team collaboration
- AI automatically categorizes and drafts replies, greatly improving efficiency
Scenario 3: Smart Home Night Inspection
If you have smart home devices, this scenario might be useful:
{
"name": "Smart Home Night Check",
"schedule": "0 23 * * *",
"skill": "home-security",
"action": "main",
"prompt": "Perform nightly security check: 1) Check all door/window sensor status 2) Confirm security system is enabled 3) Check indoor temperature is between 18-24°C 4) Confirm all lights are off (except night lights). Notify immediately if any anomalies.",
"notify": {
"channel": "whatsapp"
}
}Automatic inspection at 11 PM every night, pushing to WhatsApp immediately if issues are found. I’ve used it for half a year and it’s already caught two instances of unlocked doors.
Scenario 4: GitHub Repository Monitoring
Programmer friends might need this:
{
"name": "GitHub Repo Monitor",
"schedule": "0 10 * * *",
"skill": "github-monitor",
"action": "isolated",
"prompt": "Check my GitHub repositories (list: repo1, repo2, repo3): 1) New Issues 2) New Pull Requests 3) Star count changes. Generate daily summary report.",
"notify": {
"channel": "telegram",
"bestEffort": true
}
}Receive a GitHub activity summary at 10 AM daily, no need to manually refresh pages.
Advanced Tips and Best Practices
After using OpenClaw Cron Jobs for a while, I’ve summarized some experiences to share with you.
Best Practices Checklist
1. Isolate Noisy Tasks
High-frequency monitoring tasks (like checking every 10 minutes) must use isolated mode, otherwise your main conversation will be flooded. I made this mistake early on, configuring a task running every 5 minutes with main mode, resulting in the main conversation being filled with monitoring logs and unable to chat normally.
2. Use Wake Mode for Critical Tasks
For very time-sensitive tasks, add "wake": "now" to the configuration. This ensures tasks execute at the precise time point rather than waiting for the next heartbeat cycle.
3. Bind to Specific Agents
If you’ve configured multiple specialized Agents (like one specifically for handling emails), you can use the agentId field to specify which Agent executes the task:
{
"agentId": "email-specialist",
"name": "Email Monitor",
...
}4. Set Notifications Appropriately
Not all tasks need push notifications. For example, I have a task that backs up notes every hour — this doesn’t need notifications, just log records. For non-critical tasks, setting bestEffort: true is recommended to avoid occasional push failures affecting the entire task chain.
5. Combine with Heartbeat Checks
OpenClaw has a heartbeat mechanism that can periodically check certain conditions. You can combine Cron Jobs with heartbeat to achieve smarter conditional triggering.
Cron Syntax Quick Reference
Honestly, Cron syntax is a bit hard to remember at first. I’ve organized commonly used ones:
# Every minute
* * * * *
# Daily at 9 AM
0 9 * * *
# Weekdays at 5 PM (Monday through Friday)
0 17 * * 1-5
# Every Sunday at 8 PM
0 20 * * 0
# Every 15 minutes
*/15 * * * *
# At minute 30 of every hour
30 * * * *
# At 2 AM on the 1st of every month
0 2 1 * *
# At midnight on January 1st every year
0 0 1 1 *
# Every hour from 10 AM to 6 PM daily
0 10-18 * * *Format is: minute hour day month weekday
If you still find it troublesome, I recommend using the online tool “Crontab Guru” (crontab.guru) — input your desired time and it will auto-generate the syntax.
Debugging Tips
When tasks don’t execute or results aren’t right, how do you troubleshoot? My experience:
Monitor Logs in Real-Time
tail -f ~/.openclaw/logs/cron.logThis command displays Cron task execution logs in real-time. You can see each task’s trigger time, execution results, and error messages.
Check Task Status
openclaw cron status "Morning Brief"View detailed status of a specific task, including last execution time, next scheduled time, success rate, etc.
Manual Trigger with Debug
openclaw cron run "Morning Brief" --now --debugThe --debug parameter outputs detailed execution process, showing AI’s thinking steps and API call details.
Verify Cron Syntax
If you suspect timing configuration issues, use online tools (like crontab.guru or cron-job.org) to verify your syntax is correct.
Security Recommendations
OpenClaw scheduled tasks might involve sensitive operations. Here are some security recommendations:
1. Avoid Storing Credentials in Plain Text
If tasks need to access third-party services (like Gmail, stock APIs), don’t write API keys directly in configuration files. Use environment variables:
{
"prompt": "Use environment variable $GMAIL_API_KEY to connect to Gmail..."
}2. Regularly Review Execution Logs
Periodically check the ~/.openclaw/logs/ directory for any abnormal execution records. I spend 5 minutes browsing through them every Friday.
3. Set Failure Notifications
For important tasks, configure failure notifications:
{
"notify": {
"onFailure": true,
"channel": "telegram"
}
}This way you’ll know immediately when task execution fails.
4. Minimize Permissions
If a task only needs read permissions, don’t give it write permissions. OpenClaw supports fine-grained permission control — use it well.
Final Thoughts
Honestly, configuring OpenClaw Cron Jobs completely changed how I use AI assistants. Before, I treated AI as a “passive tool,” only calling it when needed. Now it’s more like my “proactive partner,” able to judge for itself what to do and when.
From passive response to proactive execution, this isn’t just a technical feature — it’s an evolution in the AI assistant’s role. You no longer need to remember what questions to ask AI daily, nor worry about forgetting important checks — AI will proactively complete these tasks at appropriate times.
If you haven’t tried OpenClaw’s Cron Job feature yet, I strongly recommend starting with a simple scenario like daily morning briefings. Configuration takes less than 5 minutes, but the efficiency gains are long-term.
I currently have about a dozen scheduled tasks configured, covering work, life, investments, and more. When I wake up each morning, important information has already been compiled and pushed to my phone; during work I don’t need to frequently switch windows to check emails and messages; before bed, home security checks are automatically completed. This feeling is truly great — AI isn’t waiting for your orders, but proactively handling those repetitive yet necessary tasks.
Finally, if you encounter any issues during configuration, check OpenClaw’s official documentation or ask in the community. Everyone is happy to share their configuration experiences and usage insights.
Start configuring your first scheduled task now! Starting tomorrow, let AI work proactively for you.
References:
- OpenClaw Official Documentation
- Cron Syntax Generator
- OpenClaw Community
- OpenClaw Telegram Integration Tutorial
OpenClaw Cron Job Setup Flow
Complete steps to create, configure, and verify OpenClaw Cron Jobs
⏱️ Estimated time: 15 min
- 1
Step1: Add Task
Run CLI command to create task entry:
openclaw cron add --name "Morning Brief" - 2
Step2: Edit Config
Modify ~/.openclaw/cron/jobs.json file.
Set Schedule (e.g. 0 7 * * 1-5 for weekday mornings) - 3
Step3: Define Prompt
Set Action (Main/Isolated) and Prompt.
Example: "Generate daily brief: weather, schedule, news" - 4
Step4: Set Notification
Configure Channel (Telegram/Slack) and BestEffort params.
Ensure notifications can reach your phone. - 5
Step5: Verify
Trigger immediate test task:
openclaw cron run "Morning Brief" --now
FAQ
Tasks not executing?
2. Verify syntax with crontab.guru
3. Check errors in ~/.openclaw/logs/cron-errors.log
How to prevent blocking?
Also define reasonable timeouts.
Can I pause tasks?
Use enable command to resume.
Inaccurate timing?
Note execution is limited by Gateway start time.
11 min read · Published on: Feb 5, 2026 · Modified on: Feb 5, 2026
Related Posts
Deep Dive into OpenClaw Architecture: Technical Principles and Extension Practices of the Three-Layer Design

Deep Dive into OpenClaw Architecture: Technical Principles and Extension Practices of the Three-Layer Design
Let AI Read Documentation for You: OpenClaw Browser Automation Practical Guide

Let AI Read Documentation for You: OpenClaw Browser Automation Practical Guide
OpenClaw Configuration Details: A Complete Guide to openclaw.json & Best Practices


Comments
Sign in with GitHub to leave a comment