Workflow: Schedule HTTP Monitor

Workflow Details

Download Workflow
{
    "id": "pcLi17oUJK9pSaee",
    "meta": {
        "instanceId": "10ac0d272b984a3e01d44645b4be41105d42352c9db9f4c0c7f5be7946b87d41",
        "templateCredsSetupCompleted": true
    },
    "name": "Web Server Monitor.",
    "tags": [],
    "nodes": [
        {
            "id": "014e1202-3822-4d3f-817e-31f64c8bd5f5",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -680,
                -440
            ],
            "parameters": {
                "width": 560,
                "height": 540,
                "content": "\ud83d\udcd8 Node Descriptions for Your Web Server Monitor Workflow\n\n\u23f0 1. Schedule Trigger  \nTriggers the workflow every minute to initiate regular checks on server availability.\n\n\ud83d\udcc4 2. Web Servers List (Google Sheets)  \nFetches a list of server hostnames or IP addresses from a Google Sheet.  \nEach row is treated as one server. This makes server management easy \u2014 no need to edit the workflow to add\/remove servers.\n\n\ud83c\udf10 3. Server Alive Check (HTTP) \nSends an HTTP GET request to each server (e.g., http:\/\/your-server.com).  \nIf the request fails, the error path is triggered.  \n\n\ud83d\udcdd 4. Web Server Alive Log (Google Sheets)  \nLogs successful server checks into a separate Sheet with a timestamp.\nThis log helps track uptime history, verify server health, and generate availability reports.\n\n\ud83d\udea8\ud83d\udce7 5. Server Down Notification (Gmail)  \nSends an alert email if a server does not respond or returns an error.  \nIncludes the server address and the timestamp of failure.\n\n\ud83d\udcdd 6. Web Server Down Log (Google Sheets)\nLogs the failed server checks into another Sheet with a timestamp.  \nUseful for uptime reporting, debugging, and audit tracking.\n"
            },
            "typeVersion": 1
        },
        {
            "id": "94a3454c-69bd-4a5d-b169-8f3772a41321",
            "name": "Schedule Trigger",
            "type": "n8n-nodes-base.scheduleTrigger",
            "position": [
                0,
                0
            ],
            "parameters": {
                "rule": {
                    "interval": [
                        {
                            "field": "minutes",
                            "minutesInterval": 1
                        }
                    ]
                }
            },
            "typeVersion": 1.1999999999999999555910790149937383830547332763671875
        },
        {
            "id": "f92fcadf-0b13-42ac-abed-aaf169d0ed76",
            "name": "Server-Monitor",
            "type": "n8n-nodes-base.googleSheets",
            "position": [
                220,
                0
            ],
            "parameters": {
                "options": [],
                "sheetName": {
                    "__rl": true,
                    "mode": "list",
                    "value": 524060827,
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ\/edit#gid=524060827",
                    "cachedResultName": "Server_List"
                },
                "documentId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ",
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ\/edit?usp=drivesdk",
                    "cachedResultName": "Server-Monitor"
                }
            },
            "credentials": {
                "googleSheetsOAuth2Api": {
                    "id": "8cXGgTelVK5DewVr",
                    "name": "Google Sheets account"
                }
            },
            "typeVersion": 4.5
        },
        {
            "id": "c168a1f9-1f3f-40b8-95d0-51f6259d8096",
            "name": "HTTP Request",
            "type": "n8n-nodes-base.httpRequest",
            "onError": "continueErrorOutput",
            "position": [
                440,
                0
            ],
            "parameters": {
                "url": "=http:\/\/{{ $json.Server }}",
                "options": []
            },
            "typeVersion": 4.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "0ac82373-6958-4de9-8cf7-94b0005197ff",
            "name": "Server_Status_Alive",
            "type": "n8n-nodes-base.googleSheets",
            "position": [
                660,
                -180
            ],
            "parameters": {
                "columns": {
                    "value": {
                        "Status": "Alive",
                        "TimeStamp": "={{ $now.format('yyyy-MM-dd') }}",
                        "Server IP Address": "={{ $('Server-Monitor').item.json.Server }}"
                    },
                    "schema": [
                        {
                            "id": "TimeStamp",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "TimeStamp",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Server IP Address",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "Server IP Address",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Status",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "Status",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        }
                    ],
                    "mappingMode": "defineBelow",
                    "matchingColumns": [],
                    "attemptToConvertTypes": false,
                    "convertFieldsToString": false
                },
                "options": [],
                "operation": "append",
                "sheetName": {
                    "__rl": true,
                    "mode": "list",
                    "value": 303958634,
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ\/edit#gid=303958634",
                    "cachedResultName": "Server_Status_Alive"
                },
                "documentId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ",
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ\/edit?usp=drivesdk",
                    "cachedResultName": "Server-Monitor"
                }
            },
            "credentials": {
                "googleSheetsOAuth2Api": {
                    "id": "8cXGgTelVK5DewVr",
                    "name": "Google Sheets account"
                }
            },
            "typeVersion": 4.5
        },
        {
            "id": "6dc31115-4ab6-44cf-ac4f-e2af82a5355e",
            "name": "Gmail",
            "type": "n8n-nodes-base.gmail",
            "position": [
                660,
                100
            ],
            "webhookId": "dec1def3-c858-4a43-b96e-2655d3fa3b77",
            "parameters": {
                "message": "=Hi Team,\n\nAt {{$now.format('yyyy-MM-dd HH:mm:ss')}}, the following server failed to respond to ping:\n\n\ud83d\udd3b Server Down: {{ $json[\"Server\"] }}  \n\nPlease investigate immediately to prevent service disruption. \n\nAutomated Monitoring System\n",
                "options": [],
                "subject": "=\ud83d\udd3b Server Down: {{ $json[\"Server\"] }}: {{ $today.format('yyyy-MM-dd') }}"
            },
            "credentials": {
                "gmailOAuth2": {
                    "id": "C1RVeb9JgdvkMkP4",
                    "name": "Gmail account 2"
                }
            },
            "typeVersion": 2.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "10262115-57a2-4c4d-9a10-89f4f6ee4ed7",
            "name": "Server_Status_Down",
            "type": "n8n-nodes-base.googleSheets",
            "position": [
                880,
                100
            ],
            "parameters": {
                "columns": {
                    "value": {
                        "Status": "Down",
                        "TimeStamp": "={{$now.format('yyyy-MM-dd HH:mm:ss')}}",
                        "Server IP Address": "={{ $('Server-Monitor').item.json.Server }}"
                    },
                    "schema": [
                        {
                            "id": "TimeStamp",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "TimeStamp",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Server IP Address",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "Server IP Address",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Status",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "Status",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        }
                    ],
                    "mappingMode": "defineBelow",
                    "matchingColumns": [],
                    "attemptToConvertTypes": false,
                    "convertFieldsToString": false
                },
                "options": [],
                "operation": "append",
                "sheetName": {
                    "__rl": true,
                    "mode": "list",
                    "value": "gid=0",
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ\/edit#gid=0",
                    "cachedResultName": "Server_Status_Down"
                },
                "documentId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ",
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ\/edit?usp=drivesdk",
                    "cachedResultName": "Server-Monitor"
                }
            },
            "credentials": {
                "googleSheetsOAuth2Api": {
                    "id": "8cXGgTelVK5DewVr",
                    "name": "Google Sheets account"
                }
            },
            "typeVersion": 4.5
        }
    ],
    "active": false,
    "pinData": [],
    "settings": {
        "executionOrder": "v1"
    },
    "versionId": "21468219-4434-4a0c-a3c4-9068baccc3cc",
    "connections": {
        "Gmail": {
            "main": [
                [
                    {
                        "node": "Server_Status_Down",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "HTTP Request": {
            "main": [
                [
                    {
                        "node": "Server_Status_Alive",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Gmail",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Server-Monitor": {
            "main": [
                [
                    {
                        "node": "HTTP Request",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Schedule Trigger": {
            "main": [
                [
                    {
                        "node": "Server-Monitor",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

get_a_web_page
View
Manual Wordpress Automate Triggered
View
ProspectLens company research
View
Manual Stickynote Update Triggered
View
Schedule Twilio Create Webhook
View
Create a new customer in Chargebee
View
Create a new card in Trello
View
Receive updates from Telegram and send an image of a cocktail
View
Manual HTTP Automation Webhook
View
OCR receipts from Google Drive
View