Ops & Monitoring · n8n

Website Down Alert: know your site is broken before your customers tweet about it

An n8n workflow that checks your critical pages every 5 minutes — homepage, checkout, API health endpoint — verifies both status code and expected content, and alerts your Telegram with escalating urgency: one failure logs quietly, two consecutive failures ping you, recovery reports itself.

difficulty Beginnersetup 20 minresult Minutes-not-hours awareness of outages, with zero false-alarm fatigue
  1. 1

    Define monitors in a sheet

    Columns: url, must_contain, state (up/suspect/down), since. Start with the three pages that cost money when broken: homepage, checkout or signup, and your API health endpoint if you have one.

  2. 2

    Check every 5 minutes

    A Schedule Trigger reads the sheet and an HTTP Request node (with a 15-second timeout, redirects followed, never-error mode so failures flow to logic instead of crashing the run) hits each URL. A Code node evaluates: status 200 AND body contains the fragment.

  3. 3

    Apply the two-strike rule

    Pass + state up → nothing. Fail + up → state becomes suspect, silent. Fail + suspect → down, alert fires. Pass + down → up, recovery message with downtime duration. All transitions update the sheet — which doubles as your incident history.

  4. 4

    Alert with what matters

    The Telegram down-alert includes URL, status code or timeout, which check failed (status vs content), and since-when: 🔴 checkout DOWN — 200 but 'Add to cart' missing — since 14:35. Enough to triage from your phone before opening a laptop.

Frequently asked questions

Why check content and not just the status code?

Because the ugliest outages return 200: an empty page from a broken build, a checkout that renders but the pay button errors, a CDN serving a stale error page. Each monitor pairs a URL with a text fragment that must appear ('Add to cart', your product name). Status OK + fragment missing = broken, and simple uptime tools miss it.

How does it avoid false alarms from network blips?

The two-strike rule: a single failed check writes state to the sheet and stays silent; the alert fires only when the next check (5 minutes later) also fails. Transient blips self-heal invisibly. Recovery flips the state back and sends a single '✅ back up — down ~12 min' message so you're never left wondering.

Isn't this what UptimeRobot is for?

For plain ping monitoring, yes — and it's good. This recipe earns its place when you want content verification, your own alert channels and escalation logic, monitors defined in a sheet your team can edit, and no per-monitor pricing as you grow. Plus it's one more flow in the n8n you already run.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.