Build Targeted Prospect Lists: Find & Enrich Leads with Surfe to HubSpot
π Build Hyper-Targeted Prospecting Lists with Surfe & HubSpot
This template automatically discovers companies that match your Ideal Customer Profile (ICP), finds the right people inside those companies and enriches them β ready to drop straight into HubSpot. Launch the workflow, sit back, and get a clean list of validated prospects in minutes.
- β What Problem Does This Solve?
Sourcing prospects that truly fit your ICP is slow and repetitive. You jump between databases, copy domains, hunt down decision-makers, and then still have to enrich emails and phone numbers one by one.
This workflow replaces all that manual effort:
It queries Surfeβs database for companies that match your exact industry, size, revenue and geography filters. It pulls the best-fit people inside each company and enriches them in bulk. It keeps only records with both a direct email and mobile phone, then syncs them to HubSpot automatically.
No spreadsheets, no copy-paste β just a fresh, qualified prospect list ready for outreach.
- π§° Prerequisites
Youβll need:
A self-hosted or cloud instance of n8n A Surfe API Key A HubSpot Private App Token with contact read/write scopes A Gmail account (OAuth2) for the completion notification The workflow JSON file linked above
N8N_FLOW_2__Building_Prospecting_Lists.json
3. π Search ICP Companies ConfigurationΒ β Fine-Tune Your Targeting
3.1 Editing the JSON
Every targeting rule lives inside the βπ Search ICP Companiesβ HTTP node.
Open the node Search ICP Companies β Parameters tab β JSON Body to edit the filters.
| Filter | JSON path | What it does | Example | | --- | --- | --- | --- | | industries | filters.industries | Narrow to specific verticals (case-sensitive strings) | ["Software","Apps","SaaS"] | | employeeCount.from / to | filters.employeeCount | from / to | 1 / 35 | | countries | filters.countries | 2-letter ISO codes | ["FR","DE"] | | revenues | filters.revenues | Annual revenue brackets | ["1-10M"] | | limit | limit | Companies per run | 20 |
3.2 Where to find allowed values
Surfe exposes an βπ Get Filtersβ endpoint that returns every accepted value for:
industries employeeCounts revenues countries (always ISO-2 codes)
You can hit it with a simple GET /v1/people/search/filters request or browse the interactive docs here:
https://developers.surfe.com/public-008-people-filters developers.surfe.com
For company-level searches, the same enumerations apply.
- βοΈ Setup Instructions
4.1 π Create Your Credentials in n8n
4.1.1 π Surfe API
In your Surfe dashboard β Use Surfe Api β copy your API key Go to n8n β Credentials β Create Credential Choose Credential Type: Bearer Auth Name it something like SURFE API Key Paste your API key into the Bearer Token Save 4.1.2 π§ Gmail OAuth2 API
Go to n8n β Credentials Create new credentials: Type: Gmail OAuth2 API A pop-up window will appear where you can log in with your Google account that is linked to Gmail Make sure you grant email send permissions when prompted
4.1.3 π― HubSpot
π Private App Token
Go to HubSpot β Settings β Integrations β Private Apps Create an app with scopes: crm.objects.contacts.read crm.objects.contacts.write crm.schemas.contacts.read Save the App token Go to n8n β Credentials β Create Credential β HubSpot App Token Paste your App Token
β You are now all set for the credentials
4.2 π₯ Import and Configure the N8N Workflow
Import the provided JSON workflow into N8N Create a New Blank Workflow click the β¦ on the top left Import from File
4.2.1 π Link Nodes to Your Credentials
In the workflow, link your newly created credentials to each node of this list :
Surfe HTTP nodes: Authentication β Generic Credential Type Generic Auth Type β Bearer Auth Bearer Auth β Select the credentials you created before Gmail Node Credentials to connect with β Gmail account Hubspot Node βCredentials to connect with β Gmail account
Surfe HTTP nodes
Surfe HTTP nodes
HubSpot node β Credentials to connect with β select your HubSpot credentials in the list
- π How This N8N Workflow Works
Manual Trigger β Click Execute Workflow (or schedule it) to start. Search ICP Companies β Surfe returns company domains that match your filter set. Prepare JSON Payload with Company Domains β Formats the domain list for the next call. Search People in Companies β Finds people inside each company. Prepare JSON Payload Enrichment Request β Builds the bulk-enrichment request. Surfe Bulk Enrichments API β Launches one enrichment job for the whole batch. Wait + Polling loop β Checks job status every 3 seconds until itβs COMPLETED. Extract List of People β Pulls the enriched contacts from Surfeβs response. Filter: phone AND email β Keeps only fully reachable prospects (email and mobile). HubSpot: Create or Update β Inserts/updates each contact in HubSpot. Gmail β Sends you a βYour ICP prospecting enrichment is doneβ email.
- π§© Use Cases
Weekly prospect list refresh** β Generate 50 perfectly-matched prospects every Monday morning. Territory expansion** β Spin up a list of SMB software CEOs in a new country in minutes. ABM prep** β Build multi-stakeholder buying-group lists for target accounts. Campaign-specific lists** β Quickly assemble contacts for a limited-time product launch.
- π Customization Ideas
prepare
π― Refine filters for people β Add seniorities or other filters in the node JSON PAYLOAD WITH Company Domains use the surfe search people api doc https://developers.surfe.com/public-009-search-people-v2 β»οΈ Deduplicate β Check HubSpot first to skip existing contacts. π’ Slack alert β Replace Gmail with a Slack notification. π Reporting β Append enriched contacts to a Google Sheet for analytics.
- β Summary
Fire off the workflow, and n8n will find ICP-fit companies, pull key people, enrich direct contact data and drop everything into HubSpot β all on autopilot.
Prospecting lists, done for you.
Related Templates
Instagram Full Profile Scraper with Apify and Google Sheets
πΈ Instagram Full Profile Scraper with Apify and Google Sheets This n8n workflow automates the process of scraping ful...
Technology News Workflow Explanation with Key Services
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Auto-Publish Techn...
Auto-classify Gmail emails with AI and apply labels for inbox organization
Who is this for? Professionals and individuals who receive high volumes of emails, those who want to automatically organ...
π Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments