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 →
{
"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\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[](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.
gmailOAuth2telegramApi
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Template - SSL Expiry Alert System. Uses googleSheets, scheduleTrigger, httpRequest, stickyNote. Scheduled trigger; 21 nodes.
This workflow is ideal for administrators or IT professionals responsible for monitoring SSL certificates of multiple websites to ensure they do not expire unexpectedly.
url-uptime-monitor. Uses scheduleTrigger, splitOut, googleSheets, summarize. Scheduled trigger; 18 nodes.
MPE Kleinanzeigen Unified (Reminder + Poster). Uses gmail, httpRequest, telegram, googleSheets. Scheduled trigger; 15 nodes.
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