{
  "name": "Assess technical documentation compliance with GPT‑4o and send Slack alerts",
  "nodes": [
    {
      "id": "ca1ebea3-ef14-4220-8725-598530559057",
      "name": "When clicking 'Execute workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        544,
        544
      ]
    },
    {
      "id": "6708020c-1b52-400e-a104-264a9917f816",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 460,
        "height": 992,
        "content": "### This n8n template demonstrates how to use AI to automatically review technical documentation against predefined compliance standards — and alert your team via Slack.\n\nUse cases: Engineering teams "
      }
    },
    {
      "id": "3a6f5078-932a-4d58-8cc9-40dbe42d9ae4",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        288
      ],
      "parameters": {
        "width": 1012,
        "height": 460,
        "content": "## 1. Fetch & Prepare Documentation\n[Read more about the HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/)\n\nThe document is fetched from a URL or pass"
      }
    },
    {
      "id": "6c284627-75d4-4241-a12e-9a3f44287067",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1568,
        288
      ],
      "parameters": {
        "width": 580,
        "height": 460,
        "content": "## 2. Score Documentation with AI\n[Read more about the HTTP Request node for AI APIs](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/)\n\nThe AI model evaluates the docum"
      }
    },
    {
      "id": "a27b8e69-6540-44ea-9947-586ecfeba478",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2208,
        288
      ],
      "parameters": {
        "width": 580,
        "height": 460,
        "content": "## 3. Parse Results & Route by Status\n[Read more about the Switch node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/)\n\nThe AI's JSON response is parsed and an overall com"
      }
    },
    {
      "id": "d952a438-5f85-4c13-8232-d4dd3557ef5f",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2832,
        112
      ],
      "parameters": {
        "width": 480,
        "height": 940,
        "content": "## 4. Send Slack Compliance Report\n[Read more about Slack webhooks](https://api.slack.com/messaging/webhooks)\n\nA richly formatted Slack message is sent to the appropriate channel with: overall score, "
      }
    },
    {
      "id": "f72b0e25-bc83-4470-a95b-e88af852a163",
      "name": "Set Document Input",
      "type": "n8n-nodes-base.set",
      "position": [
        784,
        544
      ]
    },
    {
      "id": "8a0d7d09-62c6-4a3a-acd9-e5ebc84aa61b",
      "name": "Fetch Document Content",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1024,
        544
      ]
    },
    {
      "id": "defe8b77-176d-4cf3-922c-5ad433af389c",
      "name": "Prepare Document for AI",
      "type": "n8n-nodes-base.code",
      "position": [
        1280,
        544
      ]
    },
    {
      "id": "9cbbc2a0-94e6-4e32-b8f1-1e27d4c2ebd7",
      "name": "Score Documentation with AI",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1664,
        544
      ]
    },
    {
      "id": "2ebe691b-cff6-4cf0-be3e-15265943cf7b",
      "name": "Parse AI Compliance Report",
      "type": "n8n-nodes-base.code",
      "position": [
        1920,
        544
      ]
    },
    {
      "id": "35ffe942-f3b9-4e92-ba56-998abac3ce52",
      "name": "Route by Compliance Status",
      "type": "n8n-nodes-base.switch",
      "position": [
        2320,
        544
      ]
    },
    {
      "id": "d58f37bb-d6e5-4deb-adc6-10abf63f601b",
      "name": "Build Slack Report",
      "type": "n8n-nodes-base.code",
      "position": [
        2592,
        544
      ]
    },
    {
      "id": "52627fb3-d244-47f2-988f-6468bf33e0e9",
      "name": "Slack — FAIL Alert (Engineering Channel)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2880,
        384
      ]
    },
    {
      "id": "00fec4bd-5971-44ec-b58a-ac678ae68458",
      "name": "Slack — WARNING Alert (Review Channel)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2880,
        592
      ]
    },
    {
      "id": "10f3e6ac-5c2a-4c26-9126-10d923391df4",
      "name": "Slack — PASS Notice (Docs Channel)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2880,
        784
      ]
    },
    {
      "id": "7aab96fa-6518-451c-9ea8-e3a2d30aa5fe",
      "name": "Log Result to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3184,
        592
      ]
    }
  ],
  "connections": {
    "Build Slack Report": {
      "main": [
        [
          {
            "node": "Slack — FAIL Alert (Engineering Channel)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Slack — WARNING Alert (Review Channel)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Slack — PASS Notice (Docs Channel)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Document Input": {
      "main": [
        [
          {
            "node": "Fetch Document Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Document Content": {
      "main": [
        [
          {
            "node": "Prepare Document for AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Document for AI": {
      "main": [
        [
          {
            "node": "Score Documentation with AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse AI Compliance Report": {
      "main": [
        [
          {
            "node": "Route by Compliance Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by Compliance Status": {
      "main": [
        [
          {
            "node": "Build Slack Report",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Build Slack Report",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Build Slack Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Score Documentation with AI": {
      "main": [
        [
          {
            "node": "Parse AI Compliance Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking 'Execute workflow'": {
      "main": [
        [
          {
            "node": "Set Document Input",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Slack — PASS Notice (Docs Channel)": {
      "main": [
        [
          {
            "node": "Log Result to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Slack — WARNING Alert (Review Channel)": {
      "main": [
        [
          {
            "node": "Log Result to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Slack — FAIL Alert (Engineering Channel)": {
      "main": [
        [
          {
            "node": "Log Result to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}