Cron Jobs
Scheduled tasks for automation.
Overview
Cron jobs run prompts on a schedule:
- Daily summaries
- Periodic checks
- Automated reports
- Reminders
Creating Jobs
bash
# Add a cron job
openclaw cron add "job-name" \
--schedule "0 9 * * *" \
--prompt "Your prompt here"Schedule Format
Standard cron format:
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6)
│ │ │ │ │
* * * * *Examples
| Schedule | Description |
|---|---|
0 9 * * * | Every day at 9am |
0 9 * * 1 | Every Monday at 9am |
*/15 * * * * | Every 15 minutes |
0 0 1 * * | First of each month |
Managing Jobs
bash
# List all jobs
openclaw cron list
# Disable a job
openclaw cron disable job-name
# Enable a job
openclaw cron enable job-name
# Remove a job
openclaw cron remove job-name
# Run immediately
openclaw cron run job-nameConfiguration
json5
{
cron: {
enabled: true,
jobs: [
{
name: "daily-summary",
schedule: "0 9 * * *",
prompt: "Summarize yesterday's messages",
channel: "telegram", // Optional: send to channel
agent: "default"
}
]
}
}Output Options
Send results to a channel:
bash
openclaw cron add "morning-news" \
--schedule "0 8 * * *" \
--prompt "Get today's tech news" \
--channel telegram