When an n8n workflow silently stops (or silently does nothing)
The Error Trigger catches exceptions. It can't catch a workflow that never ran, or one that ran perfectly on empty data.
Three ways n8n fails without an error
- The trigger never fires. The instance restarted, the container ran out of memory, the queue worker died, or the workflow was deactivated during an edit. No execution means no Error Trigger.
- "Success" with nothing in it. An HTTP Request node returns
200 OKwith an empty array, an API changes shape, or an IF node routes everything to the false branch. The execution is green; the output is empty. - Self-hosted drift. Credentials expire, a webhook URL changes after a domain move, or the host's clock and timezone don't match what you think.
Add a heartbeat at the end of the workflow
Add an HTTP Request node as the final step that POSTs to your Did It Run? ping URL with the number of items processed:
{ "items": {{ $input.all().length }}, "text": "run complete" }Create the watch with the same schedule as your Schedule Trigger and a grace window that covers normal run time. If the ping doesn't arrive by the deadline, you're alerted by email, Slack, Discord or Telegram.
Turn "green but empty" into an alert
Set Minimum item count to 1 (or whatever is normal). A run that processes zero items now raises an empty alert instead of a false sense of security. You can also require a keyword or a minimum body size.
Get failures instantly too
Point your error workflow (Error Trigger → HTTP Request) at /fail on the same ping URL. Failures alert right away; missed runs alert at the deadline.
Monitoring many workflows
The daily roll-call digest lists every workflow that ran, every one that's missing, and every one that came back empty — one email instead of opening the executions list for each workflow.
FAQ
Does this work with self-hosted n8n?
Yes. The workflow only needs outbound HTTPS to reach the ping URL. Nothing is installed on your server.
Can I monitor n8n Cloud?
Yes, the HTTP Request node works the same on n8n Cloud.
What if the HTTP Request node itself fails?
Enable Retry On Fail on the node. If it still can't reach us, the run counts as missed and you get alerted — which is the right outcome.
Know the next time it doesn't run
Know when your AI agents and automations didn't run. Free for 3 watches.
Start free