If you’ve ever spent hours manually finding companies, searching for people, verifying contact info, and then adding everything into Salesforce, this Make.com automation is about to save you an entire workday.
We recently built an end-to-end automated prospecting workflow using Make.com, Surfe APIs, and Salesforce and it’s been a total time-saver.
In this post, we’ll walk you through:
- What exactly the workflow does
- How each part works under the hood
- And how you can set it up in your own Make.com organization in minutes
What Are We Actually Doing?
The goal is simply building a list of potential leads (people) that match our Ideal Customer Profile (ICP) automatically.
Here’s the high-level flow:
- Define what kind of companies we’re looking for (industry, size, revenue, country, etc.).
- Fetch the companies that match our ICP using Surfe’s APIs.
- Search for people working at those companies.
- Enrich those people with verified email + phone using Surfe’s Enrichment API.
- Push those leads directly into Salesforce.
- Send ourselves a Gmail notification saying, “It’s done!”
All of that happens inside one Make.com scenario, no code, just modules and connections. Here’s how it all comes together step by step.
Node-by-Node Breakdown
1. Trigger
This workflow starts manually when we hit “Run once” inside Make.com.
It’s perfect for testing or running on demand, but you can easily schedule it — for example, every Monday morning to refresh your prospect list.
Node: Manual Trigger
2. Search ICP Companies (Surfe API)
The first module is an HTTP POST request to Surfe’s Company Search API.
We define filters for our ICP — for example:
- Industries: Software, Apps, SaaS
- Employee Count: 1–50
- Country: IN (India)
- Revenue: 1–100M
Request body:
{
"filters": {
"industries": ["Software", "Apps", "SaaS"],
"employeeCount": { "from": 1, "to": 50 },
"countries": ["IN"],
"revenues": ["1-100M"]
},
"limit": 10
}
This gives us a clean list of companies (and their domains) matching our target ICP.
3. Extract Company Domains
Next, we use a JSON → Transform to JSON module.
It extracts the list of companyDomains from the API response so we can pass them into the next API call.
Think of it as: “take just the domains we need from the companies we found.”
4. Search People in Those Companies
Another HTTP POST request, this time to Surfe’s People Search API:
{
"companies": {
"domains": {{23.json}}
}
}
This tells Surfe, “Find me people who work at these companies.”
It returns a list of professionals complete with names, job titles, and company info (but not yet verified contact details).
5. Prepare People Data for Enrichment
We again use a JSON transform to clean up and structure the list of people properly for enrichment.
At this stage, we’re just formatting the data — no enrichment yet.
6. Surfe Bulk Enrichment API
Now comes the magic.
We send another HTTP POST to:
https://api.surfe.com/v2/people/enrich
With this body:
{
"include": {
"email": true,
"mobile": true
},
"people": {{31.json}}
}
This tells Surfe to enrich each person’s record with verified emails and mobile numbers. Surfe responds with an enrichmentID that we’ll poll until it’s complete.
7. Poll for Enrichment Completion
Make.com’s flow uses a Router that branches into two paths. In the main route, we create a loop using:
- A Repeater to iterate up to 50 times,
- A Sleep (delay) of 3 seconds, and
- A HTTP GET request to
https://api.surfe.com/v2/people/enrich/{{25.data.enrichmentID}}
We check the response status:
- If "COMPLETED" → move ahead
- Else → wait and check again
This ensures we only move forward when enrichment is actually done.
8. Extract Enriched People
Once the status is "COMPLETED", we extract the enriched data — verified emails, phone numbers, job titles, etc.
The Feeder module then feeds each person’s record one by one to the next module.
Now we’ve got a clean list of contacts ready to sync.
9. Create or Update Contact in Salesforce
This is where we push enriched leads into Salesforce.
Module: Salesforce → Upsert Record
Object: Contact
We map the following fields:
- First Name → {{62.firstName}}
- Last Name → {{62.lastName}}
- Email → {{62.emails[].email}}
- Mobile Phone → {{62.mobilePhones[].mobilePhone}}
- Country → {{62.country}}
- Title → {{62.jobTitle}}
If a contact exists, it updates it.
If not, it creates a new one keeping your CRM clean and fresh automatically.
10. Gmail Notification
Finally, a Gmail → Send an email module notifies us when the workflow completes.
Subject:
Make.com workflow ran successfully
Body:
Hey there,
{{length(5.data.people)}} new ICP contacts have been added in your Salesforce org.
That’s our confirmation that everything ran smoothly — no more wondering if your script finished or not.
Setting It Up in Your Own Make.com Org
You can easily recreate this workflow inside your own workspace.
Prerequisites
- Make.com account (if you don’t have one, Sign up here)
- Surfe API key (get yours click here)
- Salesforce OAuth connection
- Gmail connection (for notifications)
How to Build It
- Import the blueprint JSON into your Make.com scenario editor. (On your blog page, you can add a “Download Blueprint” button so readers can import it directly.)
Download Blueprint? Click here - Click on the three dots at the top right of your dashboard and select Import Blueprint.
- Add the blueprint file you want to import.
- Go to each HTTP node and add your <your_surfe_api_token> under the Authorization header (after “Bearer”). Do this for all HTTP modules.
- Authorize both Salesforce and Gmail connections when prompted.
- Update the filters in your Search ICP Companies node to match your industries, locations, and company size.
- Replace the Gmail address in the final module with your own.
- Click Run once (or set a schedule) and watch as the workflow builds your ICP-based prospect list automatically.
Wrap-Up
This was a fun build — Make.com really shines when chaining APIs together visually like this. Surfe’s enrichment APIs combined with Salesforce integration create a lightweight yet powerful B2B growth engine.
Want to customize it?
- Change your ICP filters (industry, country, size)
- Push data into HubSpot or Airtable instead of Salesforce
- Send Slack notifications instead of Gmail
- Hope this walkthrough helped you understand how to automate your own ICP-based prospecting workflow with Make.com and Surfe. Once you try it out, you’ll see how effortless data enrichment and lead generation can become!
If you have any questions or need assistance, feel free to drop us a message at support@astreait.com — we would be happy to help.