How to connect HubSpot to Google Sheets and verify sync
If you need HubSpot data in Google Sheets, choose a live sync when you want the sheet to keep updating and a one-time export when you only need a snapshot. Before you start, confirm you have the right HubSpot access, edit access to the target sheet, and a clear idea of which HubSpot object or report you want to pull into Sheets.
What you need before you connect HubSpot and Google Sheets
Before you start, make sure you can access both accounts and write to the sheet you plan to use.
- A HubSpot login that can access the object or report you want, such as contacts, companies, deals, or a saved report.
- Permission in HubSpot to export the data or authorize the integration path you plan to use.
- A Google account that can edit the target spreadsheet.
- Access to the specific Google Sheet and tab, not just view-only access.
- Visibility in HubSpot for the properties you want in Sheets. If a field is restricted in HubSpot, it may not appear in the export or sync.
- A decision on the method you want: - Use a live sync if you need the sheet to stay current. - Use a one-time export if you only need a copy once or plan to refresh it manually.
If you are using a shared sheet, confirm who owns it and whether the account that will write to it has edit access. A lot of failed setups are really permission problems, not connection problems.
Connect HubSpot to Google Sheets step by step
The exact screens can vary depending on whether you use HubSpot’s export tools, a marketplace integration, or a third-party connector. The order below is the same either way: pick the data source first, connect the accounts second, and then send the data to the sheet.
- Decide whether you need a live sync or a one-time export. If you want the sheet to keep updating, use a live connection. If you only need a static copy, use an export instead. That keeps you from setting up a sync you do not need.
- Open the HubSpot object or report you want to send to Sheets. Choose the data source before you connect anything. For example, pick Contacts, Companies, Deals, or a saved report. This matters because the fields you can send depend on the object or report you select.
- Filter the records you actually want. Narrow the data in HubSpot if you do not need every record. For example, you might want open deals from one pipeline or contacts created this quarter. If you skip this, you may end up with far more rows than you meant to import.
- Start the export or integration flow. Use the export option for a one-time file, or open the integration or marketplace option if you want an ongoing connection. If the tool asks you to sign in to Google, use the account that owns the spreadsheet or can edit it.
- Approve the requested permissions. Grant access only if the request matches what you are trying to do. A connector usually needs permission to read HubSpot data and write to Google Sheets. If the consent screen looks wrong, stop and check that you opened the correct integration.
- Choose the destination spreadsheet and tab. Select the spreadsheet, then choose the worksheet tab where the data should land. If you are testing the setup, use an empty tab first. That makes it easier to confirm the connection and avoids mixing new data with old rows.
- Pick the HubSpot object, report, or fields to include. Select the properties or columns you need, such as name, lifecycle stage, owner, deal amount, or create date. If you are using a report, pick the report output that already contains the right fields. If a field is missing from the picker, it usually means the source object does not include it or your permissions do not allow it.
- Review the mapping and run the first transfer. Check the column mapping, any date filters, and the refresh behavior before you save. Then trigger the first sync or complete the export. The first run should populate the sheet with row data and column headers.
- Save the setup if this is a live connection. Keep the connection name, refresh schedule, and destination mapping somewhere you can find them again. That makes it easier to troubleshoot later or reconnect if the integration drops.
If you are using a manual export instead of a live connection, the process ends after the file download and sheet import. In that case, the main check is whether the file opens correctly and lands in the right tab.
How to tell the connection worked
The quickest check is visual: the sheet should populate with rows, and the columns should match the HubSpot fields you selected.
Look for these signs:
- The sheet has a header row with the expected field names.
- Rows appear beneath the headers instead of an empty tab.
- The row count looks reasonable for the filter you chose.
- A few sample rows match what you see in HubSpot.
- If you picked a live sync, the connection status shows as active or connected in the tool you used.
A good test is to compare one known record. For example, if you know a contact named Alex Rivera should be included, search for that record in HubSpot and then look for the same name in the sheet. If you edit a field in HubSpot and the sync is live, a later refresh should show the updated value in Sheets.
If the destination tab is still blank after setup, do not assume the connection failed right away. First check whether the sync runs on a schedule, whether the export finished, and whether you chose the right sheet tab.
If the data does not show up the way you expected
Most problems fall into a few buckets: the wrong object was selected, the sheet connection was blocked, the source data was filtered out, or the sync has not refreshed yet.
Check these common blockers in order:
- Permissions: make sure the HubSpot user can access the object or report and that the Google account can edit the sheet.
- Wrong source: confirm you selected the right HubSpot object, report, or saved view.
- Empty filter: look at the filters you applied. A narrow filter can produce a blank sheet even when the connection worked.
- Wrong tab or file: confirm the data went to the sheet and worksheet you expected, not a different tab or another spreadsheet.
- Stale sync: if it is a live connection, give it time to run the first refresh cycle or check the refresh status in the connector.
- Authorization failure: if Google or HubSpot asked for consent and it was denied, reconnect and approve the request again.
- Missing fields: some properties may not be available because of HubSpot permissions, the object type, or how the report was built.
If the sheet shows data but it looks wrong, compare one record from start to finish. Check the HubSpot source value, the selected field, and the final spreadsheet column. That usually tells you whether the issue is with the source, the mapping, or the refresh.
If you cannot get past permission prompts, verify which account is being used in each service. A lot of failed connections happen because the browser is signed into the wrong Google account or the HubSpot user lacks access to the chosen object.
