AutomationFlowsWeb Scraping › Scheduled System Check

Scheduled System Check

Scheduled System Check. Uses httpRequest. Scheduled trigger; 6 nodes.

Cron / scheduled trigger★★★★☆ complexity6 nodesHTTP Request
Web Scraping Trigger: Cron / scheduled Nodes: 6 Complexity: ★★★★☆ Added:

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
{
  "name": "Scheduled System Check",
  "active": false,
  "nodes": [
    {
      "id": "schedule-trigger",
      "name": "Every 5 Minutes",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        100,
        300
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 5
            }
          ]
        }
      }
    },
    {
      "id": "health-check",
      "name": "Health Check",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        340,
        300
      ],
      "parameters": {
        "url": "http://n8n:5678/healthz",
        "method": "GET",
        "authentication": "none",
        "options": {
          "timeout": 5000
        }
      }
    },
    {
      "id": "format-status",
      "name": "Format Status",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        580,
        300
      ],
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "// format health check result into a status report\nconst results = [];\n\nfor (const item of items) {\n  const statusCode = item.json.statusCode || 200;\n  const healthy = statusCode >= 200 && statusCode < 300;\n\n  results.push({\n    json: {\n      service: 'n8n',\n      healthy: healthy,\n      statusCode: statusCode,\n      checkedAt: new Date().toISOString(),\n      message: healthy ? 'n8n is running normally' : `n8n returned status ${statusCode}`\n    }\n  });\n}\n\nreturn results;"
      }
    },
    {
      "id": "check-healthy",
      "name": "Is Healthy?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        820,
        300
      ],
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "condition-healthy",
              "leftValue": "={{ $json.healthy }}",
              "rightValue": true,
              "operator": {
                "type": "boolean",
                "operation": "true"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      }
    },
    {
      "id": "log-success",
      "name": "Log Success",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1060,
        200
      ],
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "// log successful health check\nfor (const item of items) {\n  item.json.logLevel = 'info';\n  item.json.action = 'none';\n}\n\nreturn items;"
      }
    },
    {
      "id": "log-failure",
      "name": "Log Failure",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1060,
        400
      ],
      "parameters": {
        "mode": "runOnceForAllItems",
        "jsCode": "// log failed health check\nfor (const item of items) {\n  item.json.logLevel = 'error';\n  item.json.action = 'alert';\n  item.json.alert = `n8n health check failed at ${item.json.checkedAt}`;\n}\n\nreturn items;"
      }
    }
  ],
  "connections": {
    "Every 5 Minutes": {
      "main": [
        [
          {
            "node": "Health Check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Health Check": {
      "main": [
        [
          {
            "node": "Format Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Status": {
      "main": [
        [
          {
            "node": "Is Healthy?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Healthy?": {
      "main": [
        [
          {
            "node": "Log Success",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Log Failure",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}
Pro

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

About this workflow

Scheduled System Check. Uses httpRequest. Scheduled trigger; 6 nodes.

Source: https://github.com/gabry-ts/n8n-starter/blob/9b818d29a8d708d9ebc6dea85a6ad627f941def5/examples/scheduled-system-check.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

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

Web Scraping

Birthday Automation - Production (Fixed). Uses stopAndError, httpRequest, emailSend, bannerbear. Scheduled trigger; 86 nodes.

Stop And Error, HTTP Request, Email Send +1
Web Scraping

This template runs two scheduled workflows to govern Microsoft Entra ID (Azure AD) guest accounts by detecting stale users via Microsoft Graph, staging deletions in SharePoint with a 72-hour window, n

Microsoft SharePoint, Microsoft Teams, Microsoft Entra +1
Web Scraping

Jira-Allure-Auto-Qa. Uses httpRequest, jira. Scheduled trigger; 68 nodes.

HTTP Request, Jira
Web Scraping

Spotify-Sync-Surrealdb-V1. Uses httpRequest, n8n-nodes-surrealdb, spotify. Scheduled trigger; 62 nodes.

HTTP Request, N8N Nodes Surrealdb, Spotify
Web Scraping

As n8n instances scale, teams often lose track of sub-workflows—who uses them, where they are referenced, and whether they can be safely updated. This leads to inefficiencies like unnecessary copies o

HTTP Request, n8n, N8N Trigger +1