If you're an agency reselling DropSaaS, prospecting local businesses is a daily priority—but doing it manually is time-consuming and often inconsistent. That’s why we’ve built an Advanced Prospecting Workflow powered entirely by n8n, a powerful open-source automation platform.
This article explains how to set up and launch a complete, fully automated cold outreach funnel using:
SERP API to scrape business data from Google Maps
Google Sheets as a CRM for data collection
Custom code to extract emails from business websites
Canva API to generate personalized reports
Vapi API to automatically call leads without emails and collect them
Once launched, the automation will:
Search for local businesses in your selected area and industry
Collect their phone numbers, emails, and other useful info
Generate a tailored report that shows why they’re not in the Google 3-Pack
Automatically send cold emails with the report attached
If an email is not found, use an AI phone call to get it
Send the report after retrieving the email
You can schedule this workflow to run daily, target different industries each week, and even have your calendar filled with booked meetings—all without spending a dollar on ads or lifting a finger.
How the Workflow Works (Step by Step)
1. SERP API: Scraping Google Maps Data
The workflow uses the SERP API to search for a category and location on Google Maps. It scrapes:
Business names
Addresses
Websites
Ratings
Review counts
Phone numbers
It supports pagination using the start
value (e.g. 0
, 20
, 40
) to go beyond the first 20 results.
2. Custom Code: Extracting Emails from Websites
For each business with a website, the workflow loads the website and runs a script to find email addresses from the page content.
3. Google Sheets: CRM and Workflow Backbone
All data is written to a Google Sheet that acts as your prospect CRM. Each business gets a row with scraped data, email (if available), and status tracking fields.
4. Canva API: Generating Personalized Reports
A prebuilt Canva template is used to generate a custom PDF report for each business. The report:
Highlights the Google 3-Pack opportunity
Shows if the business is not ranked
Lists the competitors in the top 3
Explains how to improve their ranking through reviews
This uses the Canva API to dynamically fill variables like business name, category, competitors, and ranking data into a PDF.
5. Vapi AI Calling: Getting Missing Emails
If no email is found, the Vapi API will place an AI-powered call to the business asking:
"Hi, I’ve prepared a free personalized marketing report for your business. What’s the best email where I can send it?"
Once the call is complete, the workflow:
Extracts the email from the transcript
Adds it to the Google Sheet
Generates the report via Canva
Sends the email with the report attached
6. Cold Email: Delivering the Report
A personalized cold email is sent with the PDF report attached. The email explains the opportunity and includes a strong call to action:
Book a free meeting
Start a free trial of your white-label SaaS
How to Set It Up in Your n8n Account
1. Import the JSON File
Download the JSON file provided.
Open your n8n editor.
Click the three dots in the top left > Import from File.
Paste the contents of the file.
2. Set the API Credentials
Import the JSON File
Download the JSON file provided.
Open your n8n editor.
Click the three dots in the top left > Import from File.
Paste the contents of the file.
SERP API
Create an account at serpapi.com
Get your API key from this link: https://serpapi.com/manage-api-key

In n8n: Authentication > Predefined Credential Type, Credential Type > SerpAPI, API Key > YOUR_API_KEY


Google Sheets
Use the prebuilt Google Sheets node in n8n
Connect your Google account via OAuth when prompted


Canva OAuth2
Go to: Canva Developer Integrations
Create a new integration and set:

Scopes: asset:read asset:write brandtemplate:content:read brandtemplate:meta:read design:content:read design:content:write design:meta:read design:permission:read design:permission:write

Redirect URL: https://oauth.n8n.cloud/oauth2/callback

Save, then copy the Client ID and Client Secret
In n8n: Authentication > Generic Credential Type, Credential Type > OAuth2 API

Use:
Grant Type: PKCE
OAuth Redirect URL: https://oauth.n8n.cloud/oauth2/callback
Authorization URL: https://www.canva.com/api/oauth/authorize
Access Token URL: https://api.canva.com/rest/v1/oauth/token
Scope: Use the same list above
Auth URI Query Parameters: response_type=code


Vapi API
Create an account at Vapi.ai
Create a new assistant (AI voice bot) with the goal: ask for email to send a free report
Copy your private API Key from: https://dashboard.vapi.ai/org/api-keys

In n8n: Authentication > Generic Credential Type, Credential Type > Header Auth; Name > Authorization, Value > Bearer YOUR_API_KEY
(add a space between "Bearer" and YOUR_API_KEY
)


How to Customize the Input (Targeting Locations and Keywords)
At the beginning of the workflow, you'll find a block that looks like this:
[
{
"keyword": "dentist",
"location": "New York",
"ll": "@40.712776,-74.005974,14z",
"start": 0
},
{
"keyword": "dentist",
"location": "New York",
"ll": "@40.712776,-74.005974,14z",
"start": 20
}
]
keyword
= type of business (e.g. "dentist", "gym", "hair salon")
location
= city name
ll
= latitude and longitude with zoom level (14z is standard)
start
= position in the results:
0
= first 20 results
20
= results 20–40
40
= 40–60, and so on
To get 100 leads, you’ll need five objects with start
values: 0
, 20
, 40
, 60
, and 80
.
Example with Multiple Cities
[
{ "keyword": "dentist", "location": "Chicago", "ll": "@41.8781,-87.6298,14z", "start": 0 },
{ "keyword": "gym", "location": "Dallas", "ll": "@32.7767,-96.7970,14z", "start": 0 },
{ "keyword": "salon", "location": "Miami", "ll": "@25.7617,-80.1918,14z", "start": 0 }
]
You can paste as many as you want, targeting different verticals and areas daily.
How to Turn This Workflow into the PRO or BASE Version
If you don’t want to use Vapi for voice calls (i.e., you want to stop the workflow when there's no email), you can easily downgrade this automation to the PRO version:
To Create the PRO Version:
In your n8n workflow, look for the node or flow that starts the Vapi call (usually triggered when email is missing).
Delete or disable this branch. You can do this by right-clicking the Vapi-related nodes and selecting "Disable" or "Delete".
The workflow will now skip the call and only send reports if an email is already available.
To Create the BASE Version:
Perform the same step above to remove the Vapi call flow.
Next, also delete the section that:
Autofills the Canva template
Downloads the Canva PDF
Connect the cold email node directly after the email is found.
The BASE version will send cold emails without attachments, just a message and a call-to-action.
You now have 3 versions:
ADVANCED: Calls leads without email, sends report if obtained
PRO: Sends reports only to leads with email, no call
BASE: Sends email only (no call, no report)
Recommended Prospecting Strategy
We suggest focusing on one vertical at a time to create more targeted marketing.
For example:
Week 1: Dentists in your city
Week 2: Gyms in nearby cities
Week 3: Hair salons
Set a unique message for each and let the workflow generate leads every single day.
Your goals:
Get leads to book a meeting with you
Or get them to start a free trial of your SaaS
You don’t have to invite them manually. The workflow handles the research, outreach, and follow-up.
Conclusion
With this workflow, you can:
Prospect automatically across any city or niche
Generate personalized reports
Send outreach emails without lifting a finger
Even trigger AI calls to collect missing data (in ADVANCED version)
You now have everything needed to launch at scale without code.
👉 On the next article, you’ll find:
The JSON files for all 3 strategies: Base, Pro, and Advanced
An empty Google Sheet template to use as your CRM
The pre-built Canva project you can import into your Canva account
Take the version that fits your agency best—and launch today.
— Team DropSaaS