---
title: "How to update HubSpot contacts from a Google Sheet"
description: "Keep accurate customer records, without slowing down your sales pipeline. Learn how to automatically update and create HubSpot records from a Google Sheet for fast and accurate lead management."
image: "https://images.ctfassets.net/lzny33ho1g45/6ka1AmltMI8aa87uyGD2Vw/864a0fdfeb0f87ef1daafb59b7b65d91/update-hubspot-from-google-sheets-00-hero.jpg"
---

# How to update HubSpot contacts from a Google Sheet

Keep accurate customer records, without slowing down your sales pipeline. Learn how to automatically update and create HubSpot records from a Google Sheet for fast and accurate lead management.

Your customer relationship management (CRM) tool is your source of truth for sales, leads, and customer information. With all that information to track, sometimes it's easier to check that information in a spreadsheet first before it goes into your CRM. 

Using a spreadsheet as a part of your lead management process doesn't have to slow down the sales pipeline. With Zapier, you can automatically create and update CRM contacts from a spreadsheet—so you don't have to sacrifice speed for accurate customer records. 

In this tutorial, we'll show you how to create a Zap—what we call our automated workflows—that will automatically create or update H[ubSpot](https://zapier.com/apps/hubspot/integrations) contacts from a [Google Sheet](https://zapier.com/apps/google-sheets/integrations).

## Before you begin

We'll be using HubSpot and Google Sheets for this tutorial, but the general idea will apply if you use a different spreadsheet app or CRM tool. 

If you're using Google Sheets, make sure you have a spreadsheet with your columns labeled. This Zap will **not** work unless your columns are labeled. Your spreadsheet should include contact information you'd track in HubSpot, such as an email address or phone number. 

If you anticipate that a cell in your Google Sheet will change between two values often—for example, if a cell changes from yes to no, then back to yes—include a separate timestamp column in your spreadsheet. 

Additionally, you'll need administrator privileges in HubSpot in order to connect to Zapier, so check your HubSpot settings to verify your permission level. 

## How to update HubSpot contacts from a Google Sheet

If you're new to[ search actions](https://zapier.com/help/create/basics/search-for-existing-data-in-zaps)—available with certain Zapier integrations—this tutorial will be a gentle intro. Search actions can help prevent duplicate records and update existing data, cutting down on the actual human time you spend on managing leads. 

If you're the DIY-type, you can [create your own Zap from scratch](https://zapier.com/app/editor) with our point-and-click editor, but we also have quick templates to get you started. 

###### **Here's how to set it up: **

1. [Connect a Google Sheet and customize your trigger](#trigger)
2. [Connect to HubSpot and customize your search action](#search)
3. [Test your filter step](#filter)
4. [Connect to HubSpot and customize your update action](#update)

### Set up your Google Sheets trigger 

First, set up your trigger—the event that starts a Zap. 

If you're creating a Zap from scratch, select **Google Sheets** as the app, **New or Updated Spreadsheet Row** as your _Event_, and click **Continue.** (If you're using our Zap template, you'll skip this part.)

Next, connect your Google Sheets account to Zapier. If you haven't connected Google Sheets to Zapier before, sign into your Google account when prompted. Otherwise, select your Google Sheets account from the dropdown menu and click **Continue**. 

Now, select the spreadsheet and specific worksheet you'd like to use. If you want Zapier to watch out for changes in a specific column, click on the dropdown under _Trigger Column_ and select the Google Sheet column you want to use. 

If you want your Zap to pay attention to new spreadsheet rows, leave the _Trigger Column_ set to **any_column**. 

Click** Continue**. 

Next, test your trigger. Zapier will look for a recent spreadsheet row in your Google Sheet, according to how you set up your trigger earlier. You'll use whatever Zapier finds to set up the rest of your Zap. 

Once you see a success message, check the results and make sure you have the data you want. If something looks off, make adjustments to your trigger criteria if needed and retest until you get the information you want. 

Once you're happy with the results, click **Continue.** 

Review your test data for the Google Sheets rows Zapier found.

### Set up your HubSpot search action 

Next, set up your HubSpot search action, which will check for existing contacts that match your Google Sheets trigger. 

If you're creating a Zap from scratch, search for and select **HubSpot** as your app, **Find Contact** as your event, and click **Continue**. (The Zap editor will do this for you if you're using our Zap template.)

Next, connect your HubSpot account or select an existing HubSpot account from the dropdown and click **Continue**. 

Now you need to specify what you want Zapier to look for within your HubSpot contacts. 

Click on the dropdown beneath_ First search property value_, then search for and select the HubSpot contact property you want your search to focus on. 

I find it easier to pick a contact property that is less prone to human error, such as an email address or a phone number. For example, if your spreadsheet contains leads from forms or newsletter signups, the chances are low that your lead will enter their email address incorrectly. While most people don't misspell their name or company affiliation, those can change!

Once you've selected your HubSpot contact property, Zapier will ask for a **search value**, which is the actual information your Zap will be looking for. 

In order to pass information from your Google Sheet to HubSpot, you need to map a dynamic value to the_ First search property value_ field. Click on the dropdown and map a field from your Google Sheet trigger. 

In the example below, I've mapped the _Email _column from my Google Sheet as my search value since I want this Zap to search my HubSpot contacts by email. 

HubSpot gives you the option to set backup properties and values to search in case your first search fails. If you'd like to set this up, repeat the same steps above to set up your backup search properties. 

In the example below, my Zap will search for my lead's company information in HubSpot if it doesn't find anything in the _Email_ contact property.  

#### Optional: Customize your new HubSpot record

If you're using our Zap template, you'll notice that _Create HubSpot Contact if it doesn't exist yet?_ is checked. 

Certain apps, like HubSpot, allow you to search for existing data and create new items in the **same** step, which saves you setup time.

Since this option is checked, the Zap editor will prompt you to customize what you want in your new contact record in the event you don't have an existing HubSpot contact. 

To pass information from your Google Sheet to HubSpot, map fields from your Google Sheets trigger to the corresponding HubSpot contact properties. You don't need to fill out every field listed in the Zap editor—just the ones you need. 

Once you've customized what will go in your new contact record, click **Continue**. 

Now test your search action. Zapier will search for an existing HubSpot contact. If one doesn't exist, it will create a new contact if you've set it up to do so. 

When you see a success message, check your test data carefully. 

If Zapier found a HubSpot contact, __zap_data_was_found _will be **true**. If Zapier didn't find anything, this will be **false**. And if you've set up your search action to do so, it will create a new contact record as well if your test is **false**.  

Click **Continue**. 

### Test your filter 

If you're using our Zap template, a filter step will already be set up for you. This filter ensures that this Zap will _only_ continue to the next step if Zapier finds an existing HubSpot contact. 

If you're setting up this Zap from scratch, click on the **Choose field…** dropdown and select **Zap Data Was Found **from your search step. 

Then, click on the **Choose condition…** dropdown and select **(Boolean) Is true**. 

You can add additional filters, if you'd like. In the example below, I added an additional filter to ensure that this Zap only continues on new _non-empty_ spreadsheet rows. 

Click **Continue** to test your filter. If your filter behaves how you expected it to, click **Continue **again. If not, adjust your filters and retest until you get the result you expected.

### 
Set up your update action 

Now you'll set up the final step in this Zap. If Zapier finds an existing contact in HubSpot, this action will update that contact record. 

If you're creating this Zap from scratch, search for and select **HubSpot** as your action app, **Update Contact** as your action event, and click **Continue**. 

Next, select your HubSpot account from the dropdown menu and click **Continue**. 

The Zap editor will prompt you for an _Object ID_. This is the piece of information Zapier needs in order to know which HubSpot contact to update. 

Click on the field beneath _Object ID_ and click on the **down caret **next to your search step.

Then, select the** ID** value.

Now you can customize the rest of this step according to the contact properties you want to update in HubSpot. When you're done, click **Continue**. 

Finally, test your update action.

Once you see a success message in the Zap editor, check your contact record in HubSpot. 

If everything looks good, you're ready to use your Zap!

## Automation for speedy (and accurate) lead management

You don't have to choose between speed and accuracy in your lead management processes. Automation with Zapier lets you benefit from the easy scannability of a spreadsheet and the advanced tools from your CRM—without slowing down your sales pipeline. 

**Related reading:**

- [More ways to automate HubSpot](https://zapier.com/blog/automate-hubspot/)
- [Automatically add new leads to a spreadsheet](https://zapier.com/blog/automatically-add-leads-to-a-spreadsheet/)
- [Automate Google Sheets](https://zapier.com/blog/automate-google-sheets/)
- [How to get Slack notifications for HubSpot form responses](https://zapier.com/blog/get-slack-notifications-for-hubspot-forms/)