Checks a list of URLs every few minutes, and if any returns a non-200 status, immediately posts an alert to Slack with the failing endpoint and status code. Lightweight uptime monitoring you fully control.
{
"name": "Server Uptime Monitor",
"nodes": [
{
"id": "um01aa",
"name": "Every 5 Min",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.1,
"position": [
200,
300
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes",
"minutesInterval": 5
}
]
}
}
},
{
"id": "um02bb",
"name": "Ping Endpoint",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
420,
300
],
"parameters": {
"url": "https://your-service.example.com/health",
"method": "GET",
"options": {
"response": {
"response": {
"fullResponse": true
}
}
}
}
},
{
"id": "um03cc",
"name": "Healthy?",
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
640,
300
],
"parameters": {
"conditions": {
"conditions": [
{
"leftValue": "={{ $json.statusCode }}",
"rightValue": 200,
"operator": {
"type": "number",
"operation": "notEquals"
}
}
]
}
}
},
{
"id": "um04dd",
"name": "Alert Slack",
"type": "n8n-nodes-base.slack",
"typeVersion": 2.2,
"position": [
860,
220
],
"parameters": {
"resource": "message",
"operation": "post",
"channelId": "#alerts",
"text": "DOWN: https://your-service.example.com/health returned {{ $json.statusCode }}"
}
}
],
"connections": {
"Every 5 Min": {
"main": [
[
{
"node": "Ping Endpoint",
"type": "main",
"index": 0
}
]
]
},
"Ping Endpoint": {
"main": [
[
{
"node": "Healthy?",
"type": "main",
"index": 0
}
]
]
},
"Healthy?": {
"main": [
[
{
"node": "Alert Slack",
"type": "main",
"index": 0
}
],
[]
]
}
},
"active": false,
"settings": {},
"meta": {}
}