Skip to content
Operations Systems

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

  1. Schedule fires

    n8n cron trigger, every 30 min

  2. Health checks run

    n8n pings each critical workflow

  3. Runs logged centrally

    Apps Script writes to run log

  4. Status evaluated

    expected runs vs actual runs

  5. Failure detected

    missed run, error, or stale data

  6. Slack alert sent

    what broke, link to log

  7. 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.