Skip to main content
L

Linearloop Team

1
Workflow

Workflows by Linearloop Team

Workflow preview: Automated website uptime monitor with email alerts & GitHub status page update
Free advanced

Automated website uptime monitor with email alerts & GitHub status page update

# 🖥️ 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. 5. **GitHub Node** → Updates/commits the `index.html` file in your repository. 6. **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]` → 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.

L
Linearloop Team
DevOps
16 Sep 2025
514
0