HubSpot empowers your sales and marketing teams with tools to help manage your funnel, from attracting visitors to closing customers. This article will give you an overview of the HubSpot/Grow integration and what you can expect.
Coordinated Universal Time (UTC) — All date and timestamps are stored in UTC. If account timezone settings are set in Grow, these times will adjust accordingly. For more information, visit this Help Center article.
Data Source Features
Contents in this Article
HubSpot is on the Grow Data Warehouse, which we highly recommend you use. For more information about warehousing your data, visit the Data Warehouse Help Article.
The following tables are available in Grow:
- Custom Objects*
*Custom Objects table name(s) unique to each account; for more details on configuring this feature in HubSpot, please visit their API docs: https://developers.hubspot.com/docs/api/crm/crm-custom-objects
- When you have finished selecting the data that you want stored in Grow’s Data Warehouse, click the “Sync & Store” button at the bottom.
- This will begin the initial population of your warehouse with the tables you defined. Populating your data warehouse for the first time may take a while, even up to several hours.
- While your data is "In Queue" or "Processing", you may continue working within the app.
- After the initial update is complete, you can modify the refresh rate as needed.
***Refresh strategies are tied to specific endpoints. More information on this coming soon.
A direct query connection can be used to pull data into Grow. With abnormal usage, Direct Query can run into API limitations depending on the data source. For this reason, we recommend that you use Grow's Data Warehouse for a more performant, reliable experience.
|Direct Query||Currently supported with no projection to stop maintaining|
How to Connect
- Click on the Data tab at the top left of the global navigation. You will be brought to your Data Connections.
- Click on the blue "Connect" button and search for HubSpot.
- Click on the HubSpot logo.
- A window will pop up to log in with your HubSpot credentials. After entering your credentials you will see a green confirmation message that the connection has been made.
Note: Only an admin in HubSpot or a user with "App Marketplace Access" permissions will be able to create a HubSpot connection in Grow.
Below is a list of the endpoints that the HubSpot/Grow integration offers, along with a short description of each:
- Accounts - ALL: All company accounts, including location details, description, industry, revenue, and contact information, along with other details and custom fields.
- Accounts - Recently Created (30 Days): All company accounts added within the last 30 days, including location details, description, industry, revenue, and contact information, along with other details and custom fields.
- Blogs: All unique blogging sites, including URL, page settings, created and deleted dates, subscription lists, and social accounts data, among other details.
- Blog Posts: All blog posts, including URL, page type, author details, created an updated dates, keywords, publish dates, among other details.
- Get All Contacts: All contact information with optionally selected custom contact fields, including name, visitor ID, date added, company name, and additional custom fields.
- Get Contacts 30 Days: All contacts created within the last 30 days, including added date, name, created and modified dates, company, and email, along with other details.
- Campaigns: All HubSpot marketing campaigns, including campaign ID, app ID, app name, and group ID.
- Deals - ALL: All deals, including deal ID and name, created and close dates, pipeline, source, campaign type, closed reasons, and description, along with other details and custom fields.
- Deals - Recently Created (30 days): All deals created within the last 30 days, including deal ID and name, created and close dates, pipeline, source, campaign type, closed reasons, and description, along with other details and custom fields.
- Deals - Recently Modified (30 days): All deals with details modified within the last 30 days, including deal ID and name, created and close dates, pipeline, source, campaign type, closed reasons, and description, along with other details and custom fields.
- Email Subscriptions Timeline: All subscription changes, including source, subscription ID, change type, caused by event, created date, among other details.
- Events: All events within the selected date range, including type, event date, category, state, name, description, and owner, among other details.
- Keywords: All keywords including keyword name, visits, contacts, leads, created date, among other details.
- Leads: All leads, including name, company, email, created and modified dates, and status, among other details.
- Lists: All contact lists in the account, including list name; size; created, size, and state change dates; type; processing state; and internal information; among other details. Smart Lists are included in the results denoted by a status equal to "Dynamic".
- List of Contacts: List of all contacts associated with the specified list ID, including name, last modified date, company, among other details.
- Workflows: All workflows, including name, workflow ID, type, enabled, inserted date, updated date, contact list ID, enrolled counts, active counts, etc.
- Email Events: All email events within the selected date range, including event ID, email type, email campaign ID, name, status, and location, among other details.
- Engagements - ALL: All engagements recorded within the selected date range, including engagement ID, active, created and updated dates, created by, modified by, type, contacts, companies, and deals, among other details.
- Engagements - Recent: All engagements recorded from the last 30 days, or the 10k most recently updated records. days, including engagement ID, active, created and updated dates, created by, modified by, type, contacts, companies, and deals, among other details.
- Engagements - Associated: All engagements filtered by associations with deals or companies, including active, created and updated dates, type, contacts, companies, and deals, among other details.
You should not need to reference these API docs very often.
FAQs + Tips and Tricks
HubSpot combines CRM and Marketing into one API.
If you want access to endpoints from both Marketing Automation and CRM you’ll need to have both types of accounts in HubSpot. If you have access to both you will also be able to pull data from the following endpoints:
- Blog Posts
- Email Subscription Timeline
- Email Events
Contacts in HubSpot have lots of properties.
Every lead in HubSpot is marked as a contact, not a lead. If you want to pull in the properties for your HubSpot contacts, use the Get All Contacts endpoint, which will let you select the fields (properties) you want to pull in.
Some HubSpot endpoints require admin-level permissions.
If you don’t have permissions to view certain reports, you’ll an error, telling you that your account does not have the proper permissions to run that report, and to contact your HubSpot administrator. The reports where this error most frequently pops up are Campaigns, Workflows, and Email Events.
To access these reports, you will need to have admin permissions in HubSpot and have that account connected in Grow.
HubSpot has strict rate limits.
The following limits apply: 10 requests per second and/or 40,000 requests per day.
Customers exceeding either of those limits will receive error responses with a 429 response code. Please see this page for more details about those errors, and suggestions on working with the request limits.
Because of HubSpot’s rate limits, getting lots of HubSpot data into Grow can be slow. We recommend using a dataset to bring back your data.
HubSpot’s API only gives ID numbers for custom fields.
HubSpot's API will only pull in ID numbers for each field. Unfortunately, there is no endpoint that will let us pull in the custom field IDs and map them to their field.
As a workaround, we suggest isolating them and keeping track in a Google Spreadsheet of the IDs and the assigned codes. You can then group by ID or map them better.
Unix Epoch Dates.
Some HubSpot date fields return Unix Epoch timestamps. These can be converted to a more useful date format with the “Table Date Format” option in Grow, or using a simple SQL query.
Some data comes in as cents, not dollars.
For the Accounts - Recently Created (30 Days) report , the annual revenue field pulls data in cents, not dollars (or whatever base currency is being used).
Joining Deals with Contacts
You will likely want to view some contact properties associated with the deals that sold. Some things you might think would be in the Deals report will actually be found in the Contact properties, so joining the data together is usually needed. However, there can be multiple deals associated with one contact, so you have to be a bit more precise with the join.
- Pull the
Contacts - Allreport from HubSpot in Report 1
- Pull the
Deals - Allreport from HubSpot in Report 2
- From the
Contacts - Allreport, use the ‘vid’ column
- From the
Deals - Allreport, use the ‘associatedVids’ column
Assuming you pulled the reports in the order mentioned above, the join will look like this:
Both the ‘vid’ and the ‘associatedVids’ columns are standard fields in HubSpot so you shouldn’t need to do anything in particular on their end to have that function. When this is done, we'd recommend that you save this as a dataset to use for multiple metrics.
The joined report outlined above will produce a full list of all contacts, with those that have deals from those contacts. If you only want to see the Deals, just add a filter on the joined report and filter out any columns where any of the deal related data is empty.
Sales Sequence Data
HubSpot does not currently offer Sales Sequence data via their API, so at this time it is not possible to pull this data into Grow through our HubSpot connection.