May 24, 2025
Scrape Local Business Leads with Dumpling AI and Launch Instant AI Calls with Vapi
Cold outreach doesn’t have to be manual, slow, or messy. With this automation built in n8n, you can:
- Pull targeted business lead keywords from Google Sheets
- Scrape verified local business contact data using Dumpling AI
- Automatically clean and filter for valid phone numbers
- Launch cold calls through Vapi AI voice agents
- Log all call attempts and contact details into a Google Sheet
This is an end-to-end workflow that goes from lead generation to direct contact in minutes, no human dialing, no copy-paste, and no spreadsheets to manage manually.
Let’s walk through how each part works and how it all connects.
Step 1: Start Workflow Manually
Node: Start Workflow Manually
This is your trigger node, ideal for testing or running on demand.
You can replace this later with a scheduler, webhook, or CRM signal once the workflow is stable.

Step 2: Get Search Queries from Google Sheets
Node: Get Search Keywords from Google Sheets
This pulls your list of local lead search queries such as:
- “best salons in Dallas”
- “top HVAC companies in Miami”
- “dentists near Manhattan”
Each row in the sheet triggers a separate lead scraping request. This allows for multi-location or multi-niche targeting in one automation.
What to configure:
- Connect your Google account
- Select your spreadsheet and sheet
- Output the search phrases as a JSON field (URLs, or however your column is labeled)

Mapping:

Step 3: Scrape Google Maps Results with Dumpling AI
Node: Scrape Google Map Businesses using Dumpling AI
This node makes a POST request to Dumpling AI’s search-maps endpoint.
Request Payload:
{
“query”: “{{ $json.URLs }}”,
“language”: “en”
}
What it returns:
A rich list of business objects including:
- Business name
- Phone number
- Website
- Rating
- Location
Why this is powerful:
You skip the headache of writing scrapers or using proxies. Dumpling AI returns structured business data in one API call.

Mapping:

Step 4: Split Out Each Business Entry
Node: Split Each Business Result
The Dumpling AI response contains an array of businesses under the places field. This node splits them into individual items so each lead can be processed one by one.
Pro Tip:
If you want to later filter based on rating or review count, you can do it after this split node.

Mapping:

Step 5: Extract Business Name, Phone, and Website
Node: Edit field
This step pulls just the 3 critical values we need for calling and logging:
- title → business name
- phoneNumber → raw phone
- website → optional for logging

Mapping:

Step 6: Filter Leads Without Valid Phone Numbers
Node: Filter Valid Phone Numbers Only
Leads without a phone number are filtered out here. This saves API credits and avoids wasting Vapi calls.
Condition:
- phoneNumber must exist and not be empty
Why this is essential:
It prevents null or undefined numbers from triggering failed calls downstream.

Step 7: Format Phone Numbers for Vapi
Node: Format Phone Number for Calling
Vapi requires properly formatted international numbers. This node:
- Removes non-digit characters
- Adds +1 (USA country code) by default
Formula:
‘+1’ + $json[“phoneNumber”].replace(/\D/g, ”)
Pro Tip:
For international campaigns, change the country code dynamically based on area or search input.

Mapping:

Step 8: Call the Business Using Vapi AI Assistant
Node: Initiate Vapi AI Call to Business
This is the heart of your outreach. It calls the cleaned number using your Vapi voice agent.
What it sends:
- The phone number to call
- The business name (injected into the assistant’s prompt)
- Assistant ID and Number ID (you’ll need to preconfigure these in Vapi)
Payload:
{
“customers”: [
{
“number”: “{{ $json.formattedPhone }}”,
“name”: “”
}
],
“assistantId”: “”,
“phoneNumberId”: “”,
“assistantOverrides”: {
“variableValues”: {
“Name”: “{{ $(‘Filter Valid Phone Numbers Only’).item.json.title }}”
}
}
}
Why this is powerful:
You now have an autonomous AI voice system that contacts qualified businesses on your behalf.

Mapping:

Step 9: Log Call Outcome to Google Sheets
Node: Log Called Business Info to Sheet
This final step appends each contacted business into a Google Sheet for tracking and follow-up.
Logged Fields:
- Company Name
- Phone Number
- Website
You can extend this to log after the call:
- Call time
- Status (answered, failed, voicemail)
- Agent notes or transcript summary

Mapping:

Automation Flow Summary
Here’s how the whole thing runs:
- Start manually or from Google Sheets
- Scrape local leads using Dumpling AI
- Filter and clean results
- Auto-call businesses using Vapi AI assistant
- Log the outreach in a centralized Google Sheet
Conclusion: This Is Smart Cold Outreach at Scale
This is no longer cold calling with a spreadsheet and a phone.
You now have:
- A targeted lead scraping engine
- A real-time calling system powered by AI
- A logging mechanism that captures every attempt
You can run this daily, weekly, or connect it to CRM triggers. You can even route calls based on business type, location, or campaign type.
Why this workflow works:
- It keeps your pipeline filled with fresh leads
- It runs without needing a team of sales reps
- It gives you full visibility, tracking, and control
💡 Want to level this up?
- Add a step to enrich the business (emails, review counts, etc.)
- Log call responses using Vapi’s webhook
- Build a dashboard in Airtable or Notion to monitor performance
- Auto-schedule call retries for failed numbers