Skip to content

Connect Google Sheets to HubSpot

HubSpot is where your contacts and deals live, but a Google Sheet is still where many teams collect leads, track numbers and share reports with people who never log in to the CRM. Connecting the two keeps leads flowing into HubSpot from a sheet, and puts pipeline and lifecycle numbers into a sheet anyone can read.

Ideas

What you can do with Google Sheets and HubSpot

Lead syncs, enrichment, forecasts and weekly metrics moving between your sheets and HubSpot. These are ready-made starting points. Anything else you can describe works too.
Every hourAI

Enrich companies from a sheet and update HubSpot

Companies you add to your Enrich sheet are researched, created or updated in HubSpot with industry, size and a summary, and the row is marked done.

See how it works
Weekly

Track weekly HubSpot lifecycle numbers in a sheet

Every Monday a new row in your Pipeline metrics sheet shows how many contacts reached each lifecycle stage last week, split by source.

See how it works
The moment it happens

Score inbound leads, add them to HubSpot and log them in a sheet

Each form lead is scored, created in HubSpot with that score, added to your Leads sheet, and the hot ones are posted to Slack.

See how it works
Every 15 minutes

Sync leads from a Google Sheet into HubSpot

New rows in your Leads sheet become HubSpot contacts within 15 minutes, without duplicates, and each row gets its HubSpot ID.

See how it works
Weekly

Log a weekly HubSpot revenue forecast in a sheet

Every Monday your weighted pipeline forecast is added to your Forecast sheet and you get an email with the highlights.

See how it works
On a scheduleAI

Flag stalled HubSpot deals with a suggested follow-up

Each weekday, deals that have gone quiet for two weeks are listed in your Stalled deals sheet with a suggested follow-up, and owners get a Slack nudge.

See how it works
Every 10 minutes

Log new HubSpot form submissions to Google Sheets

Each new submission to a HubSpot form becomes a row in a Google Sheets tab, one column per form field, with the page it came from.

See how it works
Your own logic

Any other automation you can describe in words

Your own rules, schedule and AI steps with Google Sheets and HubSpot, plus any other app. Describe it and your assistant builds it.

See how to build your own

Build your own

Build any Google Sheets and HubSpot automation you can describe

The ideas above are ready-made starting points, not a fixed list. Describe what should happen between Google Sheets and HubSpot in your own words, with your conditions, other apps or an AI step, and your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

For example, ask your assistant

Import sheet rows to HubSpot only if the email domain is not a free provider like gmail.com, and assign the owner by the Region column.

Each night, write HubSpot deals that changed stage today to a Changes tab, with old stage, new stage and amount.

Use cases

Why people connect Google Sheets and HubSpot

How the two apps work together

  • ClickRuntime checks the sheet every few minutes for new or changed rows and creates or updates HubSpot records.
  • On a schedule it reads HubSpot deals, contacts or companies and writes them to a sheet tab.
  • Records are matched by email, domain or HubSpot ID to avoid duplicates.
  • Import lead lists into HubSpot

    Marketers get lead lists from events and partners in Google Sheets. Rows become HubSpot contacts with source and owner set, skipping existing emails.

  • Pipeline reports for leadership

    Sales leaders want deal totals by stage and rep in a sheet. A daily export from HubSpot gives them charts without building HubSpot reports.

  • Bulk property updates

    Ops teams clean data in a sheet, such as industry or region. Changed rows update the matching HubSpot contacts or companies.

  • Commission and quota tracking

    Finance tracks commissions in Sheets. Closed won deals with amount, close date and owner are appended automatically.

More apps

Google Sheets, HubSpot and other apps in one automation

An automation isn't limited to two apps. Add the next step in another app and it runs as part of the same automation.

Imported leads with Slack summary

When new rows appear in our Event Leads sheet, create the HubSpot contacts and post a Slack message in #sales with how many were new versus existing.

Weekly pipeline sheet emailed

Every Monday at 8am, update the Pipeline tab from HubSpot deals and email the sheet link with totals by stage through Gmail.

Form responses to HubSpot via Sheets

Take new Google Forms responses from the linked sheet and create HubSpot contacts with the answers stored in contact properties.

Setup

Connect Google Sheets and HubSpot once

Every idea on this page uses the same two connections, so you set them up once. If one is missing, your assistant tells you and links to the right place.

Google Sheets

Spreadsheets

  1. In the ClickRuntime dashboard, open Connections and choose Google Sheets.
  2. Sign in with your Google account and allow access.
  3. Pick the spreadsheets the automation may use. It can't see any other file in your Drive.

HubSpot

CRM / Marketing

  1. In HubSpot, go to Development, then Keys, then Service keys, and create a service key. Or go to Development, then Legacy apps, and create a private legacy app.
  2. Add the scopes your automations need, such as crm.objects.contacts.read, crm.objects.contacts.write and crm.objects.deals.read.
  3. Copy the key, or for a private app open the Auth tab, choose Show token and copy it.
  4. In the ClickRuntime dashboard, open Connections & secrets and save the token as a secret for HubSpot. It is sent as a Bearer token.

FAQ

Questions about connecting Google Sheets and HubSpot

Will it create duplicate contacts from my sheet?
No. Rows are matched to HubSpot contacts by email address, so an existing contact is updated rather than created again. The HubSpot ID can be written back to the row.
Do my sheet's columns need to be in a fixed order?
No. You tell it which column holds the email, name, company and so on, and it reads by header name, so adding columns later doesn't break anything.
Can people without HubSpot access see the numbers?
Yes. Reports and forecasts are written to a Google Sheet you share as you like, so finance or leadership can read them without a HubSpot seat.
Does it work with the free HubSpot CRM?
Yes. Contacts, companies and deals are available on every HubSpot plan, including the free CRM.
Can it write to custom HubSpot properties?
Yes, as long as the property exists in HubSpot and you say which column it should come from.
Can it assign contact owners?
Yes. The script can set the owner from a column or from a rule such as region.
Will it overwrite HubSpot values with blanks?
Not unless you ask. It can skip empty cells so existing HubSpot values stay.

Tell your assistant what Google Sheets and HubSpot should do together

Free plan. No credit card.