# Automate business partner outreach with Google Maps and OpenAI: n8n workflow

> Started by a clock, and works across Apify, Google Drive, Google Sheets and Pinecone. It puts OpenAI and Perplexity behind a retrieval step, so answers are...

Source: https://millionrounds.com/workflow/automate-business-partner-outreach-with-google-maps-and-open (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 business partner outreach with Google Maps and OpenAI

Started by a clock, and works across Apify, Google Drive, Google Sheets and Pinecone. It puts OpenAI and Perplexity behind a retrieval step, so answers are drawn from documents you supply rather than from the model alone. 55 steps, 2 branches, 5 loops or waits: large, and worth reading before you trust it with anything live.

Large Calls a model: OpenAI, Perplexity Retrieval

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fautomate-business-partner-outreach-with-google-maps-and-open)

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

**2** Branches: places the flow splits

**5** Loops or waits

**4** Services it connects to

## The flow

Starts it 5 Model 13 Logic 16 Service 21

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

- 1 **Incoming message** Waha trigger *Starts it*
- 2 **Manual Trigger - Start Scraping** Manual trigger *Starts it*
- 3 **Daily Outbound Schedule** Schedule trigger *Starts it*
- 4 **Schedule Outbound message** Schedule trigger *Starts it*
- 5 **Knowledge Base Updated Trigger** Google Drive trigger *Starts it*
- 6 **Reply Handler LLM** Lm Chat Open Ai *Model*
- 7 **Outbound Message LLM** Lm Chat Open Ai *Model*
- 8 **Reply Conversation Memory** Memory Postgres Chat *Model*
- 9 **Outbound Conversation Memory** Memory Postgres Chat *Model*
- 10 **Knowledge Embeddings Model** Embeddings Open Ai *Model*
- 11 **Query Embeddings Model** Embeddings Open Ai *Model*
- 12 **Search Result Reranker** Reranker Cohere *Model*
- 13 **Text Chunk Processor** Text Splitter Recursive Character Text Splitter *Model*
- 14 **Save Lead Contact Information** Google Sheets Tool *Service*
- 15 **Extract WhatsApp Session Data** Set *Logic*
- 16 **Configure Scraping Parameters** Set *Logic*
- 17 **Get Unenriched Records** Google Sheets *Service*
- 18 **Get Outbound Candidates** Google Sheets *Service*
- 19 **Download Knowledge Document** Google Drive *Service*
- 20 **Reply Handler AI Agent** Agent *Model*
- 21 **Outbound Message Generator** Agent *Model*
- 22 **Store Knowledge Embeddings** Vector Store Pinecone *Model*
- 23 **Query Knowledge Base** Vector Store Pinecone *Model*
- 24 **Document Content Loader** Document Default Data Loader *Model*
- 25 **Execute Google Maps Scraper** Apify *Service*
- 26 **Limit Enrichment Batch Size** Limit *Logic*
- 27 **Limit Outbound Batch Size** Limit *Logic*
- 28 **Parse Document via LlamaIndex** Http Request *Service*
- 29 **Format Reply Message Data** Set *Logic*
- 30 **Format Outbound Message Data** Set *Logic*
- 31 **Fetch Scraped Business Data** Http Request *Service*
- 32 **Split Records for Processing** Split Out *Logic*
- 33 **Validate Phone Number Exists** If *Logic*
- 34 **Monitor Document Processing** Http Request *Service*
- 35 **Wait Before Read Receipt - Reply** Wait *Logic*
- 36 **Wait Before Read Receipt - Outbound** Wait *Logic*
- 37 **Save Raw Business Leads** Google Sheets *Service*
- 38 **Business Data Enrichment** Perplexity *Service*
- 39 **Prepare Outbound Session Data** Set *Logic*
- 40 **Check Parsing Completion** If *Logic*
- 41 **Show Typing Indicator - Reply** Gowa *Service*
- 42 **Show Typing Indicator - Outbound** Gowa *Service*
- 43 **Parse Enrichment Response** Code *Logic*
- 44 **Retrieve Parsed Content** Http Request *Service*
- 45 **Wait Before Status Recheck** Wait *Logic*
- 46 **Mark Message as Read - Reply** Gowa *Service*
- 47 **Mark Message as Read - Outbound** Gowa *Service*
- 48 **Save Enriched Business Data** Google Sheets *Service*
- 49 **Simulate Typing Delay - Reply** Wait *Logic*
- 50 **Simulate Typing Delay - Outbound** Wait *Logic*
- 51 **Stop Typing Indicator - Reply** Gowa *Service*
- 52 **Stop Typing Indicator - Outbound** Gowa *Service*
- 53 **Send WhatsApp Reply** Gowa *Service*
- 54 **Send Outbound WhatsApp Message** Gowa *Service*
- 55 **Mark as Contacted** Google Sheets *Service*

## How it's built

- **Starts on:** A clock
- **Steps:** 55, with 2 branches, 5 loops or waits
- **Size:** Large: read it before trusting it with anything live
- **Connects to:** Apify, Google Drive, Google Sheets, Pinecone
- **Model:** OpenAI, Perplexity
- **Retrieval:** Answers are drawn from documents you supply, not from the model alone

## Questions

What does it need to run?

An n8n account, plus your own Apify, Google Drive, Google Sheets and Pinecone accounts, and a key for OpenAI and Perplexity. You connect your own accounts after importing it; none are included.

What starts it?

It starts on a clock.

Does it use AI?

Yes. It calls OpenAI and Perplexity. Its answers draw on documents you give it, not on the model alone. Model calls are billed by the provider, not by n8n.

How long does it take to set up?

Take your time. At 55 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 55 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-business-partner-outreach-with-google-maps-and-open)
- **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.

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

## Workflows like it

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

- [**Gmail Cold Email Sequence with Google Sheets Tracking** 55 steps · Gmail, Google Sheets](https://millionrounds.com/workflow/gmail-cold-email-sequence-with-google-sheets-tracking)
- [**Smart email outreach sequence – AI-powered & customizable** 56 steps · calls a model · Gmail, Google Sheets](https://millionrounds.com/workflow/smart-email-outreach-sequence-ai-powered-and-customizable)
- [**End-to-end B2B real estate lead enrichment & outreach** 58 steps · calls a model · Gmail, Google Drive](https://millionrounds.com/workflow/end-to-end-b2b-real-estate-lead-enrichment-and-outreach)
- [**Run a full lead-to-meeting pipeline with Google Sheets** 52 steps · calls a model · Gmail, Google Sheets](https://millionrounds.com/workflow/run-a-full-lead-to-meeting-pipeline-with-google-sheets)
- [**Automate product Hunt lead generation with Apify** 49 steps · Gmail, Google Sheets](https://millionrounds.com/workflow/automate-product-hunt-lead-generation-with-apify)
- [**Automate social fan-out, marketplace outreach, and CRM alerts** 49 steps · Google Sheets, Salesforce](https://millionrounds.com/workflow/automate-social-fan-out-marketplace-outreach-and-crm-alerts)
