Skip to main content
OpenClaw runs work in the background through tasks, scheduled jobs, event hooks, and standing instructions. Use this page to pick the right mechanism.

Quick decision guide

Automations vs Heartbeat

Both use the same Automations scheduler. Create an automation for work with its own instructions or schedule; use heartbeat as the system-owned ambient monitor when periodic main-session awareness is useful.

Core concepts

Automations

Automations are OpenClaw’s built-in scheduler for all recurring and one-shot work, including heartbeat monitors. The scheduler persists jobs, wakes the agent at the right time, and can deliver output to a chat channel or webhook endpoint. It supports one-shot reminders, recurring intervals and cron expressions, and inbound webhook triggers. See Automations.

Tasks

The background task ledger tracks all detached work: ACP runs, subagent spawns, isolated automation runs, and CLI operations. Tasks are records, not schedulers. Use openclaw tasks list and openclaw tasks audit to inspect them. See Background Tasks.

Task Flow

Task Flow is the flow orchestration substrate above background tasks. It manages durable multi-step flows with managed and mirrored sync modes, revision tracking, and openclaw tasks flow list|show|cancel for inspection. See Task Flow.

Standing orders

Standing orders grant the agent permanent operating authority for defined programs. They live in workspace files (typically AGENTS.md) and are injected into every session. Combine with automations for time-based enforcement. See Standing Orders.

Hooks

Internal hooks are event-driven scripts triggered by agent lifecycle events (/new, /reset, /stop), session compaction, gateway startup, and message flow. They are discovered from hook directories and managed with openclaw hooks. For in-process tool-call interception, use Plugin hooks. See Hooks.

Heartbeat

Heartbeat is a system-owned monitor automation that runs a periodic main-session turn, every 30 minutes by default. It can use small monitor-scratch context to surface anything requiring attention without creating a detached task record or extending session freshness. Create separate automation jobs for work requiring its own schedule. Empty scratch skips as empty-heartbeat-file. Scheduled monitor turns defer while the main queue or automation work is busy, another run for the same agent is active, or the target session has active or queued work. See Heartbeat.

How they work together

  • Automations own every recurring schedule, including reports, reminders, and heartbeat monitors. Detached automation runs create task records; main-session runs do not.
  • Heartbeat is the system-owned ambient monitor automation. Independently scheduled checks belong in their own automation jobs.
  • Hooks react to specific events (session resets, compaction, message flow) with custom scripts. Plugin hooks cover tool calls.
  • Standing orders give the agent persistent context and authority boundaries.
  • Task Flow coordinates multi-step flows above individual tasks.
  • Tasks automatically track all detached work so you can inspect and audit it.

Retired inferred commitments

The inferred commitments experiment has been removed: OpenClaw no longer extracts follow-ups from conversations or delivers them through heartbeat. The openclaw commitments maintenance CLI is also gone. The database migration discards the old commitment rows and removes their table and indexes. For reminders or scheduled work, create an explicit automation. Automations are an alternative with a schedule and instructions you choose; they do not restore inferred follow-ups.