HubSpot

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


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:

  1. Click Activate in the Asset Palette.

  2. Do one of the following:

    • Select the TARGETS tab in the Targets List View, and click + CREATE TARGET.

      Create Target

    • Select the ACTIVATIONS tab in the Activations List View, and click + CREATE ACTIVATION.

      Create Activation

      1. In 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.

      2. In the Select a Target page, click + ADD TARGET.

        Select a Target

  3. In the Select a Target Type page, click on HubSpot.

    Select a Target Type

  4. In the Add the HubSpot Target page, click + ADD HUBSPOT ACCOUNT.

    Add Hubspot Account

  5. In the Connecting Hevo to HubSpot page:

    1. Select the HubSpot account, and click Choose Account.

      Connect Hevo to HubSpot

    2. Click Connect app to authorize Hevo to access your HubSpot data.

      Authorize Hevo

    3. Confirm the authorization.

  6. In the Add the HubSpot Target page, specify a unique Target Name.

    Give Target Name

  7. 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.

    New Target List


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.
Email 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 - hs_object_id Stores information about businesses and organizations.
Contacts - hs_object_id
- email
Stores information about individuals.
Deals - hs_object_id Stores information about revenue opportunities with a contact or company.
Products - hs_object_id Stores information about goods or services for sale.
Tickets - hs_object_id Stores information about customer requests for help or support.
Custom Objects - hs_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 the contacts 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.



Revision History

Refer to the following table for the list of key updates made to this page:

Date Release Description of Change
Jul-18-2022 1.92 - Added the subsection, Matching identifiers and sync speed to explain the effect of matching identifiers on sync speed.
- Modified the Data Replication section to reflect the changes made to the data synchronization process for HubSpot objects.
- Updated the content in the Scopes, Data Model, and Target Considerations section to support the data synchronization changes.
Jun-09-2022 NA Updated the Scopes section to replace the legacy contacts scope.
Apr-11-2022 1.86 Added the requirement imposed by HubSpot while synchronizing data with the contacts object to the Target Considerations section.
Oct-25-2021 1.74 Updated the following sections:
- Data Replication to add information about hevo_id as a unique identifier.
- Data Model to change the matching identifier from hs_object_id to hevo_id.
Oct-04-2021 1.73 New document.
Last updated on 18 Jul 2022

Tell us what went wrong