{
  "name": "Scrape business leads from Google Maps and extract decision-maker info with Olostep",
  "nodes": [
    {
      "id": "32d3c93d-16f7-4fae-ae68-7503c1cf2487",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        16,
        224
      ]
    },
    {
      "id": "66e69873-1d7a-421d-9a19-4281dba49445",
      "name": "scrape information",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        192,
        224
      ]
    },
    {
      "id": "ff68a87c-20cc-47c3-9788-faf9f87c7e16",
      "name": "parsedInfo",
      "type": "n8n-nodes-base.set",
      "position": [
        384,
        224
      ]
    },
    {
      "id": "bbcf75cb-44cc-4ab3-8212-52ef0dac32cc",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        576,
        224
      ]
    },
    {
      "id": "fafd4e96-ce1b-44e0-93b7-af11655827c5",
      "name": "Remove Duplicates",
      "type": "n8n-nodes-base.removeDuplicates",
      "position": [
        784,
        224
      ]
    },
    {
      "id": "8278eaef-e00a-4eef-bbbe-8516f931b528",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        16,
        560
      ]
    },
    {
      "id": "34237cac-c410-42ae-9864-5729e169f5b7",
      "name": "scrape the name",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        224,
        576
      ]
    },
    {
      "id": "6bf2474d-1726-4f1c-b56f-e5147a474d43",
      "name": "name",
      "type": "n8n-nodes-base.set",
      "position": [
        448,
        576
      ]
    },
    {
      "id": "2530f193-3336-4829-a579-47064a44559c",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        640,
        576
      ]
    },
    {
      "id": "eeeb7fa6-15d1-4220-8ae9-69ebc397b1db",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        816,
        576
      ]
    },
    {
      "id": "f74d532a-d838-4eb4-a560-ebaed0201077",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        80
      ],
      "parameters": {
        "width": 192,
        "height": 304,
        "content": "## Form Trigger  \nEnter city + business type to begin scraping."
      }
    },
    {
      "id": "9e7a570d-ee67-44f4-aa2d-ad7aa4604f23",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        80
      ],
      "parameters": {
        "width": 192,
        "height": 304,
        "content": "## Google Maps Scrape  \nExtracts business name, location, website, phone number."
      }
    },
    {
      "id": "deb02e02-7bfa-4cba-9e3c-b2403351d8fd",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        80
      ],
      "parameters": {
        "width": 528,
        "height": 288,
        "content": "## Clean Data  \nSplit JSON → Remove duplicates → Loop through businesses."
      }
    },
    {
      "id": "1134989b-27b3-442d-bd7d-e5090cc88fe2",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        464
      ],
      "parameters": {
        "width": 400,
        "height": 272,
        "content": "## Website Scrape  \nScrapes each business's website to find CEO / Founder info."
      }
    },
    {
      "id": "476d1723-bae5-4a33-80f0-4395a64e08fb",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        624,
        480
      ],
      "parameters": {
        "width": 320,
        "height": 256,
        "content": "## Save Lead  \nAppends results to Google Sheets with all captured fields."
      }
    },
    {
      "id": "d97d9d79-b95f-49c0-b3e4-4171b39a45c3",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        464
      ],
      "parameters": {
        "width": 208,
        "height": 272,
        "content": "## Clean Data \nset first name, last name, and email each in it's proper field. "
      }
    },
    {
      "id": "a473611e-4c31-4c04-9ed9-6e815cd48136",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -688,
        -80
      ],
      "parameters": {
        "width": 608,
        "height": 1264,
        "content": "# Olostep Google Maps Lead Generation Automation  \n\nThis n8n template automates lead generation by scraping Google Maps using the Olostep API.  \nIt extracts **business names, locations, websites, phon"
      }
    },
    {
      "id": "bd25f74b-d820-4f51-8261-b54c6030b9a7",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        768
      ],
      "parameters": {
        "width": 384,
        "height": 176,
        "content": "## WARNING\nIf the http request runs through a 504 gateway timeout error, that's because the \"llm_extract\".\n\nYou can remove all the fields in the schema (inside the llm_extract) and then use an informa"
      }
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "name": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Remove Duplicates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "parsedInfo": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "scrape the name",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "scrape the name": {
      "main": [
        [
          {
            "node": "name",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Duplicates": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "scrape information",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "scrape information": {
      "main": [
        [
          {
            "node": "parsedInfo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append row in sheet": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}