Choosing the Right Automation Mechanism in OpenClaw
Compares OpenClaw's four native background mechanisms: runtimes, scheduled jobs, event hooks, and standing instructions. Includes a decision guide for picking the right one per use case.
Read this when
- Deciding how to automate work with OpenClaw
- Choosing between automations, hooks, and standing orders
- Looking for the right automation entry point
OpenClaw handles background work with four native mechanisms: runtimes, scheduled jobs, event hooks, and standing instructions. This page helps you choose which one fits.
Quick decision guide
flowchart TD
START([What do you need?]) --> Q1{Schedule work?}
START --> Q3{Orchestrate multi-step flows?}
START --> Q4{React to lifecycle events?}
START --> Q5{Give the agent persistent instructions?}
Q1 -->|Yes| CRON["Automations"]
Q3 -->|Yes| FLOW[Lobster]
Q4 -->|Yes| HOOKS[Hooks]
Q5 -->|Yes| SO[Standing Orders]
| Use case | Recommended | Why |
|---|---|---|
| Send daily report at 9 AM sharp | Automations | Exact timing, isolated execution |
| Remind me in 20 minutes | Automations | One-shot with precise timing (--at) |
| Run weekly deep analysis | Automations | Standalone task, can use different model |
| Check inbox every 30 min | Automations | Independent recurring schedule and job history |
| Trigger safely on new IMAP email | IMAP plugin | Sender-gated isolated reader sessions |
| Monitor calendar for upcoming events | Automations | Explicit recurring schedule and delivery policy |
| Surface ambient main-session updates | Automations | Editable monitoring jobs with quiet results |
| Run a script on session reset | Hooks | Internal HOOK.md scripts react to lifecycle events |
| Trigger an agent from an external service | Webhooks | Authenticated HTTP ingress, not an internal event hook |
| Execute code on every tool call | Plugin hooks | Typed api.on(...) handlers can intercept tool calls |
| Always check compliance before replying | Standing Orders | Injected into every session automatically |
Periodic monitoring
Recurring reports, reminders, and ambient checks are all just automation jobs. Schedule, context, delivery policy, and history belong to each job individually. Reach for activeHours and idleOnly when a check needs to respect quiet hours and foreground work; for a small checklist use scratch, and for cases where nothing requires attention use NO_REPLY. Heartbeat monitors that already exist are migrated by Doctor.
Core concepts
Automations
OpenClaw's built-in scheduler, Automations, handles every recurring and one-shot task, periodic monitors included. Jobs are persisted by the scheduler, which wakes the agent at the correct moment and can send output to a chat channel or a webhook endpoint. One-shot reminders, recurring intervals, cron expressions, and inbound webhook triggers are all supported.
See Automations.
Background execution and workflows
To launch delegated runs and wait on them, use Sub-agents; for coding harness sessions use ACP; and to inspect scheduled work, consult automation run history. Execution and completion are each runtime's own responsibility.
Lobster executes local pipelines with approvals that can be resumed. The shared Tasks ledger, the TaskFlow orchestration API, and the TaskFlow Webhooks plugin are no longer present. Authenticated external triggers can still go through generic Gateway HTTP hooks.
Standing orders
Through standing orders, the agent receives permanent operating authority over defined programs. They are kept in workspace files (usually AGENTS.md) and injected into every session. Pair them with automations when enforcement must be time-based.
See Standing Orders.
Hooks
Internal hooks are scripts driven by events: agent lifecycle events (/new, /reset, /stop), session compaction, gateway startup, and message flow all trigger them. Hook directories are where they get discovered, and openclaw hooks is how they are managed. When you need to intercept tool calls in-process, reach for Plugin hooks.
See Hooks.
Heartbeat
Heartbeat monitors that already exist become ordinary editable jobs, each with its own scratch, execution policies, and delivery settings. Setup creates one proactive check for the ambient owner; job edits and deletions are left untouched by later reloads and restarts. See Heartbeat migration.
How they work together
- Automations handle recurring reports, reminders, and monitoring checks. Every independently scheduled task gets its own job.
- Hooks respond to particular events (session resets, compaction, message flow) by running custom scripts. Tool calls are covered by plugin hooks.
- Standing orders supply the agent with persistent context and authority boundaries.
Retired inferred commitments
Version v2026.8.1 dropped the inferred commitments experiment: OpenClaw no longer pulls follow-ups out of conversations, nor does it deliver them via heartbeat. The openclaw commitments maintenance CLI has been removed as well. Old commitment rows are discarded by the database migration, which also drops their table and indexes.
To get reminders or scheduled work, create an explicit automation. Automations offer a different approach, with a schedule and instructions that you pick; inferred follow-ups are not brought back by them.
Related
- Automations, precise scheduling and one-shot reminders
- IMAP email trigger, sender-gated inbound email and isolated reader sessions
- MCP Events, subscribed events, signed callbacks, and Automation runs
- Hooks, event-driven lifecycle scripts
- Plugin hooks, in-process tool, prompt, message, and lifecycle hooks
- Standing Orders, persistent agent instructions
- Heartbeat migration, convert periodic monitoring to editable jobs
- Configuration Reference, all config keys