Build Targeted Prospect Lists: Find & Enrich Leads with Surfe to HubSpot
π Build Hyper-Targeted Prospecting Lists with Surfe & HubSpot
Description
π 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. 1. β 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. 2. π§° 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. 4. βοΈ 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 5. π 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. 6. π§© 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. 7. π 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. 8. β 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. An n8n automation workflow template by go-surfe.
Author
go-surfe
Platform
web
Pricing model
free
Categories
Tags
Capabilities
- 4 nodes
- 17 views