{ "name": "Monitor Sheet URLs to Telegram", "tags": [], "nodes": [ { "id": "monitor-sheet-urls-to-telegram-0", "name": "Telegram", "type": "n8n-nodes-base.telegram", "position": [ 860, 160 ], "parameters": { "text": "={{ 'Health Check : ' + $('Fetch Urls').item.json.URLS + '\\n\\nHTTP request failed' }}", "chatId": "YOUR_TELEGRAM_CHAT_ID", "additionalFields": { "appendAttribution": false } }, "typeVersion": 1.2 }, { "id": "monitor-sheet-urls-to-telegram-1", "name": "Schedule Trigger", "type": "n8n-nodes-base.scheduleTrigger", "position": [ 0, 0 ], "parameters": { "rule": { "interval": [ { "field": "minutes" } ] } }, "typeVersion": 1.2 }, { "id": "monitor-sheet-urls-to-telegram-2", "name": "Fetch Urls", "type": "n8n-nodes-base.googleSheets", "position": [ 220, 0 ], "parameters": { "options": {}, "sheetName": { "__rl": true, "mode": "name", "value": "Sheet1" }, "documentId": { "__rl": true, "mode": "id", "value": "YOUR_SPREADSHEET_ID" } }, "typeVersion": 4.5 }, { "id": "monitor-sheet-urls-to-telegram-3", "name": "Check URL", "type": "n8n-nodes-base.httpRequest", "onError": "continueErrorOutput", "position": [ 520, 0 ], "parameters": { "url": "={{ $json.URLS }}", "options": { "timeout": 30000 } }, "typeVersion": 4.2, "alwaysOutputData": false }, { "id": "monitor-sheet-urls-to-telegram-validate", "name": "Validate the URL", "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ 350, 0 ], "parameters": { "mode": "runOnceForEachItem", "jsCode": "const url = $json.URLS;\nif (typeof url !== 'string' || !url.trim() || /[\\r\\n]/.test(url)) throw new Error('Every row needs a URL');\nif (!/^https?:\\/\\/[^\\/?#@\\s]+(?:[\\/?#][^\\s]*)?$/i.test(url)) throw new Error('Every URL must be HTTP or HTTPS without credentials');\nreturn {json: $json};" } } ], "active": false, "pinData": {}, "settings": { "executionOrder": "v1", "timezone": "UTC" }, "connections": { "Check URL": { "main": [ [], [ { "node": "Telegram", "type": "main", "index": 0 } ] ] }, "Fetch Urls": { "main": [ [ { "node": "Validate the URL", "type": "main", "index": 0 } ] ] }, "Schedule Trigger": { "main": [ [ { "node": "Fetch Urls", "type": "main", "index": 0 } ] ] }, "Validate the URL": { "main": [ [ { "node": "Check URL", "type": "main", "index": 0 } ] ] } } }