Scheduled Web Automation Monitoring System
The team's automations failed silently. A broken workflow could sit dead for days before anyone noticed — usually a customer or a wrong report surfaced it first.
Industry
Small business running multiple back-office automations (operations / internal tools)
Role
Systems consultant — monitoring design, automation build, alerting and documentation
Impact
Silent failures stopped being silent. Broken automations now get caught within the hour instead of days later by accident.
01 - Problem
The problem
The team had built up two years of workflow automation — lead routing, daily reports, data syncs. Each worked on the day it shipped. The problem was after: an API integration changed, a credential expired, a source spreadsheet got renamed, and the workflow just stopped. No error, no notification. The automations failed as quietly as they ran.
By the time anyone noticed, the damage was done — a week of leads that never reached the CRM, a daily report stale since the previous Tuesday. The team had started to distrust their own systems. They didn't need more automations; they needed to know, fast, when the existing ones broke.
02 - System Flow
How the system moves
Schedule fires
n8n cron trigger, every 30 min
Health checks run
n8n pings each critical workflow
Runs logged centrally
Apps Script writes to run log
Status evaluated
expected runs vs actual runs
Failure detected
missed run, error, or stale data
Slack alert sent
what broke, link to log
Team fixes fast
follows the runbook entry
03 - Build
What I built
Health-check scheduler in n8n
First I inventoried every automation the team depended on and defined what "healthy" means for each — daily, hourly, or trigger-only. Then I built a scheduled n8n workflow that checks each against its own definition: did it run when expected, did it error, and is its output data fresh. That last check matters, because a workflow can finish "successfully" while writing nothing useful.
Central run log via Apps Script
Every monitored workflow reports its runs to one Google Sheet through a small Apps Script web app — timestamp, name, status, and any error message. Now the team has one place to answer "did this run last night?" instead of digging through execution histories tool by tool. The sheet doubles as a lightweight operations dashboard, with a summary tab showing last-run status at a glance.
Slack alerts that say where to look
When a check fails, a Slack message hits the ops channel — not a vague "something broke," but the workflow name, failure type, last successful run, and a direct link to the run log row and runbook entry. I wrote the runbook too: one page per automation covering what it does, common failure causes, and the first three things to check. The point was that anyone on the team could respond, not just whoever built the workflow.
04 - Impact
Business impact
Failures get caught within the monitoring window — usually under an hour — instead of surfacing days later through a complaint or a wrong report.
The weekly "is everything still running?" spot-check disappeared; the run log answers it in one glance.
Trust in the automation stack came back, so the team relies on it again instead of double-checking output by hand.
Alerts plus runbook entries let any team member triage a failure, so fixes no longer wait on one person.
05 - Edge Cases
What had to be handled
A workflow can succeed technically while producing stale or empty data, so checks validate data freshness, not just execution status.
The monitor itself could fail silently, so a daily heartbeat confirms it's alive — no heartbeat is itself an alert.
One upstream outage can break several workflows at once, so related alerts are grouped into a single message instead of ten pings.
Some workflows legitimately skip weekends or holidays, so each check carries its own expected schedule rather than one global rule that cries wolf.
06 - Improvements
What I would improve next
Add severity tiers so a failed lead-routing workflow pages louder than a cosmetic report delay.
Track failure history to spot flaky workflows that deserve a rebuild rather than repeated patching.
Add one-click acknowledge and snooze in Slack so the team can mark an alert handled without leaving the channel.
Related capabilities