AutomationMart
Home/Browse/Automate contact enrichment with Surfe, Google Sheets & HubSpot
n8n

Automate contact enrichment with Surfe, Google Sheets & HubSpot

n8nn8n12 modulesv1.0
HubSpotGmailAirtableGoogle SheetsGoogle DriveLinkedIn

This template enables fully automated lead enrichment using Surfe’s bulk API. Simply drop a Google Spreadsheet into your Google Drive, and n8n will handle everything — from reading the leads, enriching them in batches, filtering valid data, and pushing results to HubSpot. 1. ❓ What Problem Does This Solve? Manually enriching contact lists is tedious, error-prone, and doesn’t scale. Whether you’re importing leads from events, marketing forms, or partners, this workflow ensures each record is enri

At a glance

Automate contact enrichment with Surfe, Google Sheets & HubSpot is a ready-made n8n workflow you import as a workflow JSON file — no build required. It connects HubSpot, Gmail, Airtable, Google Sheets. It's free to download. Follow the 5-step import below to go live in minutes.

Platform
n8n
Connects
HubSpot, Gmail, Airtable, Google Sheets, Google Drive, LinkedIn
Modules
12
Price
Free
Version
v1.0
Automate contact enrichment with Surfe, Google Sheets & HubSpot workflow diagram

About this workflow

This template enables fully automated lead enrichment using Surfe’s bulk API. Simply drop a Google Spreadsheet into your Google Drive, and n8n will handle everything — from reading the leads, enriching them in batches, filtering valid data, and pushing results to HubSpot. 1. ❓ What Problem Does This Solve? Manually enriching contact lists is tedious, error-prone, and doesn’t scale. Whether you’re importing leads from events, marketing forms, or partners, this workflow ensures each record is enriched and synced to your CRM — hands-free. --- 2. 🧰 Prerequisites To use this template, you’ll need: - A self-hosted or cloud instance of n8n - A Surfe API Key - A Google Drive and Sheets account (with OAuth or service account) - A HubSpot account with access to create/update contacts (via OAuth or Private App Token) - The workflow JSON file (included with this tutorial) 3. 📌 Input File Format To run the automation, you must upload a Google Spreadsheet to a specific folder in your Drive. The spreadsheet must contain the following columns: - first name (required) - last name (required) - Either company name or company domain (at least one is required) - linkedin url (optional) 🛑 Important: Any row missing first name, last name, and both company name and company domain will be ignored automatically by the workflow. Each row represents a person to enrich. We recommend including the linkedin url if available, but it's not mandatory. --- 4. ⚙️ Setup Instructions 4.1 🔐 Create Your Credentials in n8n 4.1.1 📁 Google Drive To connect Google Drive and Google Sheets in your workflow, you need to authorize n8n via Google OAuth 2.0 using a Client ID and Client Secret from the Google Cloud Console. --- 📋 Step 1: Create a Google Cloud Project 1. Visit Google Cloud Console 2. Create a new project or select an existing one 3. Navigate to APIs & Services → OAuth consent screen --- ⚙️ Step 2: Configure the OAuth Consent Screen 1. Enter the following: - App name (e.g. n8n Integration) - User support email 2. Choose Audience Type: - Internal if you’re using a Google Workspace account - External if using a personal Gmail account 3. Under Contact information - email address 4. Click Save and Continue --- 🔑 Step 3: Create OAuth Client Credentials 1. Go to APIs & Services → Credentials 2. Click + Create Credentials → OAuth Client ID 3. Select Web application as the application type 4. Name it (e.g. n8n Google Drive Access) 5. In Authorized redirect URIs, paste this: (Or your self-hosted n8n redirect URI) 6. Click Create 7. Copy the Client ID and Client Secret --- ✅ Step 4: Finish Setup in n8n 1. In n8n, go to Credentials → Create New → Google Drive / Google Sheets 2. Choose OAuth2 3. Paste your: - Client ID - Client Secret - Redirect URL (should match Google Console) 4. Click Sign in with Google 5. Authorize access and save the credential ✅ Your Google Drive is now ready to use in workflows. --- 4.1.2 📊 Google Sheets OAuth2 API 1. Go to n8n → Credentials 2. Create new credentials: - Type: Google Sheets OAuth2 API 3. Here a pop-up will open where you can login to your Google account from where you will read the Google Sheets When it’s done you should see this on n8n --- 4.1.3 📧 Gmail OAuth2 API 1. Go to n8n → Credentials 2. Create new credentials: - Type: Gmail OAuth2 API 3. 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.4 🚀 Surfe API 1. In your Surfe dashboard → Use Surfe Api → copy your API key 2. Go to n8n → Credentials → Create Credential 1. Choose Credential Type: Bearer Auth 2. Name it something like SURFE API Key 3. Paste your API key into the Bearer Token 4. Save --- 4.1.5 🎯 HubSpot 🔓 Private App Token 1. Go to HubSpot → Settings → Integrations → Private Apps 1. Create an app with scopes: - crm.objects.contacts.read - crm.objects.contacts.write - crm.schemas.contacts.read 2. Save the App token 2. Go to n8n → Credentials → Create Credential → HubSpot App Token 1. 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 : - Google Drive Node -> Credentials to connect with → Google Drive Account - Google Sheets -> Credentials to connect with → Google Sheets Account - Gmail Node Credentials to connect with → Gmail account - Hubspot Node →Credentials to connect with → Gmail account - Surfe HTTP nodes: - Authentication → Generic Credential Type - Generic Auth Type → Bearer Auth - Bearer Auth → Select the credentials you created before Surfe HTTP nodes Surfe HTTP nodes - HubSpot node → Credentials to connect with → select your HubSpot credentials in the list --- 4.2.2 🔧 Additional Setup for the Google Drive Trigger Node --- 5. 🔄 How This N8N Workflow Works 1. A new Google Sheet containing a linkedinurl column is added to a specific folder in Google Drive 2. n8n detects the new file automatically via the Google Drive Trigger 3. All rows are read and batched in groups of 500 to comply with Surfe’s API limits 4. Each batch is sent to Surfe’s Bulk Enrichment API 5. n8n polls Surfe until the enrichment job is complete 6. It extracts the enriched contact data from Surfe’s response 7. Only contacts with both email and phone number are kept 8. These validated leads are pushed to HubSpot 9. Finally, a Gmail notification is sent to confirm the job is complete --- 6. 🧩 Use Cases - Post-event contact enrichment – After a trade show, upload a list of LinkedIn profile URLs from badge scans or lead capture forms - Outbound LinkedIn campaign follow-ups – Gather LinkedIn URLs from manual outreach and enrich them into usable CRM leads - CRM data enhancement – Use LinkedIn URLs to fill in missing contact info for existing or imported contacts - List building from LinkedIn exports – Upload a list of LinkedIn profiles (e.g. from Sales Navigator) and turn them into fully enriched contacts in HubSpot --- 7. 🛠 Customization Ideas - 🔁 Add retry logic for failed Surfe enrichment jobs - 📤 Log enriched contacts into a Google Sheet or Airtable - 🔍 Add pre-check logic to avoid creating duplicates in HubSpot - 📊 Extend the flow to generate a basic summary report of enriched vs rejected contacts --- 8. ✅ Summary This workflow turns a basic Google Sheet of LinkedIn URLs into fully enriched, CRM-ready contacts — automatically synced with HubSpot. Just upload your file. Let Surfe do the rest.

n8n

How to import this n8n workflow

  1. 1

    Download the workflow JSON file after purchase.

  2. 2

    Open n8n → click the menu → Import from File.

  3. 3

    Select the downloaded JSON and import.

  4. 4

    Set up credentials for each node that requires them.

  5. 5

    Click Execute Workflow to test, then activate.

Setup guide

Setup guide included

Purchase to unlock the full step-by-step guide

Related N8n workflows

Personalize an introduction message with ChatGPT for new Salesforce leads and store them on a Google Sheet for review

Optimize your lead nurturing with personalized introduction messages for new Salesforce leads, conveniently organized and stored in Google Sheets for easy review before emailing.

Free

Create a new record in Airtable from a Google Ads Lead Forms submission

Please disable your ad blockers when working with our Google Ads apps. The ad blockers may cause unexpected behavior. Every time a new Google Ads Lead form is submitted, a new record will be created in Airtable. The template expects your lead form to collect at least these fields: 1) Full Name 2) User Email 3) User Phone The template expects your Airtable table to have the following columns: 1) Full Name 2) User Email 3) User Phone

Free

Generate responses using Perplexity AI and ChatGPT from Google Sheets range values

Automatically generate responses using Perplexity AI and ChatGPT and update Google Sheets. Fetch sheet range values, create chat completions, and update rows efficiently.

Free

Validate e-mails in Airtable table by Loqate

When a new record is created in Airtable, e-mail from the record is validated by Loqate. If the e-mail is not valid, it is deleted from the table.

Free

Send personalized data engineer hiring emails with PredictLeads, OpenAI and Gmail

Find companies hiring data engineers, enrich them with tech stack data from PredictLeads, and send AI-personalized service offering emails. This workflow takes a target company domain, queries PredictLeads for data engineer job openings, enriches each result with company info and technology stack data, then uses OpenAI to generate a personalized outreach email that references the company's current tools (e.g., "I see you're on Snowflake and looking for pipeline engineers"). How it works: 1. Sc

Free

Automated sales follow-up system using HighLevel, Gmail, Slack & Google Sheets

Description: This workflow automates sales contact follow-ups and engagement tracking by integrating HighLevel CRM, Gmail, Slack, and Google Sheets. It fetches all contacts from HighLevel, filters inactive contacts, sends personalized follow-up emails, checks for responses, and notifies the sales team accordingly. It eliminates manual follow-up tracking, ensures timely outreach, and provides real-time notifications — helping sales teams maintain engagement, respond promptly, and improve le

Free

Website downtime alert via LINE + Supabase log

This workflow automatically checks the status of your websites using UptimeRobot API. If any site is down or unstable, it will: - Generate a natural-language alert message using GPT-4o - Push the message to a LINE group (with funny IT-style encouragement) - Log all DOWN status entries into your Supabase database - Wait 30 minutes before repeating 🔧 How It Works 1. Schedule Trigger – Runs on a fixed interval (every few minutes). 2. UptimeRobot Node – Fetches website monitor data. 3. Code Node (Fi

Free

Automated press pass verification & badge creation with QR codes & multi-channel distribution

Verified Press Pass Generator for Media Events Automate press credential verification and badge generation for journalists covering your events --- 📝 Description Streamline your event media management with this comprehensive press pass automation. When journalists apply for credentials, this workflow instantly validates their identity, verifies their media affiliation, generates professional digital badges with QR codes, and delivers everything via email—all within seconds. Perfe

Free

Reviews

No reviews yet

Be the first to buy and share your experience.

Leave a review

Sign in to share your experience with this workflow.

Log in to review
Free
No ratings yet

Create a free account to purchase workflows.

  • JSON blueprint — instant download
  • Setup guide PDF included
  • 5 downloads · valid 30 days
  • Works with n8n

Need help setting this up?

Book a 3-hour live setup session with an Agility consultant.

₹2,499/ session
3 hrs · video call
  • Configure live on Google Meet / Zoom
  • Free follow-up if workflow has defects
  • Platform expert assigned to you
Book installation session
Free