Scheduled jobs that run inside your agent’s instance on a cron.
Automations are scheduled tasks that run inside one of your agents. They live on the machine alongside that agent, not on a separate platform service. When a schedule fires, the agent on that instance wakes up and runs the prompt you set, with the same filesystem, memory, and skills it uses during chat.Open the sidebar in operator.io and click Automations to see every scheduled job across your fleet. The sidebar sorts by next fire time. Paused jobs sink to the bottom.
You never write cron files by hand. Ask Operator in chat:
Set up a recurring task on @daniel. Every weekday at 9 AM Eastern, pullyesterday's sales numbers from Stripe, write a short summary, and send itto my Telegram.
Operator relays the request to the target instance and the agent there writes its own cron job into .openclaw/cron/jobs/. When the schedule fires, that same agent picks up the job and runs the prompt.
The sidebar on the Automations page has a + button that opens a new chat pre-filled with a prompt asking Operator to set one up. Edit the prompt before sending if you want different wording.
One-shot run at a specific ISO timestamp. After it fires, the job deletes itself.
Remind me to review the draft at 2026-04-25 09:00 UTC.
Fixed interval. Uses short duration strings like 30s, 5m, 4h, 1d. Counts from the last run; if the instance was offline, the next run starts when it comes back.
Every 4 hours, summarise what changed in my inbox since the last check.
What the agent on the instance should do when the job fires
Schedule
at, every, or cron in the shapes above
Instance
The agent that owns the job and runs the prompt
Delivery
Optional channel or webhook for where the result lands
State
Enabled or paused
Creation goes through chat. Deletion is a direct dashboard action: open a job on the Automations page and use the Delete automation row at the bottom of the detail pane. The instance restarts so the runtime picks up the removal.
Every morning at 08:30 local time, scan my inbox, summarise what arrivedovernight, flag anything urgent, and post the summary to my personalTelegram chat.
Every hour, check the release schedules of my 20 favourite musicians andfilmmakers. When anyone drops something new, save the reference into/data/library/ and ping me in Discord.
Every Friday at 17:00 UTC, compile everything I worked on this week.Group by project, write a short status note for each, and save it toreports/week-of-<date>.md.
Every Sunday at 02:00 UTC, look through my workspace. Archive anythingolder than 30 days into archive/ and delete anything under /tmp.
Each automation is a JSON file on the instance’s mounted filesystem:
.openclaw/cron/jobs/<job-id>.json
The runtime reads these at start and writes a new file whenever an agent creates a job. You can browse them from the Files page, but edits should go through chat so the instance restarts cleanly.
Manual edits to .openclaw/cron/jobs/ while the runtime is live can be overwritten when the gateway reloads its job list. Ask Operator to adjust schedules instead of editing the JSON directly.