Docs › OpenClaw cron job monitoring with RunVouch

OpenClaw cron job monitoring with RunVouch

OpenClaw cron job monitoring from outside the gateway: openclaw automations create "0 7 * * *" (the openclaw cron alias still works) runs an agent turn on a schedule, in the main session or an isolated one. When the gateway is down at fire time, or the job has been auto-disabled after ten failures, the schedule is a line in a list that nobody reads.

How it runs on OpenClaw automations and heartbeat

Two layers. A host cron line wraps a health probe of the gateway so the whole instance has a heartbeat. Per job, the RunVouch skill makes the agent report start, tool calls and end with evidence; for a task that runs a script, the verified-run skill wraps it with the output file as evidence.

Store the key

RUNVOUCH_KEY in the OpenClaw gateway environment (the skill reads it there) and in the host crontab environment for the heartbeat line.

Wrap the job

# 1. the instance: a heartbeat every 15 minutes from host cron (MISSED if the gateway stops answering)
rv agent openclaw-gateway --cadence 15m --grace 5m --cap-day-cost 10
*/15 * * * * rv run openclaw-gateway -- curl -fsS http://127.0.0.1:18789/health

# 2. a scheduled job, isolated session, announced to the chat
openclaw automations create "0 7 * * *" --name "Morning inbox triage" --session isolated --announce \
  --message "Triage overnight mail per SKILL.md runvouch: report start, each tool call and the end with evidence."
rv agent openclaw-inbox --cadence 24h --grace 1h --evidence --cap-run-cost 1

# the skill makes the agent do this itself
curl -s -X POST https://api.runvouch.com/v1/runs/start -H "X-API-Key: $RUNVOUCH_KEY" -H "content-type: application/json" \
  -d '{"agent":"openclaw-inbox","source":"openclaw"}'
curl -s -X POST https://api.runvouch.com/v1/runs/end -H "X-API-Key: $RUNVOUCH_KEY" -H "content-type: application/json" \
  -d '{"run_id":"...","status":"ok","cost":0.21,"evidence":{"replied":true}}'

# 3. check what OpenClaw itself recorded
openclaw automations runs --id <jobId> --limit 20

rv fails open: if RunVouch is unreachable the job still runs and you get one warning line.

Register the cadence and caps

rv agent nightly-report --cadence 24h --grace 30m --max-runtime 1h --evidence --cap-run-cost 2

Register the agent once, from anywhere with the key. Cadence is what turns a schedule that stopped into an alert; --evidence makes a run without evidence a failure; the caps pause the agent when it overspends.

What goes silent on OpenClaw automations and heartbeat

What OpenClaw automations and heartbeat does not tell you

OpenClaw keeps a run history per job (openclaw automations runs --id) and disables a recurring job after ten consecutive failures with one notification. It does not notify when a job fired into a gateway that was down, when a disabled job stays disabled, or when the agent finished its turn without doing what the prompt asked. openclaw system heartbeat last shows the last heartbeat time to whoever runs it; nothing calls you when that time stops moving.

What RunVouch detects

AlertWhat it means here
MISSEDcadence plus grace passed and no run started
FAILEDnon-zero exit or a reported failure, with the stderr excerpt
NO_EVIDENCEthe run said ok but the file, URL or assertion you required is missing
STALLEDa run started and never ended within max runtime
RETRY_STORMthe same tool called with identical input many times in one run
BUDGET_RUN / BUDGET_DAYcost cap crossed; the agent is paused until you resume it
DRIFTduration or output size far off its 7-run baseline

Set up in two minutes

  1. Get a free key (3 agents, no card) and store it where this page says.
  2. wrap the job: copy the snippet above into the scheduled job.
  3. Register the cadence once: rv agent nightly-report --cadence 24h --grace 30m --evidence, or let the first run create the agent and set the cadence on the dashboard.
  4. Send one test alert: curl -X POST https://api.runvouch.com/v1/settings/test-alert -H "X-API-Key: $RUNVOUCH_KEY". The next missed, failed or empty run reaches the same channels.

Need a key? Get a free key · Stuck? contact