How to Monitor n8n Workflows (2026 Guide)

By Liran Udi··6 min read
To monitor n8n workflows, connect each n8n instance to a monitoring tool using a read-only API key, poll the executions API on a fixed interval (every few minutes), and alert on failed or missed executions. You can do this manually with n8n's Error Trigger node and a notification step, or use a dedicated monitor like Snuffler that watches every workflow across every instance from one dashboard.

Why monitoring n8n matters

n8n runs your automations in the background, which is exactly why failures are easy to miss. A workflow can stop firing, hit an expired credential, or silently error on one branch — and unless someone is watching, the first person to notice is usually the client whose invoice never went out.

For an agency running automations for several clients, the problem multiplies: more workflows, more instances, more places for something to break quietly. Monitoring turns "we found out when the client called" into "we fixed it before they noticed."

What to track

  • Execution failures — any execution that ends in an error or crashed state.
  • Missed schedules — a cron/interval workflow that should have run but didn't.
  • Success rate — failed vs. total executions over a period, per workflow and overall.
  • Latency — execution duration, so you catch workflows that are slowing down before they time out.
  • Instance health — whether each n8n instance is reachable at all.

Three ways to monitor n8n

1. The built-in Error Trigger node

n8n ships an Error Trigger node. Add a workflow that starts with it, then a Slack/email node, and n8n will run it whenever another workflow errors. It's free and built in, but it only fires on hard errors in workflows you've wired it into — it won't catch a schedule that never ran, and it gives you no history, no success-rate trend, and no cross-instance view.

2. A generic uptime / cron monitor

Tools like healthcheck/heartbeat services can tell you a scheduled job stopped pinging. They're better than nothing for "did it run", but they don't understand n8n executions, so you get no failure detail and nothing client-facing.

3. A purpose-built n8n monitor

A dedicated tool connects with a read-only API key, polls the executions API for every workflow, and gives you a health dashboard, alerting, history, and client reporting in one place. This is what Snuffler does — and because it's read-only, it never changes your workflows.

How to set it up (5 steps)

  1. Create a read-only API key in n8n (Settings → API). Grant only read access — a monitor never needs to edit or execute.
  2. Make sure the instance API is reachable from your monitor (public URL, or allowlist the monitor's IP if it's firewalled).
  3. Connect the instance to your monitoring tool with the URL + API key.
  4. Group workflows by client so alerts and reports are organised the way you bill.
  5. Configure alerts (failure, missed schedule) to the channels your team actually watches — Slack, email, or a webhook into your incident tool.

Doing it with Snuffler

Snuffler is built specifically for this: connect your instances read-only, and it polls every workflow, surfaces health on one dashboard, sends AI-explained alerts when something fails, and generates white-label SLA reports you can hand to clients. Setup takes minutes and requires no changes to your workflows.

Start a free Snuffler trial

Frequently asked questions

Can you monitor n8n without changing your workflows?
Yes. A read-only API key lets a monitor poll the executions API and track health without editing or executing anything in your workflows. Snuffler works this way.
Does n8n have built-in monitoring?
n8n has an Error Trigger node that can notify you when a workflow errors, but it has no cross-workflow dashboard, no success-rate history, and won't catch a schedule that never ran. A dedicated monitor fills those gaps.
How often should you poll n8n for failures?
Every few minutes is a good balance for most agencies — frequent enough to catch problems quickly without hammering the API. Snuffler polls on a fixed short interval per instance.