{
  "name": "Generate security vulnerability reports with Google Dorks, SerpAPI and PDF4me",
  "nodes": [
    {
      "id": "",
      "name": "Form Input",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -1632,
        64
      ]
    },
    {
      "id": "",
      "name": "Generate Categorized Dorks",
      "type": "n8n-nodes-base.code",
      "position": [
        -1408,
        64
      ]
    },
    {
      "id": "",
      "name": "Split Into Batches",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -1184,
        64
      ]
    },
    {
      "id": "",
      "name": "Rate Limit Delay",
      "type": "n8n-nodes-base.wait",
      "position": [
        -960,
        64
      ]
    },
    {
      "id": "",
      "name": "Flatten Serper Results",
      "type": "n8n-nodes-base.code",
      "position": [
        -512,
        64
      ]
    },
    {
      "id": "",
      "name": "Clean Output",
      "type": "n8n-nodes-base.code",
      "position": [
        -288,
        64
      ]
    },
    {
      "id": "",
      "name": "Generate Report",
      "type": "n8n-nodes-base.code",
      "position": [
        -64,
        64
      ]
    },
    {
      "id": "",
      "name": "Check If Alerting Needed",
      "type": "n8n-nodes-base.if",
      "position": [
        160,
        64
      ]
    },
    {
      "id": "",
      "name": "Google search",
      "type": "n8n-nodes-serpapi.serpApi",
      "position": [
        -736,
        64
      ]
    },
    {
      "id": "",
      "name": "Convert Markdown To PDF",
      "type": "n8n-nodes-pdf4me.PDF4me",
      "position": [
        384,
        160
      ]
    },
    {
      "id": "",
      "name": "Convert Markdown To PDF1",
      "type": "n8n-nodes-pdf4me.PDF4me",
      "position": [
        384,
        -32
      ]
    },
    {
      "id": "",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -784,
        -32
      ],
      "parameters": {
        "width": 192,
        "height": 256,
        "content": "## Step 1\n**Double click** to edit and configure SerpAPI"
      }
    },
    {
      "id": "",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        -224
      ],
      "parameters": {
        "width": 224,
        "height": 544,
        "content": "## Step 2.\n**Double click** to edit and configure your PDF4Me API Key Credentials\n\nDouble Click either node to download corresponding PDF if available"
      }
    },
    {
      "id": "",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        608,
        -32
      ]
    },
    {
      "id": "",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        544,
        -144
      ],
      "parameters": {
        "width": 224,
        "height": 272,
        "content": "## Step 3. (optional) \n**Double click** to edit and configure email settings and credentials"
      }
    },
    {
      "id": "",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2080,
        -464
      ],
      "parameters": {
        "width": 400,
        "height": 576,
        "content": "## Google Dorks with SerpAPI\n\nHow it Works:\n- Accepts a domain from a web form\n- Generates a list of Google dorks targeting that domain\n- Scrapes Google search results for each dork using SerpAPI\n- Fi"
      }
    }
  ],
  "connections": {
    "Form Input": {
      "main": [
        [
          {
            "node": "Generate Categorized Dorks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean Output": {
      "main": [
        [
          {
            "node": "Generate Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google search": {
      "main": [
        [
          {
            "node": "Flatten Serper Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Report": {
      "main": [
        [
          {
            "node": "Check If Alerting Needed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Rate Limit Delay": {
      "main": [
        [
          {
            "node": "Google search",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Into Batches": {
      "main": [
        [
          {
            "node": "Rate Limit Delay",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Flatten Serper Results": {
      "main": [
        [
          {
            "node": "Clean Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Markdown To PDF": {
      "main": [
        []
      ]
    },
    "Check If Alerting Needed": {
      "main": [
        [
          {
            "node": "Convert Markdown To PDF1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Convert Markdown To PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Markdown To PDF1": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Categorized Dorks": {
      "main": [
        [
          {
            "node": "Split Into Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}