# Generate scored B2B leads from Google Maps websites: n8n workflow

> Started by an event in a connected app, and works across Google Sheets. 25 steps, 2 branches, 1 loop or waits: large, and worth reading before you trust it...

Source: https://millionrounds.com/workflow/generate-scored-b2b-leads-from-google-maps-websites (Millionrounds; every figure on the page links to its filing or article)

[Automation library](https://millionrounds.com/workflows) · [Lead generation](https://millionrounds.com/workflows?category=Lead+generation#library)

# Generate scored B2B leads from Google Maps websites

Started by an event in a connected app, and works across Google Sheets. 25 steps, 2 branches, 1 loop or waits: large, and worth reading before you trust it with anything live.

Large

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fgenerate-scored-b2b-leads-from-google-maps-websites)

**25 steps** Large: read it before trusting it with anything live

**2** Branches: places the flow splits

**1** Loop or waits

**1** Service it connects to

## The flow

Starts it 1 Logic 20 Service 4

The steps in the order they run, from what starts it.

- 1 **Run workflow** Manual trigger *Starts it*
- 2 **Loop over queries** Split In Batches *Logic*
- 3 **Search Google Maps with query** Http Request *Service*
- 4 **Check for Next Page Token** Code *Logic*
- 5 **Has Next Page?** If *Logic*
- 6 **Extract Places Data** Set *Logic*
- 7 **Split Out Places** Split Out *Logic*
- 8 **Filter Operational Businesses** Filter *Logic*
- 9 **Check if Website Exists** If *Logic*
- 10 **Merge Emails with Business Data** Merge *Logic*
- 11 **Fetch Website HTML** Http Request *Service*
- 12 **Merge All Businesses** Merge *Logic*
- 13 **Extract Contact Links** Code *Logic*
- 14 **Combine Homepage and Contact HTML** Code *Logic*
- 15 **Remove Duplicate Businesses** Remove Duplicates *Logic*
- 16 **Filter Contact Links** Filter *Logic*
- 17 **Extract Emails from HTML** Code *Logic*
- 18 **Append to Google Sheets** Google Sheets *Service*
- 19 **Fetch Contact Page HTML** Http Request *Service*
- 20 **Filter Valid Emails** Filter *Logic*
- 21 **Group by Business** Aggregate *Logic*
- 22 **Score and Rank Emails** Code *Logic*
- 23 **Sort by Email Quality** Sort *Logic*
- 24 **Keep Best Email Only** Limit *Logic*
- 25 **Remove Duplicate Emails** Remove Duplicates *Logic*

## How it's built

- **Starts on:** An event in a connected app
- **Steps:** 25, with 2 branches, 1 loop or waits
- **Size:** Large: read it before trusting it with anything live
- **Connects to:** Google Sheets
- **Model:** None. This is plumbing, not judgement

## Questions

What does it need to run?

An n8n account, plus your own Google Sheets account. You connect your own accounts after importing it; none are included.

What starts it?

It starts on an event in a connected app.

Does it use AI?

No. Every step is fixed logic or a call to a service, so it does the same thing every time.

How long does it take to set up?

Take your time. At 25 steps it is large: read it before trusting it with anything live.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

**Before you run it**

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 25 steps before you point it at anything that matters.

## Run it in n8n

- **Create your n8n account** Free to start. n8n is where the workflow runs. [Create an n8n account ↗](https://millionrounds.com/n8n)
- **Download the workflow** Free with a Millionrounds account. [Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fgenerate-scored-b2b-leads-from-google-maps-websites)
- **Paste it into n8n** Open a new workflow in n8n and paste. Then connect your own accounts.

Stored with the author's traces removed: canvas notes, instance identifiers, saved credential names and any live document they had left behind.

## Connects to

Each opens the other workflows that use it.

[Google Sheets](https://millionrounds.com/workflows?service=Google+Sheets#library)

## Workflows like it

Also lead generation, with the same services where possible, closest in size first.

- [**Find and email website-less local businesses** 25 steps · Gmail, Google Drive](https://millionrounds.com/workflow/find-and-email-website-less-local-businesses)
- [**AI-powered lead generation with Apollo and LinkedIn** 25 steps · calls a model · Google Sheets](https://millionrounds.com/workflow/ai-powered-lead-generation-with-apollo-and-linkedin)
- [**Automate personalized B2B outreach with LinkedIn** 25 steps · calls a model · Apify, Gmail](https://millionrounds.com/workflow/automate-personalized-b2b-outreach-with-linkedin)
- [**Scrape US auto transport leads with SerpAPI and OpenAI** 25 steps · calls a model · Google Sheets](https://millionrounds.com/workflow/scrape-us-auto-transport-leads-with-serpapi-and-openai)
- [**Send dental clinic audit outreach with DeepSeek and SerpAPI** 25 steps · calls a model · Gmail, Google Sheets](https://millionrounds.com/workflow/send-dental-clinic-audit-outreach-with-deepseek-and-serpapi)
- [**Automate gym lead nurturing with WhatsApp and Google Sheets** 26 steps · Google Sheets](https://millionrounds.com/workflow/automate-gym-lead-nurturing-with-whatsapp-and-google-sheets)
