🚨 Build Your Own Website Uptime Monitoring System n8n
Keeping websites online 24/7 is critical for startups, SaaS owners, and IT teams. Traditional monitoring tools like UptimeRobot or Pingdom work well—but they can be expensive, lack flexibility, or don’t give you full control.
In this guide, we’ll walk through how you can set up your own no-code website uptime monitoring system using n8n, Google Sheets, Gmail, Slack, Telegram, and Vapi (for phone alerts). This workflow will:
- Check your websites every 5 minutes
- Instantly alert your team if a site goes down
- Track downtime in Google Sheets
- Notify you when the site comes back online
✅ The Problem This Workflow Solves
Manually checking websites is impossible, and enterprise-grade monitoring tools can be costly. This workflow gives you:
- Automated 24/7 monitoring without manual checks
- Multi-channel alerts (Email, Slack, Telegram, Phone)
- Detailed uptime/downtime logs stored in Google Sheets
- Full control & customization without vendor lock-in
⚙️ What This Workflow Does
Here’s what happens every 5 minutes:
- Fetch Website List — Pulls URLs from a Google Sheet.
- Check Website Health — Pings each URL one by one.
- If Down — Logs the downtime and sends alerts via Email, Slack, Telegram, and Phone (Vapi).
- If Back Up — Updates the log with recovery time and downtime duration, then sends recovery alerts.
🔧 Setup Guide
1. Google Sheets Setup
You’ll need two sheets:
- Sheet 1: List of website URLs to monitor
- Sheet 2: Log of uptime/downtime records
2. Notifications Setup
Gmail, Slack & Telegram
- Connect Gmail, Slack, and Telegram accounts to n8n.
- Use OAuth or API credentials for authentication.
Vapi (Voice Call Alerts)
- Create a Vapi account.
- Generate an API key.
- Configure these parameters on the Vapi node in n8n:
vapi_api_key
,assistant_id
,number
,phone_number_id
. - Insert the first message you want the voice assistant to say when it calls.
🧠 How It Works (Step by Step)
⏱ 1. Scheduled Monitoring
A Schedule Trigger in n8n runs the workflow every 5 minutes. It pulls the website list from Google Sheets and starts checking each URL in sequence.
🌍 2. Website Health Check
The workflow sends a request to each website:
- If the website responds → marked as Up.
- If it fails to respond or returns an error → marked as Down.
🔴 3. If Website is Down
- Check if a downtime record already exists in the log sheet.
- If not present:
- Create a new row in the log sheet with a timestamp and status.
- Send notifications via:
- 📧 Email (Gmail)
- 💬 Slack
- 📲 Telegram
- 📞 Voice Call (Vapi)
🟢 4. If Website is Back Up
- Find the matching downtime entry in the log sheet.
- Update the entry with:
- ✅ Uptime timestamp
- ⏱ Total downtime duration (calculated from down → up timestamps)
- Send recovery notifications via Email, Slack, and Telegram (no phone call for recovery).
👤 Who Can Use This Workflow?
This is perfect for:
- 🚀 Startups who need reliable monitoring without big costs
- 👨💻 Freelance developers managing multiple client websites
- 🛠 SaaS owners who want custom monitoring rules
- 🖥 IT/DevOps teams looking for flexible alerting
🎯 Key Takeaway
With n8n, Google Sheets, and a few integrations, you can build your own website uptime monitor that:
- Runs every 5 minutes
- Alerts you instantly across multiple channels
- Logs all downtime/uptime history for later analysis
It’s a cost-effective and customizable alternative to tools like UptimeRobot, Pingdom, or StatusCake.
👉 Would you like a visual flow diagram of the n8n nodes (step-by-step) or a downloadable n8n workflow JSON export ready to import? Reply and I’ll include that next.