🚀 What this template does
Automatically finds and enriches key contacts in a deal’s buying group by combining the company domain from the HubSpot deal with the buying group criteria you define (departments, seniorities, countries, job titles). It then pushes these contacts into HubSpot and emails your team a clean summary with direct HubSpot links—so no decision-maker falls through the cracks.
Before starting, make sure you have:
Buying Group Criteria Excel – Contains two sheets:
Buying group reference values (reference list)
Your Buying Group Criterias (where you define your filters)
You’ll import the Excel file into Google Sheets during setup.
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 🚀 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.4 🎯 HubSpot OAuth2 API
Go to n8n → Credentials → Create Credential → HubSpot Oauth2 API
Here make sure to select your normal hubspot account where your companies, deals and contacts are and not the hubspot-developers-xxx.com
Done ✅
4.1.5 🔓 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
4.1.6 🎯 HubSpot Developer Api:
In order to Use the HubSpot Trigger node, you need to setup HubSpot Developer Api
To configure this credential, you'll need a HubSpot developer account and:
A Client ID: Generated once you create a public app.
A Client Secret: Generated once you create a public app.
A Developer API Key: Generated from your Developer Apps dashboard.
An App ID: Generated once you create a public app.
To create the public app and set up the credential:
Log into your HubSpot app developer account.
Select Apps from the main navigation bar.
Select Get HubSpot API key. You may need to select the option to Show key.
Copy the key and enter it in n8n as the Developer API Key.
Still on the HubSpot Apps page, select Create app.
On the App Info tab, add an App name, Description, Logo, and any support contact info you want to provide. Anyone encountering the app would see these.
Open the Auth tab.
Copy the App ID and enter it in n8n.
Copy the Client ID and enter it in n8n.
Copy the Client Secret and enter it in n8n.
In the Scopes section, select Add new scope.
Add all the scopes listed in Required scopes for HubSpot Trigger node to your app.
Select Update.
Copy the n8n OAuth Redirect URL and enter it as the Redirect URL in your HubSpot app.
Select Create app to finish creating the HubSpot app.
Refer to the HubSpot Public Apps documentation for more detailed instructions.
You should see this on n8n at the end.
✅ 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 :
Google Sheets -> Credentials to connect with → Google Sheets Account
Gmail Node Credentials to connect with → Gmail account
HubSpot: Create or Update →Credentials to connect with → Huspot App Token Account
HubSpot Get Company →Credentials to connect with → Huspot App Token Account
HubSpot get deal →Credentials to connect with → Huspot App Token Account
HubSpot Trigger →Credentials to connect with → Huspot Developer account
HTTP Node GET deal associated companies from HUBSPOT → Credential Type → Hubspot OAuth2 API
Surfe HTTP nodes:
Authentication → Generic Credential Type
Generic Auth Type → Bearer Auth
Bearer Auth → Select the credentials you created before
Surfe HTTP nodes
4.2.2 🔧 Additional Setup for the node Google Sheets READ CRITERIAS:
Paste the url of your google sheets in Document → By URL
Select the sheet Your Buying Group Criterias
5. 🔄 How This N8N Workflow Works
A new deal is created in HubSpot, which triggers the workflow.
The workflow retrieves the company domain linked to that deal.
It reads the buying group criteria from your Google Sheet (departments, seniorities, countries, job titles).
These criteria are combined with the company domain to create a search payload for Surfe’s People Search API (limited to 200 people per run).
Matching contacts are then sent to Surfe’s Bulk Enrichment API to retrieve emails, phone numbers, and other details.
n8n polls Surfe until the enrichment job is complete.
Enriched contact data is extracted and filtered so that only contacts with at least one valid email or phone number remain.
These contacts are created or updated in HubSpot.
Finally, a Gmail summary email is sent to your team with a clean table of the new or updated contacts and direct links to view them in HubSpot.