Docs › n8n Schedule Trigger monitoring with RunVouch
n8n Schedule Trigger monitoring with RunVouch
An n8n Error Workflow fires when a node errors. It stays quiet when the Schedule Trigger stops firing, when the instance is down, and when the workflow runs, finds nothing and exits green. The community forum thread on cron job monitoring asks for exactly that alert.
How it runs on n8n (community node)
Install the community node n8n-nodes-runvouch (Settings, Community Nodes, Install) and drop two RunVouch nodes in the workflow: Start Run right after the Schedule Trigger, End Run at the end with status and evidence. Heartbeat does both in one node when you only need the dead man's switch. Source and example workflow: integrations/n8n-nodes-runvouch. Without the node, two HTTP Request nodes do the same:
Store the key
A RunVouch API credential in n8n (Credentials, Add, RunVouch API); the node sets the X-API-Key header. With plain HTTP Request nodes, a header credential.
Report the run (two HTTP calls)
# node "RunVouch Start": operation Start Run, agent lead-enricher, expected every 60 min, grace 15 min
# node "RunVouch End": operation End Run, run ID {{ $("RunVouch Start").item.json.run_id }},
# status ok, evidence {{ { "leads_fetched": $json.count > 0 } }}
# the same with HTTP Request nodes
POST https://api.runvouch.com/v1/runs/start {"agent":"lead-enricher","source":"n8n"}
POST https://api.runvouch.com/v1/runs/end {"run_id":"...","status":"ok","evidence":{"leads_fetched":true}}The start call returns run_id; the end call takes status (ok or fail), optional cost and tokens, and evidence as a JSON object of booleans. Full reference on the API page.
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 n8n (community node)
- A deactivated workflow, an n8n restart without the workflow active, or a changed trigger: nothing runs, nothing errors. MISSED after cadence plus grace.
- The API returns an empty list, every node is green: the evidence expression is false and NO_EVIDENCE fires within a minute.
- An LLM node in a loop: pass the model usage as cost in End Run and set
rv agent lead-enricher --cap-day-cost 5.
What n8n (community node) does not tell you
n8n's Error Workflow and the error trigger fire when a node throws. They do not fire when the Schedule Trigger never fires (workflow deactivated, instance down, trigger edited), and they do not fire when every node succeeds on empty data. The community forum thread on cron job monitoring (2022, still active) asks for exactly that and the answer there is to ping a heartbeat URL from an HTTP Request node.
What RunVouch detects
| Alert | What it means here |
|---|---|
| MISSED | cadence plus grace passed and no run started |
| FAILED | non-zero exit or a reported failure, with the stderr excerpt |
| NO_EVIDENCE | the run said ok but the file, URL or assertion you required is missing |
| STALLED | a run started and never ended within max runtime |
| RETRY_STORM | the same tool called with identical input many times in one run |
| BUDGET_RUN / BUDGET_DAY | cost cap crossed; the agent is paused until you resume it |
| DRIFT | duration or output size far off its 7-run baseline |
Set up in two minutes
- Get a free key (3 agents, no card) and store it where this page says.
- report the run (two http calls): copy the snippet above into the scheduled job.
- 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. - 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