{
  "name": "Scan URLs for security threats with urlscan.io and GPT-4o mini",
  "nodes": [
    {
      "id": "e04046ae-c8f8-42af-a55d-1197b7f0bca6",
      "name": "Sticky Note — How it works",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        16
      ],
      "parameters": {
        "width": 520,
        "height": 448,
        "content": "## How it works\n1. **Webhook** receives a POST with a `url`.\n2. **urlscan.io** submits the scan and returns an ID (UUID).\n3. **Wait (30s)** gives urlscan time to generate artifacts (e.g., screenshot)."
      }
    },
    {
      "id": "89e7c181-f4ed-488e-8004-ec484cc1ff6b",
      "name": "Sticky Note — Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        512
      ],
      "parameters": {
        "width": 520,
        "height": 360,
        "content": "## Setup & Credentials\n- Create **urlscan.io** API Key credential\n- Connect **ChatGPT model by supplying your OpenAPI  API Key**.\n- Connect **Gmail OAuth2**.\n- Set the **To** address in the Gmail node"
      }
    },
    {
      "id": "902d1e00-b848-4e9e-9691-643f618e73b0",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -32,
        288
      ]
    },
    {
      "id": "a6ec0f94-a430-4508-b261-56cbac6f970b",
      "name": "Perform a scan",
      "type": "n8n-nodes-base.urlScanIo",
      "position": [
        192,
        288
      ]
    },
    {
      "id": "6b835da0-b0b8-4fd2-9a43-58d92e629e9c",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        416,
        288
      ]
    },
    {
      "id": "948b41f1-5b09-4eeb-8427-b3970a4b826f",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1040,
        288
      ]
    },
    {
      "id": "07528213-cfc5-48e2-bacd-71cd1a24ae5f",
      "name": "Message a model",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        624,
        288
      ]
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Message a model",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Perform a scan",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Perform a scan": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}