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.



Activate uses OAuth to connect to your HubSpot account. OAuth requires certain scopes, or permissions, to be provided to Activate. Each scope provides access to a set of HubSpot API endpoints. Read Working with OAuth.

The following table lists the scopes that Activate needs and the endpoints these provide access to:

Scope Description Endpoints
contacts Provides access to contacts and lists. - Contacts
- Companies
- Deals
- Properties
crm.import Allows bulk import of records into your CRM. - CRM Imports
e-commerce Provides access to e-commerce features. - Products and Line items
tickets Provides access to tickets. - Tickets 
Provides access to view, create, delete, and change account-specific CRM custom objects and object 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 a 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 a 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.

HubSpot does not use the concept of primary keys. Instead, its object properties are used as identifiers. An object’s properties store its metadata information. For example, the contacts object’s properties store information about your contacts, such as their email address, first name, last name.

Activate synchronizes data with all supported HubSpot objects using a matching identifier. You can select any unique property or non-unique property as the identifier. HubSpot provides HubSpot Object ID (hs_object_id) as a unique property. However, hs_object_id is a field internal to HubSpot and is a view-only field. As a result, Activate cannot synchronize data using this field. Hence, to overcome this limitation, Activate provides a custom property hevo_id in HubSpot, which can be mapped to any field of the same data type in the Activate Warehouse. You can use this property as a unique identifier for all supported objects. For the contacts object, you can also use email as a unique identifier.

Note: If you select a non-unique property as a matching identifier, all records in the Target object that match the property’s value are updated. For example, in the HubSpot object, contacts, the field, City, which can hold multiple values, is a non-unique property. If you select, City as a matching identifier, then all the records in the Target object that match any of the values in the City field are updated. Therefore, City is a non-unique property.

Read Data Synchronization Identifiers.

The following examples illustrate the usage of different properties as matching identifiers to synchronize data:

  • Using a unique field,hs_object_id: The hs_object_id field from the Warehouse is mapped to the hevo_id field in the Target. Only those records in the Target object for which the value of hs_object_id and hevo_id matches, are updated.

    Update by HubSpot Object ID

  • Using a non-unique field: The domain field from the Warehouse is mapped to the domain field in the Target. All records in the Target object, for which the domain values match, are updated.

    Update by domain

Data Model

Activate uses matching identifiers to update data from the Warehouse to the selected Target object when you run the Activation. You can select any property from the HubSpot objects’ set of default properties, as a matching identifier. You can find this set using the object properties endpoints.

The table lists the objects supported by Activate and their matching identifiers.

Object Matching Identifier Description
Companies - hevo_id Stores information about businesses and organizations.
Contacts - hevo_id
- email
Stores information about individuals.
Deals - hevo_id Stores information about revenue opportunities with a contact or company.
Products - hevo_id Stores information about goods or services for sale.
Tickets - hevo_id Stores information about customer requests for help or support.
Custom Objects - hevo_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.

  • Activate uses HubSpot’s public APIs for synchronizing data, hence, it is subject to the rate limit and the daily API call limit imposed by HubSpot. This is based on the type of HubSpot account. Read Rate Limits.

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

Revision History

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

Date Release Description of Change
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 08 Apr 2022