Skip to main content
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.

Creating an automation

You never write cron files by hand. Ask Operator in chat:
Set up a recurring task on @daniel. Every weekday at 9 AM Eastern, pull
yesterday's sales numbers from Stripe, write a short summary, and send it
to 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.

Schedule types

Every job carries one of three schedule shapes:
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.

Cron format reference

minute hour day-of-month month day-of-week
ScheduleCron
Every hour on the hour0 * * * *
Every 15 minutes*/15 * * * *
Every 6 hours0 */6 * * *
Daily at 9 AM UTC0 9 * * *
Weekdays at 9 AM UTC0 9 * * 1-5
Sunday evenings at 18:00 UTC0 18 * * 0
Timezones are not part of the 5-field format. Ask Operator in local time and it will convert before writing the job.

What each automation stores

FieldDescription
NameHuman readable label shown in the sidebar
PromptWhat the agent on the instance should do when the job fires
Scheduleat, every, or cron in the shapes above
InstanceThe agent that owns the job and runs the prompt
DeliveryOptional channel or webhook for where the result lands
StateEnabled 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.

Example prompts

Every morning at 08:30 local time, scan my inbox, summarise what arrived
overnight, flag anything urgent, and post the summary to my personal
Telegram chat.

Where cron state lives

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.

Activity

See each scheduled run as it happens

Channels

Deliver automation output to Telegram or Discord

Instances

Where automations run