On This Page
HubSpot is a system for managing customer relationships and storing data. You can use Hevo Pipelines to replicate data from your HubSpot account to the Destination database or data warehouse using HubSpot REST API.
You can use Open Authorization (OAuth) to authenticate your HubSpot account with Hevo.
For creating Pipelines using this Source, Hevo provides you a fully managed BigQuery data warehouse as a possible Destination. This option remains available till the time you set up your first BigQuery Destination irrespective of any other Destinations that you may have. With the managed warehouse, you are only charged the cost that Hevo incurs for your project in Google BigQuery. The invoice is generated at the end of each month and payment is recovered as per the payment instrument you have set up. You can now create your Pipeline and directly start analyzing your Source data. Read Hevo Managed Google BigQuery.
An active HubSpot account from which data is to be ingested.
The following permissions in HubSpot to configure a HubSpot account in Hevo:
Administrator: To replicate CRM and Marketing objects.
Super Admin: To replicate Email Events.
Sales Administrator: To replicate Sales objects.
Read more about HubSpot user permissions at HubSpot Knowledge Base.
Configuring HubSpot as a Source
Perform the following steps to configure HubSpot as the Source in your Pipeline:
Click PIPELINES in the Asset Palette.
Click + CREATE in the Pipelines List View.
In the Select Source Type page, select HubSpot.
In the Configure your HubSpot Account page, click + Add HubSpot Account. This redirects you to the HubSpot login page.
Log in to your HubSpot account.
In the HubSpot Accounts page, select the HubSpot account whose data you would like to synchronize.
Authorize Hevo Data Inc to access your HubSpot data.
In the Configure your HubSpot Source page, specify a unique Pipeline Name.
Proceed to configuring the data ingestion and setting up the Destination.
Hevo synchronizes the archived records for all the standard objects in Hubspot. For any archived record fetched from your Hubspot data, the
is_archived flag is set to TRUE in the Destination.
The ingestion of archived Events is not coupled with the scheduled Pipeline runs due to the Source consideration around the handling of deletes. To reduce the number of Events being ingested during each Pipeline run, the ingestion frequency for deleted Events is set to 24 Hours. You can change this by reaching out to Support.
|Default Pipeline Frequency||Minimum Pipeline Frequency||Maximum Pipeline Frequency||Custom Frequency Range (Hrs)|
|1 Hr||30 Mins||24 Hrs||1-24|
Note: The custom frequency must be set in hours, as an integer value. For example, 1, 2, 3 but not 1.5 or 1.75.
Historical Data: All past data for campaigns is fetched for the specified historical sync duration using the HubSpot API, when the Pipeline is created.
Incremental Data: Once the historical data is loaded, every subsequent run of the Pipeline fetches any new data created in the Source, or changes made to any existing data.
HubSpot does not allow fetching deleted records based on a timestamp. While this can lead to a higher number of ingested Events, Hevo deduplicates such Events upon ingestion. Only the Events that were deleted after the last run of the Pipeline (based on the
archived_attimestamp) count as new Events and are treated as billable.
Due to an open issue with Hubspot relating to the
Contactsobject, the exact time at which a contact was deleted or archived cannot be determined. For the
archived_at timestamp, the HubSpot API returns the last
updated_attimestamp instead of the actual deletion/archival time. Due to this, the last tracked deletion of
Contactsdata cannot be definitively identified, and Hevo must ingest all the deleted contacts and de-duplicate them while loading to the Destination. Therefore, it is always a full load of archived
Contactsdata, and these Events are included in your billable Events count.
Schema and Primary Keys
Hevo uses the following schema to upload the records in the Destination:
The following tables (objects) are created in the Destination when you run the Pipeline:
|Contacts||Contains details about an individual person.|
|Contact Deal Association||Contains the mapping between a contact and all deals mapped to it.|
|Companies||Contains details about an individual business or organization.|
|Deals||Lists the revenue opportunities with a contact or company tracked through Pipeline stages.|
|Deal Company Association||Contains the mapping between a company and all deals associated with it.|
|Deal Stage Pipeline||Contains the mapping between the
|Deal Line Item Association||Contains the mapping between a deal and all the product line items associated with it.|
|Email Events||Contains information about Events generated by marketing emails, or email campaigns sent through a HubSpot account.|
|Email Campaigns||Contains information about the subject line of the email message, HubSpot application name, event type, activity status, and time of the last update for an email campaign.|
|Engagements||Stores data from CRM actions, including notes, tasks, emails, meetings, and calls. At a minimum, engagements should be associated with at least one CRM record.|
|Engagement Call||An engagement used to track calls made by users on an object record. Each call is linked to an engagement, which could be linked to a contact, deal, or company.|
|Engagement Contact Association||Contains the mapping between a contact and all engagements made on it.|
|Engagement Company Association||Contains the mapping between a company and all engagements associated with it.|
|Engagement Deal Association||Contains the mapping between a deal and all engagements associated with it.|
|Engagement Email||Engagements emails are used to track emails sent on an object record. Each Email is linked to an Engagement object, which could be linked to a contact, deal, or company.|
|Engagement Meeting||An engagement used to track face-to-face meetings on an object record. Each meeting is linked to an engagement, which could be linked to a contact, deal, or company.|
|Engagement Note||An engagement are used to hold simple text information about an object record. Each note is linked to an engagement, which could be linked to a contact, deal, or company.|
|Engagement Task||An engagement used to manage tasks and available on the tasks dashboard as well as on associated object records. Each task is linked to an engagement, which could be linked to a contact, deal, or company.|
|Form Submissions||Contains the fields in the submissions, the time of the form submission, and the page URL that the form was submitted on.|
|Owners||Contains the mapping between users and contacts, companies, deals, tickets, and engagements.|
|Products||Contains the list of goods or services for sale that are configured in your Hubspot account.|
|Line Items||Contains line item-level data associated with each product.|
|Tickets||Contains customer requests for help or support.|
|Ticket Stage Pipeline||Contains the mapping between the tickets and the ticket Pipelines to identify the current stage of a ticket.|
- HubSpot CRM API returns the updates for up to 10,000 records for the same modified timestamp. If other records are updated at that particular point of time, they are not reflected or synchronized with the Destination.
Refer to the following table for the list of key updates made to this page:
|Date||Release||Description of Change|
|Nov-22-2021||1.76||In the Data Model section:
- Added the
- Changed the description for the
- Added a note to indicate that
|Oct-25-2021||1.74||- Updated the page overview.
- Added the section, Source Considerations.
- Added information about handling of deleted records and the available Pipeline frequencies in the Data Replication section.
|Aug-09-2021||1.69||Added a note in the Data Replication section about archived objects ingested from the Source.|
|Jul-12-2021||1.67||Updated the Data Model section with additional objects that Hevo now supports.|