Use HubSpot workflows to populate a Google Sheet

Set up a workflow to autofill a spreadsheet with CRM data to save you and your team time and improve your recordkeeping.

HubSpot comes with a premade integration application to Google Sheets, and utilizing it can be a boon to your business. Rather than needing to manually track every person that meets specific criteria and input their information into a spreadsheet, you can use a workflow action to automatically populate spreadsheet columns. 

Let’s say you want to create a spreadsheet that collects contact information from everyone who fills out a form on your website. Here’s how you’d set that up.

1. Create your spreadsheet, if needed

If you don't already have a spreadsheet in mind that you want to update, you'll need to create one. Within your Google Sheets account, create your spreadsheet and add all the columns you’ll need.

new-leads-sheet

Here I created one called "New Leads".

2. Create your workflow and add your enrollment triggers

Create a contact-based workflow and indicate form submission criteria. The criteria simply needs to be "has filled out [your form name here]".

3. Connect your Google account to HubSpot

You can connect your account either within HubSpot Integrations settings or within the Workflows tool. The following is how to connect it via the latter method.

Once your workflow enrollment triggers are set up, you’ll have the option to add workflow actions. Within the Choose an action window you’ll find a tab Connect an app. Select that and search for “google sheets”. 

form enrollment

google sheets

Once you click on the app, you’ll have to sign into your Google account with HubSpot and give them permission to edit your spreadsheet data.

connect to google sheets
4. Configure your workflow and map properties to sheet rows

After connecting your account to Google Sheets, you’ll see additional workflow actions available. From those new options, click Update data in a google sheet.

The next step is mapping your columns to HubSpot properties. You can use custom or default properties.

First, you’ll need to choose a “lookup column header” and a “lookup column property”. Having a lookup column enables HubSpot to update the spreadsheet by matching any new data to the data the spreadsheet already contains. The lookup column should contain data that is unique to each contact, such as email address. 

For example, if someone with the email address johnsmith@example.com is already in the spreadsheet and fills out your form, and you’ve selected your Email column as the lookup column, HubSpot will go down the Email column and search for a row with that email. If one is found, it will update the row according to your configurations. 

In the vast majority of cases, I’d suggest using email as the lookup property, since it’s unique to each person by design. From the dropdown, select the header of your spreadsheet's email column, and “Email” for the Lookup column property. Where it asks Create a new row if none match, select Yes from the dropdown.

Next, add all the spreadsheet columns you want to be filled out, and choose which properties HubSpot should pull data from. 

assigning properties

The finished product will look something like this:

spreadsheet mapping

Mapping your properties to your spreadsheet’s columns will result in your spreadsheet automatically being populated with each new workflow enrollment.

finished-spreadsheet