How the watch works

Five checks, every five minutes, from outside your instance - so the watch keeps working even when your n8n doesn't.

The external watcher

Midwatch watches from outside - from the Cloudflare edge, the same vantage point your clients' webhooks originate from. That is deliberate. A monitor living inside your n8n instance dies with it. An external watch keeps watching: if your instance goes unreachable, that IS the finding, not a blind spot. One critical alert says 'the instance is down' - not twenty confused per-workflow alarms.

CRITICAL  MAV - Missed Call Textback - silent for 3h 42m (expected hourly)

DRIFT  Invoice Chaser - definition changed, no blessed baseline

OK  18 workflows on watch - last cycle 2m ago

The five checks

Hard failures

A workflow errored. The obvious one - except Midwatch catches it within the 5-minute cycle instead of whenever someone reads the morning digest, and severity follows the workflow's criticality: revenue-critical failures page by SMS.

Cadence silence

Every workflow with a schedule has a rhythm. Midwatch learns it from execution history (or you set it explicitly) and alerts when now minus last success exceeds the expected interval with a grace multiplier. This is the check that catches the workflow that just... stopped.

Zombie successes

A run that 'succeeds' while doing nothing. Midwatch watches output patterns; when a historically productive workflow starts emitting zero items, it inspects the suspicious run and alerts. The green checkmark stops lying.

Config drift

Every definition is normalized and hashed each cycle, then compared to the baseline you blessed. Any change raises a drift alert with the diff. Re-bless it or fix it - Midwatch never decides for you.

Reachability

API timeout, auth failure, non-2xx - one deduplicated critical alert on the instance, with per-workflow silence checks suppressed while it is down so you get signal, not noise.

The alert ladder

Severity Channel Example
Critical SMS + email revenue-critical workflow failed; instance unreachable
Warning Email drift detected; zombie suspected
Info Digest new workflow inventoried

Dedup and cooldown mean one incident is one alert thread, not an inbox flood. On top of the external watchdog, the daily digest is the secondary, human-visible heartbeat: a missing digest is one more prompt to investigate the watch itself.

Honest limitations

Policy checks scan workflow definitions - n8n exposes no external runtime hooks, so runtime interception is not possible from outside, and we will not pretend otherwise. The external dead-man watchdog is live: an independent watcher outside Midwatch probes it every few minutes and pages the operator if Midwatch itself goes quiet - so the watcher and Midwatch cover each other's blind spots. If a limitation matters to your fleet, ask us before you buy.