Cron Automation
Schedule tasks and automate workflows with OpenClaw's built-in scheduler.
OpenClaw includes a powerful built-in scheduler for automating repetitive tasks. Schedule daily briefings, periodic checks, or complex workflows - all triggered automatically.
- ✓Time-based Triggers — Run tasks at specific times or intervals
- ✓Natural Language — Schedule with 'every day at 9am' or cron syntax
- ✓Full AI Access — Scheduled tasks can use all OpenClaw capabilities
- ✓Execution Modes — Run in main session or isolated contexts
Schedule Types
atRun at a specific time
at 09:00, at 14:30, at 00:00
everyRun at regular intervals
every 30 minutes, every 2 hours, every day at 9am
cronFull cron expression for complex schedules
0 9 * * 1-5 (weekdays at 9am)
Execution Modes
Task runs in your main OpenClaw session with full context and memory access.
- +Access to conversation history
- +Shared memory and context
- +Can reference previous tasks
- -May interrupt active conversations
- -Shares rate limits
Task runs in a separate, sandboxed context with its own memory.
- +No interference with main session
- +Clean execution environment
- +Better for sensitive tasks
- -No access to main session history
- -Separate memory space
CLI Examples
Schedule a daily reminder:
openclaw cron add --name "Check calendar" --at "20m" --session main --wake nowThis creates a job that runs every day at 9:00 AM.
Get a morning briefing with weather, calendar, and news:
openclaw cron add --name "Morning status" --cron "0 7 * * *" --tz "America/Los_Angeles" --session isolated --message "Summarize inbox" --deliver --channel whatsapp --to "+1555..."The AI will gather information and send a formatted briefing.
Check something every 30 minutes:
openclaw cron add --name "Health check" --every 300000 --session isolated --message "Check system status"Runs every 30 minutes starting from when the job is created.
Cron Syntax Reference
| Field | Range | Examples |
|---|---|---|
| Minute | 0-59 | 0, 30, */15 |
| Hour | 0-23 | 9, 14, */2 |
| Day of Month | 1-31 | 1, 15, */7 |
| Month | 1-12 | 1, 6, */3 |
| Day of Week | 0-6 (Sun=0) | 1-5, 0,6 |
| Pattern | Description |
|---|---|
| 0 9 * * * | Every day at 9:00 AM |
| 0 9 * * 1-5 | Weekdays at 9:00 AM |
| */30 * * * * | Every 30 minutes |
| 0 */2 * * * | Every 2 hours |
| 0 9 1 * * | First of every month at 9 AM |
| 0 0 * * 0 | Every Sunday at midnight |
Advanced Features
Conditional Execution
Run only if certain conditions are met
Chained Tasks
Run multiple tasks in sequence
With Tools
Use specific tools in scheduled tasks
Managing Jobs
List all jobs
openclaw cron listShows all scheduled jobs with their IDs and next run time
Remove a job
openclaw cron remove <job-id>Removes a scheduled job by its ID
Pause/Resume
openclaw cron pause <job-id>openclaw cron resume <job-id>Temporarily disable a job
View history
openclaw cron historySee past executions and their results
Job Storage
Cron jobs are stored locally and persist across restarts.
~/.openclaw/cron/jobs.json~/.openclaw/cron/runs/Jobs are loaded automatically when OpenClaw starts.
Start Automating!
Set up your first automated task and let OpenClaw work for you.