The current execution model
| Primitive | Use it for | Do not confuse it with |
|---|---|---|
| Automations | Exact schedules, reminders, isolated jobs | The task ledger |
| Heartbeat | Small context-aware monitor checks | A durable scheduler |
| Background Tasks | Tracking detached execution | A schedule |
| Task Flow | Dependent multi-step work | One recurring job |
Create a recurring Automation
Give important schedules an explicit timezone and choose a session style. An isolated run starts with fresh context and creates a task record, which is usually the cleanest choice for standalone reports.
openclaw automations add \
--name "Weekday morning brief" \
--cron "0 9 * * 1-5" \
--tz "America/Los_Angeles" \
--session isolated \
--message "Prepare the morning brief. Cite sources and deliver one concise report."Inspect the job and its runs
A schedule existing is not proof that its business outcome happened. Check the job definition and run history, then verify the artifact the job was meant to create.
openclaw automations list
openclaw automations get <job-id>
openclaw automations runs --id <job-id>Production safeguards
- Set a timeout shorter than the interval between expected runs.
- Use a stable outcome key before any send, publish, payment, or mutation.
- Save external result IDs immediately after success.
- Keep each retry in a separate attempt folder.
- Verify the final artifact instead of trusting a worker's last sentence.
- Keep the Gateway running. A sleeping laptop cannot execute its schedule.
Choosing between Automation and heartbeat?
The production guide explains the split through failure ownership, with concrete examples and a deployment checklist.
Browse the production guides →