Back to Templates

Generate roofing contractor leads from Google Maps with ScrapeOps, Sheets and Slack

Created by

Created by: Ian Kerins || iankerins
Ian Kerins

Last update

Last update 2 days ago

Categories

Share


Overview

This n8n template automates finding roofing contractors in any city using Google Maps. It deep-scrapes listings via ScrapeOps Proxy, deduplicates results against Google Sheets, saves fresh leads, and sends alerts via Gmail and Slack - all triggered from a simple web form.

Who is this for?

  • Roofing companies building local lead lists without manual research
  • Sales teams prospecting contractors in new cities or regions
  • Agencies running lead generation campaigns for home services clients
  • Anyone who needs structured local business data from Google Maps

What problem does it solve?

Manually searching Google Maps, copying business details, and checking for duplicates is slow and error-prone. This workflow automates the entire process - from search to deduplication to saved leads - so you get fresh, structured contractor data with zero manual effort.

How it works

  1. A web form captures the target city.
  2. ScrapeOps Proxy scrapes Google Maps for roofing contractors in that city.
  3. Each listing is deep-scraped for full details: phone, website, rating, reviews, and address.
  4. Results are compared against existing Google Sheet entries to remove duplicates.
  5. Only new leads are saved to the sheet.
  6. Gmail and Slack alerts notify you of new leads instantly.

Set up steps (~10–15 minutes)

  1. Register for a free ScrapeOps API key: https://scrapeops.io/app/register/n8n
  2. Add ScrapeOps credentials in n8n. Docs: https://scrapeops.io/docs/n8n/overview/
  3. Duplicate the Google Sheet template and connect it to the Read Previous Entries and Save New Leads nodes.
  4. Configure Gmail credentials in the Send Gmail Alert node and set your recipient.
  5. Configure Slack credentials in the Send Slack Alert node and set your channel.
  6. Open the form URL, enter a city, and run.

Pre-conditions

Disclaimer

This template uses ScrapeOps n8n integration as a community node. You are responsible for complying with Google's Terms of Use, robots.txt directives, and applicable laws in your jurisdiction. Scraping targets may change at any time; adjust render, scroll, and wait settings and parsers as needed. Use responsibly and only for legitimate business purposes.