{
  "schemaVersion": "flowdrome.workflow.v1",
  "id": "",
  "name": "Service healthcheck — HTTP Request",
  "version": "0",
  "status": "draft",
  "nodes": [
    {
      "id": "seed",
      "type": "input.inject",
      "label": "Check request",
      "category": "trigger",
      "config": {
        "contentType": "application/json",
        "payload": {
          "service": "github"
        }
      },
      "position": {
        "x": 0,
        "y": 23
      }
    },
    {
      "id": "ping",
      "type": "output.http-request",
      "label": "GET vendor status",
      "category": "output",
      "config": {
        "method": "GET",
        "url": "https://www.githubstatus.com/api/v2/status.json",
        "contentType": "application/json",
        "authType": "none",
        "authToken": "",
        "expectOk": true,
        "includeResponseBody": true
      },
      "position": {
        "x": 530,
        "y": 23
      }
    },
    {
      "id": "out",
      "type": "utility.console",
      "label": "Status board",
      "category": "utility",
      "config": {
        "message": "vendor status: {{ $json }}"
      },
      "position": {
        "x": 1060,
        "y": 0
      }
    }
  ],
  "edges": [
    {
      "id": "e0",
      "sourceNodeId": "seed",
      "sourcePort": "output",
      "targetNodeId": "ping",
      "targetPort": "input"
    },
    {
      "id": "e1",
      "sourceNodeId": "ping",
      "sourcePort": "output",
      "targetNodeId": "out",
      "targetPort": "input"
    }
  ],
  "triggers": [
    {
      "id": "t0",
      "nodeId": "seed"
    }
  ],
  "meta": {
    "snippets": [],
    "source": "template-gallery",
    "description": "Poll a vendor's status API and act on the answer (needs internet; loopback targets are SSRF-guarded by default — set FLOWDROME_HTTP_ALLOWLIST for internal services). Auth headers, retries and response capture are all on the node."
  }
}