AutomationFlowsEmail & Gmail › Unlimited Website Down Checker - Uptime Robot Alternative

Unlimited Website Down Checker - Uptime Robot Alternative

ByMilan Vasarhelyi - SmoothWork @vasarmilan on n8n.io

[](https://www.youtube.com/watch?v=q4d404G_OxY)

Cron / scheduled trigger★★★★☆ complexity21 nodesGmailHTTP RequestTelegram
Email & Gmail Trigger: Cron / scheduled Nodes: 21 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #5887 — we link there as the canonical source.

This workflow follows the Gmail → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateId": "2327",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "37640544-a4cf-44fb-bdec-1b33b773b8ab",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        760,
        500
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "916ea745-93d3-4df0-bb42-92dbdc9096e2",
      "name": "Calculate Status",
      "type": "n8n-nodes-base.set",
      "position": [
        2040,
        500
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b0cbcff5-bfcf-46a5-a386-65c4dd56c42f",
              "name": "date",
              "type": "string",
              "value": "={{ $json.headers.date }}"
            },
            {
              "id": "8c4155e4-bcc6-41dd-9582-346a57a7b997",
              "name": "website",
              "type": "string",
              "value": "={{ $('Split Out').item.json.Websites }}"
            },
            {
              "id": "9af72278-5b29-406a-b4c5-f47f3d805063",
              "name": "IS_UP",
              "type": "boolean",
              "value": "={{ $json.statusCode <= 400  }}"
            }
          ]
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "1b41770b-96d7-485c-b743-fd75e9c18950",
      "name": "Send Email Alert",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1540,
        1060
      ],
      "parameters": {
        "sendTo": "={{ $('Config').item.json.alert_email }}",
        "message": "=From: n8n uptime\n\n{{ $('Calculate Status').item.json.website }} is DOWN.",
        "options": {
          "senderName": "n8n uptime",
          "appendAttribution": false
        },
        "subject": "=[n8n uptime] {{ $('Calculate Status').item.json.website }} is DOWN.",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "5d27ce2f-f7fd-41d1-b8b6-ffd3f006ae9f",
      "name": "Perform Site Test",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        1540,
        500
      ],
      "parameters": {
        "url": "={{ $json.Websites }}",
        "options": {
          "batching": {
            "batch": {}
          },
          "response": {
            "response": {
              "neverError": true,
              "fullResponse": true
            }
          }
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {}
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3591075f-9475-498a-a4ea-e4231feaa1ce",
      "name": "Status Router",
      "type": "n8n-nodes-base.switch",
      "position": [
        2280,
        500
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "UP",
              "conditions": {
                "options": {
                  "version": 1,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "7191e7cb-f2e1-4288-aa68-21f6efefafc5",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.IS_UP }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "DOWN",
              "conditions": {
                "options": {
                  "version": 1,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "e07edddc-70be-46ed-9f5c-7fba0ed52bc3",
                    "operator": {
                      "type": "boolean",
                      "operation": "false",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.IS_UP }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "b05da316-3fc1-4322-bd9d-be780e348256",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1360,
        500
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "Websites"
      },
      "typeVersion": 1
    },
    {
      "id": "071ec250-71c8-4091-9f82-7f987f582d77",
      "name": "Config",
      "type": "n8n-nodes-base.set",
      "position": [
        960,
        500
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "72b729c6-e0af-46f0-955f-c649e9d397bc",
              "name": "Websites",
              "type": "string",
              "value": "=https://smoothwork.ai\nhttps://bad.url\nhttps://smoothwork.ai/notfound\n"
            },
            {
              "id": "25457f32-6440-404d-8e99-eb772e552982",
              "name": "wait_secs",
              "type": "number",
              "value": 5
            },
            {
              "id": "4f646a6a-3f84-4410-bed2-3b0d770066c7",
              "name": "telegram_chat_id",
              "type": "string",
              "value": "7166728396"
            },
            {
              "id": "5ea1be97-40ce-4696-9454-ecb17127e674",
              "name": "alert_email",
              "type": "string",
              "value": "user@example.com"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "fd4c06eb-e851-4759-869d-9b35429e42c0",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        1160,
        500
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ce076f11-d745-43a9-8069-a55759ceb0c9",
              "name": "Websites",
              "type": "array",
              "value": "={{\n  // we split by line, and only keep non-empty lines\n  $json.Websites.split('\\n').filter((url) => url)\n}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1437a14a-cbac-487a-8a89-edc37496348d",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1840,
        500
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "8af693e1-b9d9-4bb9-8276-72760ab9133e",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        2540,
        520
      ],
      "parameters": {
        "amount": "={{ $('Config').item.json.wait_secs }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "60e797ef-cb3e-41e5-833b-f1f167735416",
      "name": "Calculate Status1",
      "type": "n8n-nodes-base.set",
      "position": [
        2040,
        760
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b0cbcff5-bfcf-46a5-a386-65c4dd56c42f",
              "name": "date",
              "type": "string",
              "value": "={{ $json.headers.date }}"
            },
            {
              "id": "8c4155e4-bcc6-41dd-9582-346a57a7b997",
              "name": "website",
              "type": "string",
              "value": "={{ $('Split Out').item.json.Websites }}"
            },
            {
              "id": "9af72278-5b29-406a-b4c5-f47f3d805063",
              "name": "IS_UP",
              "type": "boolean",
              "value": "={{ $json.statusCode <= 400  }}"
            }
          ]
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "60de7380-2539-4885-b2c3-8bdd25d92fd3",
      "name": "Perform Site Test1",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        1540,
        760
      ],
      "parameters": {
        "url": "={{ $json.Websites }}",
        "options": {
          "batching": {
            "batch": {}
          },
          "response": {
            "response": {
              "neverError": true,
              "fullResponse": true
            }
          }
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {}
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a3578c1f-59b1-441a-b546-ee56126522e3",
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "position": [
        1820,
        760
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "b9376336-dde1-4aa0-a9df-d8a50a257de1",
      "name": "Status Router1",
      "type": "n8n-nodes-base.switch",
      "position": [
        2220,
        760
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "UP",
              "conditions": {
                "options": {
                  "version": 1,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "7191e7cb-f2e1-4288-aa68-21f6efefafc5",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.IS_UP }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "DOWN",
              "conditions": {
                "options": {
                  "version": 1,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "e07edddc-70be-46ed-9f5c-7fba0ed52bc3",
                    "operator": {
                      "type": "boolean",
                      "operation": "false",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.IS_UP }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "9b8e3c0f-5e92-420c-bda0-b1be8739aeff",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        780,
        680
      ],
      "parameters": {
        "width": 360,
        "height": 280,
        "content": "# Get Notified if website is down\n\nIf you manage a website, this is a must have for you!\n\nThis workflow will help you quickly identify if the website stopped working, before your customers do."
      },
      "typeVersion": 1
    },
    {
      "id": "47a68788-0158-4488-8f0f-305b52ca64e2",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        780,
        960
      ],
      "parameters": {
        "width": 360,
        "height": 180,
        "content": "# Instructions\n\n1 - Add Gmail credentials (one-click google login)\n2 - Click on *Config* node and add your website URLs to *Websites* (you can add multiple!)"
      },
      "typeVersion": 1
    },
    {
      "id": "872f9a1b-95b9-4d1e-aac5-35f9314942d1",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        900,
        400
      ],
      "parameters": {
        "color": 3,
        "content": "## \ud83d\udc47\ud83d\udc47 Add your websites here"
      },
      "typeVersion": 1
    },
    {
      "id": "2a8bcb6d-9692-4206-92ed-a70bd4fd8dc2",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1760,
        1060
      ],
      "parameters": {
        "text": "={{ $('Calculate Status').item.json.website }} is DOWN.\nFrom: n8n uptime",
        "chatId": "={{ $('Config').item.json.telegram_chat_id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3a5369af-1538-4191-b463-4dcc674dc876",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        780,
        1140
      ],
      "parameters": {
        "width": 600,
        "height": 620,
        "content": "# Instructions (Create Telegram bot)\n\n1. **Create your Telegram bot**  \n   1. Open Telegram and chat with **@BotFather**.  \n   2. Send `/newbot` and follow prompts to pick a bot **name** and **username** (must end in \u201cbot\u201d).  \n   3. Copy the **bot token** returned by BotFather.\n\n2. **Start a conversation & get the chat ID**  \n   1. In Telegram, find your bot by username (e.g. `@my_alert_bot`) and send it a message (e.g. `/start`).  \n   2. In your browser, visit:  \n      ```\n      https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates\n      ```  \n   3. Locate `\"chat\":{\"id\":123456789}` in the JSON and copy that number as your **chat_id**.\n\n3. **Add Telegram settings in n8n**  \n   - In your workflow, click on the **Telegram** node.  \n   - Under **Credentials**, select **Create New** \u2192 **Telegram Bot API**, and paste your **bot token**.  \n   - In the **Config node\u2019s** **telegram_chat_id** field, enter the numeric **chat_id** you retrieved.\n\nThat\u2019s it! Your n8n workflow now sends notifications via both Gmail and Telegram.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "46ae7a40-6352-401c-9919-cc211d79fb50",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        -60
      ],
      "parameters": {
        "color": 5,
        "width": 760,
        "height": 440,
        "content": "# Made by:\n## Milan @ SmoothWork - [Book a Free Consulting Call](https://smoothwork.ai/book-a-call/)\n![Milan](https://gravatar.com/avatar/95700d17ba300a9f14c1b8cacf933df7720027b3adda9cbe6183d89142925422?r=pg&d=retro&size=100)\n\n\n### We help businesses eliminate busywork by building compact business tools tailored to your process.\nContact us for customizing this, or building similar automations.\n\n\ud83d\udce7 hello@smoothwork.ai\n\u25b6\ufe0f [Check us on YouTube](https://www.youtube.com/@vasarmilan)\n\ud83d\udcde [Book a Free Consulting Call](https://smoothwork.ai/book-a-call/)\n\ud83d\udcbc [Add me on Linkedin](https://www.linkedin.com/in/mil%C3%A1n-v%C3%A1s%C3%A1rhelyi-3a9985123/)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7ae7f0fa-c065-4711-b755-3f2b1b8cc79e",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        920,
        20
      ],
      "parameters": {
        "width": 360,
        "height": 280,
        "content": "## Video automation walkthrough\n[![Website Monitoring with n8n](https://smoothwork.ai/wp-content/uploads/2025/08/image-1.png)](https://www.youtube.com/watch?v=q4d404G_OxY)"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Perform Site Test1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Calculate Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Config": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "Calculate Status1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Perform Site Test",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Status Router": {
      "main": [
        [],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Status Router1": {
      "main": [
        [],
        [
          {
            "node": "Send Email Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Status": {
      "main": [
        [
          {
            "node": "Status Router",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email Alert": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Status1": {
      "main": [
        [
          {
            "node": "Status Router1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Perform Site Test": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Perform Site Test1": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

[](https://www.youtube.com/watch?v=q4d404G_OxY)

Source: https://n8n.io/workflows/5887/ — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Email & Gmail

Template - SSL Expiry Alert System. Uses googleSheets, scheduleTrigger, httpRequest, stickyNote. Scheduled trigger; 21 nodes.

Google Sheets, HTTP Request, Gmail +2
Email & Gmail

This workflow is ideal for administrators or IT professionals responsible for monitoring SSL certificates of multiple websites to ensure they do not expire unexpectedly.

Google Sheets, HTTP Request, Gmail +2
Email & Gmail

url-uptime-monitor. Uses scheduleTrigger, splitOut, googleSheets, summarize. Scheduled trigger; 18 nodes.

Google Sheets, Gmail, HTTP Request +1
Email & Gmail

MPE Kleinanzeigen Unified (Reminder + Poster). Uses gmail, httpRequest, telegram, googleSheets. Scheduled trigger; 15 nodes.

Gmail, HTTP Request, Telegram +1
Email & Gmail

This automated n8n workflow continuously tracks real-time flight fare changes by querying airline APIs (e.g., Amadeus, Skyscanner). It compares new prices with historical fares and sends instant notif

HTTP Request, Telegram, Google Sheets +1