n8nflow.net logo

Automated Website Uptime Monitor with Email Alerts & GitHub Status Page Update

by Linearloop Teamβ€’Updated: Last update 7 days agoβ€’Source: n8n.io

Tags

Getting Started

πŸ–₯️ Automated Website Uptime Monitor with Email Alerts & GitHub Status Page Update

This n8n workflow continuously monitors your website’s availability, sends email alerts when the server goes down, and automatically updates a status page (index.html) in your GitHub repository to reflect the live status.


πŸ“Œ Good to Know

  • The workflow checks your website every 2 minutes (interval configurable).
  • If the website is down (503, bad response, or error) β†’ it sends an email alert and updates the GitHub-hosted status page to show Down.
  • If the website is up (200) β†’ it updates the GitHub-hosted status page to show Up.
  • The email notification includes an HTML-formatted alert page.
  • You can use GitHub Pages to host the status page publicly.

ℹ️ What is GitHub Pages?

  • GitHub Pages is a free hosting service provided by GitHub that lets you publish static websites (HTML, CSS, JS) directly from a GitHub repository.
  • You can use it to make your index.html status page publicly accessible with a URL like:

⚑ How to Set Up GitHub Pages for Your Status Page

  1. Create a new repository on GitHub (recommended name: status).
  2. Add a blank index.html file (n8n workflow will later update this file).
  3. Go to your repository β†’ Settings β†’ Pages.
  4. Under Source , select the branch (main or master) and folder (/root).
  5. Save changes.
  6. Your status page will now be live at: https://<USERNAME>.github.io/status

βœ… Prerequisites

  • An n8n instance (self-hosted or cloud).
  • A GitHub account & repository (to host the status page).
  • A Gmail account (or any email service supported by n8n – example uses Gmail).
  • Access to the target website URL you want to monitor.

βš™οΈ How it Works

  1. Schedule Trigger β†’ Runs every 2 minutes.
  2. HTTP Request β†’ Pings your website URL.
  3. Switch Node β†’ Evaluates the response status (200 OK vs error/503).
  4. Code Node β†’ Generates a dynamic HTML status page (Up/Down).
  5. GitHub Repo & File β†’ Github Repo Name Should be https://github.com/<OWNER_NAME>/status (recommended) & Must have(required) a blank file named as index.html before triggering this flow.
  6. GitHub Node β†’ Updates/commits the index.html file in your repository.
  7. Gmail Node β†’ Sends an email alert if the site is down.

πŸš€ How to Use

  1. Import the workflow JSON into your n8n instance.
  2. Configure credentials for:
    • GitHub (Personal Access Token with repo permissions).
    • Gmail (or your preferred email service).
  3. Replace the following:
    • https://app.yourdomain.com/health β†’ with your own website URL.
    • [[email protected]](/cdn-cgi/l/email-protection) β†’ with your email address (or distribution list).
    • GitHub repo details β†’ with your repository where index.html will live.
  4. Deploy the workflow.
  5. (Optional) Enable GitHub Pages on your repo to serve index.html as a live status page.

πŸ›  Requirements

  • n8n v1.0+
  • GitHub personal access token
  • Gmail API credentials (or SMTP/email service of your choice)

🎨 Customising this Workflow

  • Interval β†’ Change schedule from 2 minutes to any desired frequency.
  • Email Content β†’ Modify HTML alert template in the Gmail node.
  • Status Page Styling β†’ Edit the HTML/CSS in the Code node to match your branding.
  • Error Handling β†’ Extend Switch node for other status codes (e.g., 404, 500).
  • Multiple Websites β†’ Duplicate HTTP Request + Switch nodes for multiple URLs.

πŸ‘€ Who Can Use It?

  • DevOps & SRE Engineers β†’ For automated uptime monitoring.
  • Freelancers/Developers β†’ To monitor client websites.
  • Startups & SMEs β†’ For a free, lightweight status page without paid tools.
  • Educators/Students β†’ As a hands-on learning project with n8n.

🌟 Key Features

  • πŸ”„ Automated uptime checks (configurable interval).
  • πŸ“§ Email notifications on downtime.
  • πŸ“ Dynamic HTML status page generation.
  • 🌍 GitHub Pages integration for public visibility.
  • ⚑ Lightweight & cost-effective (no paid monitoring tool needed).

πŸ”— Tools Integration

  • n8n – Orchestration & automation.
  • GitHub – Version control + hosting of status page.
  • Gmail – Email notifications.
  • HTTP Request – Website availability check.

πŸ“ˆ Example Use Cases

  • Personal website monitoring with public status page.
  • Monitoring SaaS apps & notifying support teams.
  • Internal company services uptime dashboard.