HubSpot is a CRM platform that offers products for marketing, sales, content management, and customer service. You can use Hevo Activate to synchronize and transform data from your data warehouse into HubSpot objects.
Prerequisites
-
An active HubSpot account.
-
A HubSpot user with Super Admin permission.
-
An Enterprise subscription to use the CRM Custom Objects API.
-
Essential scopes granted to Activate.
Scopes
Activate uses OAuth to connect to your HubSpot account and needs certain scopes to access the different HubSpot API endpoints, to synchronize data with HubSpot objects. Activate requests for these scopes when you configure HubSpot as a Target.
The following table lists the scopes that Activate needs and the resources these provide access to:
Scopes | Description | Resources |
---|---|---|
crm.objects.companies.read crm.objects.companies.write |
Provides Hevo access to view the properties associated with companies and create, delete, or make changes to companies. | Companies |
crm.objects.contacts.read crm.objects.contacts.write |
Provides Hevo access to view the properties associated with contacts and create, delete, or make changes to contacts. | Contacts |
crm.objects.deals.read crm.objects.deals.write |
Provides Hevo access to view the properties associated with deals and create, delete, or make changes to deals. | Deals |
crm.schemas.companies.read |
Provides Hevo access to view the properties and other details of companies. | Properties |
crm.schemas.contacts.read |
Provides Hevo access to view the properties and other details of contacts. | Properties |
crm.schemas.deals.read |
Provides Hevo access to view the properties and other details of deals. | Properties |
crm.import |
Allows Hevo to import records into your CRM data types, such as contacts, companies, or deals. | CRM Imports |
e-commerce |
Provides Hevo access to e-commerce features. | Products and Line items |
tickets |
Provides Hevo access to tickets. | Tickets |
crm.objects.custom.read crm.objects.custom.write crm.schemas.custom.read |
Provides Hevo access to view, create, delete, and change account-specific CRM custom objects and their definitions. | CRM Custom objects |
Configuring HubSpot as a Target
Perform the following steps to configure HubSpot as the Target in your Activation:
-
Click ACTIVATE in the Navigation Bar.
-
Do one of the following:
-
Select the Targets tab in the Targets List View, and click + CREATE ACTIVATION TARGET.
-
Select the Activations tab in the Activations List View, and click + CREATE ACTIVATION.
-
On the Select Warehouse page, select your Activate Warehouse or click + ADD WAREHOUSE to add a new warehouse. Read Activate Warehouses to configure the selected Warehouse type.
-
On the Select a Target page, click + ADD TARGET.
-
-
-
On the Select a Target Type page, click HubSpot.
-
On the Add the HubSpot Target page, click + ADD HUBSPOT ACCOUNT.
-
On the Connecting Hevo to HubSpot page:
-
Select the HubSpot account, and click Choose Account.
-
Click Connect app to authorize Hevo to access your HubSpot data.
-
Confirm the authorization.
-
-
On the Add the HubSpot Target page, specify a unique Target Name.
-
Click CONTINUE.
You can view the new Target in the Targets List View. If you are creating an Activation, you return to the Select Data to Synchronize page.
Data Replication
Activate supports the following synchronization behaviors for HubSpot:
-
Insert New and Update Existing Records (Upsert).
-
Update Existing Records (Update).
-
Add New Records (Insert).
Read Synchronization Behaviors.
Data is synchronized with the supported HubSpot objects using HubSpot’s Bulk API endpoints, which allow importing data to a large number of records in a single call. In the case of custom objects, data is synchronized using the custom objects API endpoints, and the modifications are made one by one.
Activate synchronizes data from the Warehouse with the supported HubSpot objects using these unique properties as matching identifiers:
Matching Identifier | Description |
---|---|
HubSpot Object ID | The ID of a record. For example, Company ID for a record in the Companies object. |
The email address of the user. |
Note: You can select any unique property or non-unique property from the HubSpot objects’ set of default properties, as a matching identifier. You can find this set for the desired object using its properties endpoint.
Matching identifiers and sync speed
The type of property used as a matching identifier affects the data synchronization speed. If you are using a unique property as the matching identifier, Activate can directly identify the records in the Target object and synchronize data by calling HubSpot’s Bulk APIs. As a result, synchronization is faster.
However, HubSpot’s Bulk APIs do not support directly syncing data using a non-unique property as the matching identifier. Thus, if your matching identifier is a non-unique property, Activate first identifies the records with which data is to be synced in the Target object using the Search APIs and then synchronizes the data with them. As these Search APIs can look up only five records in a single call, the speed at which the data records are identified is affected, and as a result, synchronization is slower.
Therefore, we recommend using any unique property in the Target object as a matching identifier. If the Target object with which you want to synchronize data does not have any unique properties, you can create a custom property that only accepts unique values.
Data Model
The following table lists the objects supported by Activate and their matching identifiers:
Object | Matching Identifier | Description |
---|---|---|
Companies | HubSpot Object ID | Stores information about businesses and organizations. |
Contacts | - HubSpot Object ID |
Stores information about individuals. |
Deals | HubSpot Object ID | Stores information about revenue opportunities with a contact or company. |
Products | HubSpot Object ID | Stores information about goods or services for sale. |
Tickets | HubSpot Object ID | Stores information about customer requests for help or support. |
Custom Objects | HubSpot Object ID | Stores information about custom objects created in the HubSpot portal for specific business requirements. These are tied to the HubSpot account. |
Target Considerations
-
An Enterprise HubSpot account can only have up to 10 custom CRM objects.
-
HubSpot requires you to map either the email address or the full name of the contact owner to the
hubspot_owner_id
field when synchronizing data with thecontacts
object using bulk import APIs. If you map any other query field, while the Activation does not fail, records are not loaded to the Target. -
HubSpot limits importing data using its bulk APIs to 1,048,576 records or 512 MB in a single call. As Activate uses HubSpot’s bulk APIs to synchronize data, it is subject to these limits and makes multiple calls if the number of records to be imported exceeds these limits.
-
To prevent API traffic spikes, HubSpot also restricts the number of API requests that an app connecting to it with OAuth can make. As Activate connects to your HubSpot account using OAuth, it is subject to this limit. Read Rate Limits for the thresholds applicable to your HubSpot account.