See llms.txt for all machine-readable content.

Google Sheets and HubSpot integration

Save yourself the work of writing custom integrations for Google Sheets and HubSpot and use n8n instead. Build adaptable and scalable Data & Storage, Productivity, workflows that work with your technology stack. All within a building experience you will love.

How to connect Google Sheets and HubSpot

Create a new workflow and add the first step

In n8n, click the "Add workflow" button in the Workflows tab to create a new workflow. Add the starting point – a trigger on when your workflow should run: an app event, a schedule, a webhook call, another workflow, an AI chat, or a manual trigger. Sometimes, the HTTP Request node might already serve as your starting point.

Google Sheets and HubSpot integration: Create a new workflow and add the first step

AI-powered lead enrichment with Bright Data MCP and Google Sheets

📌 HubSpot Lead Enrichment with Bright Data MCP Screenshot 20250603 at 1.24.49 PM.png This template enables natural-language-driven automation using Bright Data's MCP tools, triggered directly by new leads in HubSpot. It dynamically extracts and executes the right tool based on lead context—powered by AI and configurable in N8N. ❓ What Problem Does This Solve? Manual lead enrichment is slow, inconsistent, and drains valuable time. This solution automates the process using a no-code workflow that connects HubSpot, Bright Data MCP, and an AI agent—without requiring scripts or technical skills. Perfect for marketing, sales, and RevOps teams. 🧰 Prerequisites To use this template, you’ll need: A self-hosted or cloud instance of N8N A Bright Data MCP API token A valid OpenAI API key (or compatible AI model) A HubSpot account Either a Private App token or OAuth credentials for HubSpot Basic familiarity with N8N workflows ⚙️ Setup Instructions 1. Set Up Authentication in HubSpot 🔐 Option 1: Use a Private App Token (Simple Setup) Log in to your HubSpot account. Navigate to Settings → Integrations → Private Apps. Create a new Private App with the following scopes: crm.objects.contacts.read crm.objects.contacts.write crm.schemas.contacts.read crm.objects.companies.read (optional) Copy the Access Token. In N8N, create a credential for HubSpot App Token and paste the app token in the field. Go back to Hubspot Private App settings to setup a webhook. Copy the url in your workflow's Webhook node and paste it here. 🔁 Option 2: Use OAuth (Advanced + Secure) In HubSpot, go to Settings → Integrations → Apps → Create App. Set your Redirect URL to match your N8N OAuth2 redirect path. Choose scopes like: crm.objects.companies.read crm.objects.contacts.read crm.objects.deals.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read crm.objects.contacts.write (conditionally required) Note the Client ID and Client Secret. Copy the App ID and the developer API key In N8N, create a credential for HubSpot Developer API and paste those info from previous step. Attach these credentials to the HubSpot node in N8N. 2. Setup and obtain API token and other necessary information from Bright Data In your Bright Data account, obtain the following information: API token Web Unlocker zone name (optional) Browser API username and password string separated by colon (optional) 3. Host SSE server from STDIO command The methods below will allow you to receive SSE (Server-Sent Events) from Bright Data MCP via a local Supergateway or Smithery Method 1: Run Supergateway in a separate web service (Recommended) This method will work for both cloud version and self-hosted N8N. Signup to any cloud services of your choice (DigitalOcean, Heroku, Hetzner, Render, etc.). For NPM based installation: Create a new web service. Choose Node.js as runtime environment and setup a custom server without repository. In your server’s settings to define environment variables or .env file, add: `API_TOKEN=your_brightdata_api_token WEB_UNLOCKER_ZONE=optional_zone_name BROWSER_AUTH=optional_browser_auth` Paste the following text as a start command: npx -y supergateway --stdio "npx -y @brightdata/mcp" --port 8000 --baseUrl http://localhost:8000 --ssePath /sse --messagePath /message Deploy it and copy the web server URL, then append /sse into it. Your SSE server should now be accessible at: https://your_server_url/sse For Docker based installation: Create a new web service. Choose Docker as the runtime environment. Set up your Docker environment by pulling the necessary images or creating a custom Dockerfile. In your server’s settings to define environment variables or .env file, add: `API_TOKEN=your_brightdata_api_token WEB_UNLOCKER_ZONE=optional_zone_name BROWSER_ZONE=optional_browser_zone_name` Use the following Docker command to run Supergateway: `docker run -it --rm -p 8000:8000 supercorp/supergateway \ --stdio "npx -y @brightdata/mcp /" \ --port 8000` Deploy it and copy the web server URL, then append /sse into it. Your SSE server should now be accessible at: https://your_server_url/sse For more installation guides, please refer to https://github.com/supercorp-ai/supergateway.git. Method 2: Run Supergateway in the same web service as the N8N instance This method will only work for self-hosted N8N. a. Set Required Environment Variables In your server's settings to define environment variables or .env file, add: API_TOKEN=your_brightdata_api_token WEB_UNLOCKER_ZONE=optional_zone_name BROWSER_ZONE=optional_browser_zone_name b. Run Supergateway in Background npx -y supergateway --stdio "npx -y @brightdata/mcp" --port 8000 --baseUrl http://localhost:8000 --ssePath /sse --messagePath /message Use the command above to execute it through the cloud shell or set it as a pre-deploy command. Your SSE server should now be accessible at: http://localhost:8000/sse For more installation guides, please refer to https://github.com/supercorp-ai/supergateway.git. *Method 3: Configure via Smithery.ai* (Easiest) If you don't want additional setup and want to test it right away, follow these instructions: Visit https://smithery.ai/server/@luminati-io/brightdata-mcp/tools to: Signup (if you are new to Smithery) Create an API key Define environment variables via a profile Retrieve your SSE server HTTP URL 4. Connect Google Sheets to N8N Ensure your Google Sheet: Contains columns like row_id, first_name, last_name, email, and status. Is shared with your N8N service account (or connected via OAuth) In N8N: Add a Google Sheets Trigger node Set it to watch for new rows in your lead sheet 5. Import and Configure the N8N Workflow Import the provided JSON workflow into N8N Update nodes with your credentials: Hubspot: Add your API key or connect it via OAuth. Google Sheets Trigger: Link to your actual sheet OpenAI Node: Add your API key Bright Data Tool Execution: Add Bright Data token and SSE URL 🔄 How It Works New contact in Hubspot or a new row is added to the Google Sheet N8N triggers the workflow AI agent classifies the task (e.g., “Find LinkedIn”, “Get company info”) The relevant MCP tool is called Results are appended back to the sheet or routed to another destination Rerun the specific record by specifying status "needs more enrichment", or leaving it blank. 🧩 Use Cases B2B Lead Enrichment – Add missing fields (title, domain, social profiles) Email Intelligence – Validate and enrich based on email Market Research – Pull company or contact data on demand CRM Auto-fill – Push enriched leads to tools like HubSpot or Salesforce 🛠️ Customization Prompt Tuning – Adjust how the AI interprets input data Column Mapping – Customize which fields to pull from the sheet Tool Logic – Add retries, fallback tools, or confidence-based routing Destination Output – Integrate with CRMs, Slack, or webhook endpoints ✅ Summary This template turns a Google Sheet into an AI-powered lead enrichment engine. By combining Bright Data’s tools with a natural language AI agent, your team can automate repetitive tasks and scale lead ops—without writing code. Just add a row, and let the workflow do the rest.

Build your own Google Sheets and HubSpot integration

Create custom Google Sheets and HubSpot workflows by choosing triggers and actions. Nodes come with global operations and settings, as well as app-specific parameters that can be configured. You can also use the HTTP Request node to query data from any app or service with a REST API.

Google Sheets supported actions

HubSpot supported actions

Google Sheets and HubSpot integration details

Google Sheets

Google Sheets

Google Sheets is a web-based spreadsheet program offered by Google for free. It similar to Microsoft Excel, and can be accessed anywhere on any device, you only need a Google account.

HubSpot

HubSpot

HubSpot is a leading all-in-one marketing and sales software that is tailored for content marketing, SEO, landing pages, lead management, marketing automation and more. It is easy to use, and can help you have a clear view of your entire sales cycle.

Other integrations with Google Sheets and HubSpot

Supercharge your CRM

Need a more powerful integration with your CRM? n8n lets you go beyond standard integrations offered by popular CRMs!

Learn more

FAQ about Google Sheets integrations

Need help setting up your Google Sheets and HubSpot integration?

Discover our latest community's recommendations and join the discussions about Google Sheets and HubSpot integration.

  • sw2025

    Is the Google Sheets Node not working for anyone else (not a newbie)?

    sw2025

    Not a newbie to n8n - Have successfully used the G-sheets nodes many times in the past with the same credentials, never an issue. Today I’m trying to create a new automation that requires using the G-Sheets nodes - cann…

    Open topic
  • Tenzin Nyima 10B15

    How to Update Multiple Rows in Google Sheets at Once in n8n?

    Tenzin Nyima 10B15

    Hi everyone I’m currently learning n8n and experimenting with Google Sheets automation. I’ve set up a workflow (screenshot attached) that includes: Trigger: “When chat message received” AI Agent connected to: Goog…

    Open topic
  • Sergey Komardenkov

    Google Sheets Action is not picking up a list of available Sheets despite seeing the document itself

    Sergey Komardenkov

    Describe the problem/error/question I am testing a workflow where the final action is addition of a row into a Google sheet. I have created a new sheet, I gave it Edit permissions by link just in case, and of course I ad…

    Open topic
  • Filbert Henrico

    Seeking help to look for Pivot table or any formula operation in Google Sheet

    Filbert Henrico

    Hi there, I am using free service in n8n and I am looking for a support to provide information whether there is an option for pivot table or vlookup formula in the operation section for google sheet? Is it something th…

    Open topic
  • Boba228ai

    Switch Node with Google Doc File Problem

    Boba228ai

    Hello everyone! I set up workflow file transfer in supabase. Google Drive trigger receives file data, transfers it to switch, it determines what kind of file it is (google sheet, google doc, pdf) and then transfers it to…

    Open topic

Looking to integrate Slack and VirusTotal in your company?

Trusted by teams building smarter workflows

Why

Why use n8n to integrate Google Sheets with HubSpot

Handle branching, merging and iteration easily. Pause your workflow to wait for external events.

Re-run single steps to test changes in no time. And pin your data to avoid generating trigger events every time you execute.

Your data is displayed alongside your settings, making edge cases easy to track down.

Use 1000+ workflow templates available from our core team and our community.

Copy and paste, easily import and export workflows.

Simple enough to 
understand + sophisticated 
enough to ship