# Automate B2B lead generation with Google Places API: n8n workflow

> Started by another system calling it, and works across Google Sheets and SendGrid. 35 steps, 1 branch, 4 loops or waits: large, and worth reading before you...

Source: https://millionrounds.com/workflow/automate-b2b-lead-generation-with-google-places-api (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)

# Automate B2B lead generation with Google Places API

Started by another system calling it, and works across Google Sheets and SendGrid. 35 steps, 1 branch, 4 loops or waits: large, and worth reading before you trust it with anything live.

Large

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fautomate-b2b-lead-generation-with-google-places-api)

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

**1** Branch: places the flow splits

**4** Loops or waits

**2** Services it connects to

## The flow

Starts it 4 Logic 18 Service 13

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

- 1 **Daily Trigger** Schedule trigger *Starts it*
- 2 **Schedule Trigger** Schedule trigger *Starts it*
- 3 **Webhook** Webhook *Starts it*
- 4 **Generate Location Grid (ONE-TIME)** Code *Logic*
- 5 **Read Grid Points** Google Sheets *Service*
- 6 **Get row(s) in sheet** Google Sheets *Service*
- 7 **Get row(s) in sheet1** Google Sheets *Service*
- 8 **Save Grid to Sheet (ONE-TIME)** Google Sheets *Service*
- 9 **Code in JavaScript** Code *Logic*
- 10 **Filter: Remove Fake Emails** Filter *Logic*
- 11 **Filter: Remove Fake Emails1** Filter *Logic*
- 12 **Read Grid Points1** Google Sheets *Service*
- 13 **Update row in sheet1** Google Sheets *Service*
- 14 **Assign Alternating Templates** Code *Logic*
- 15 **Respond to Webhook** Respond To Webhook *Starts it*
- 16 **Filter & Randomize Daily Batch** Code *Logic*
- 17 **Loop Over Items1** Split In Batches *Logic*
- 18 **Google Nearby Search** Http Request *Service*
- 19 **Wait** Wait *Logic*
- 20 **Parse Nearby Results** Code *Logic*
- 21 **Update row in sheet** Google Sheets *Service*
- 22 **Get Place Details2** Http Request *Service*
- 23 **Send an email** Send Grid *Service*
- 24 **Extract Contact Info2** Code *Logic*
- 25 **Split Places Array2** Split Out *Logic*
- 26 **Filter: Has Website2** Filter *Logic*
- 27 **Remove Duplicates: Emails** Code *Logic*
- 28 **Loop Over Items** Split In Batches *Logic*
- 29 **Extract Emails2** Code *Logic*
- 30 **Wait (Rate Limit)2** Wait *Logic*
- 31 **Filter: Has Email2** If *Logic*
- 32 **Scrape Website2** Http Request *Service*
- 33 **Append Leads (Dedupe by Place ID)1** Google Sheets *Service*
- 34 **Prepare Grid Update** Code *Logic*
- 35 **Mark Grid Points as Searched** Google Sheets *Service*

## How it's built

- **Starts on:** Another system calling it
- **Steps:** 35, with 1 branch, 4 loops or waits
- **Size:** Large: read it before trusting it with anything live
- **Connects to:** Google Sheets, SendGrid
- **Model:** None. This is plumbing, not judgement

## Questions

What does it need to run?

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

What starts it?

It starts on another system calling it.

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 35 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 35 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%2Fautomate-b2b-lead-generation-with-google-places-api)
- **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)[SendGrid](https://millionrounds.com/workflows?service=SendGrid#library)

## Workflows like it

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

- [**Manage hotel guest requests and post-stay outreach** 35 steps · calls a model · Google Sheets, Slack](https://millionrounds.com/workflow/manage-hotel-guest-requests-and-post-stay-outreach)
- [**Generate leads with Google Maps** 36 steps · Google Sheets](https://millionrounds.com/workflow/generate-leads-with-google-maps)
- [**Scrape & analyze Google Ads with Bright Data API** 36 steps · calls a model · Gmail, Google Sheets](https://millionrounds.com/workflow/scrape-and-analyze-google-ads-with-bright-data-api)
- [**Speed-to-Lead AI Response Engine for WhatsApp, Web Forms** 37 steps · Email, Google Sheets](https://millionrounds.com/workflow/speed-to-lead-ai-response-engine-for-whatsapp-web-forms)
- [**Speed-to-Lead AI Response Engine for WhatsApp, Web Forms, Chat** 37 steps · Email, Google Sheets](https://millionrounds.com/workflow/speed-to-lead-ai-response-engine-for-whatsapp-web-forms-chat)
- [**Outreach for your product with Apollo and LinkedIn** 33 steps · calls a model · SendGrid, Supabase](https://millionrounds.com/workflow/outreach-for-your-product-with-apollo-and-linkedin)
