HubSpot is an all-in-one cloud CRM, sales, and marketing platform.

Data integration: Skyvia supports importing data to and from HubSpot, exporting HubSpot data to CSV files, replicating HubSpot data to relational databases, and synchronizing HubSpot data with other cloud apps and relational databases.

Backup: Skyvia Backup supports HubSpot backup.

Query: Skyvia Query supports HubSpot.

Establishing Connection

Skyvia uses OAuth authentication for HubSpot. You need to simply sign in with HubSpot and select the account to use.

Creating Connection

While creating a connection, you need to perform the following steps:

  1. Click Sign In with HubSpot.

    HubSpot connection editor

  2. In the opened window, enter your HubSpot credentials and click Log in.

    HubSpot Login window

  3. Select your account to use and click Choose Account.

    Choose an Account window

  4. On the opened page, click Connect app to approve the access request.

    Permission window

Additional Connection Parameters

Metadata Cache

You can specify the period of time, after which Metadata cache is considered expired.

Batch API

Skyvia supports HubSpot Batch API to load data into Contacts, Companies, Tickets, and Products objects. It uses Batch API for loading data to these objects by default. The Use Batch API checkbox in the Advanced Settings controls using Batch API via the connection.

Batch API allows much higher performance and lower API call use, but also provides less information about the success or error of an operation. For example, Batch API does not return the ids of inserted records. Thus, when using batch API, you won’t get the ids of inserted records in Import success logs and won’t be able to use the Import Returning feature.

Additionally, you cannot use Batch API with synchronization packages, because synchronization relies on obtaining inserted record ids to establish correspondence between source and target records. Thus, if you plan to use a HubSpot connection for synchronization of HubSpot Contacts, Companies, Tickets, or Products or use the Returning import feature for obtaining record ids when loading data to these objects, you need to turn off Batch API for this connection.

Custom Objects

HubSpot allows enterprise customers to create custom objects and store data in them. Skyvia supports HubSpot custom objects - it can load data from and to them. Custom object support is not enabled by default. You need to explicitly select the Use Custom Objects checkbox in the Advanced Settings to work with custom objects.

Besides, if you change this setting for an existing connection, you need to clear the connection metadata cache. You can do it by clicking the Clear now link. If changes are made to the custom objects metadata, you also need to clear the metadata cache of the connection in order for Skyvia to detect these changes.

Connector Specifics

Object Relations

HubSpot objects may relate to each other by associated records. Record associations are always two-way (if record A is associated with record B, record B is associated with record A).

Skyvia represents these associations as pairs of objects with reversed names:

DealContacts — ContactDeals
DealTickets — TicketDeals
ContactTickets — TicketContacts
CompanyTickets — TicketCompanies
EngagementContacts — ContactEngagements
EngagementTickets — TicketEngagements
EngagementCompanies — CompanyEngagements
EngagementDeals — DealEngagement

If you query data from each object in the pair, you receive the same results, but the query time and the number of used API calls may differ. This approach allows users to manage the query performance.

For example, you have many contacts with a few associated tickets in HubSpot. Use the TicketContacts object to get the list of all related tickets and contacts instead of ContactTickets. In this case, Skyvia reads all the ticket Ids first and then retrieves the contact Ids. It takes less time and API calls to query this association from TicketContacts than from ContactTickets.

Supported Actions

Skyvia supports all the common actions for HubSpot.

Data Integration Tutorials

You can read the following tutorial on HubSpot - Zoho CRM integration: How to Import Deals and Contacts from Zoho CRM to HubSpot Preserving Relations


Hapikey Does Not Have Proper Permissions!

If you have such an error, probably you are trying to access a paid HubSpot product feature that you are not paying for.

For example, see the following links at the HubSpot community portal:

414 Request-URI Too Large

Such an error means that there are too many custom fields in the object you are querying. You need to exclude some fields from the query (or replication, backup, or export - depending on where you get this error).

You Have Reached Your Ten_secondly_rolling Limit

The “You have reached your ten_secondly_rolling limit” error happens when too many API calls to HubSpot are made within 10 seconds. This is a HubSpot API limit. To avoid such an error, make sure that your HubSpot integrations don’t run at the same time, both integrations and backups on Skyvia and other integrations.

If such an error occurs during making a snapshot in HubSpot backup, you may try to divide your backup into several ones with different objects and launch them at a different time.


How can I connect Power BI to HubSpot?

You can integrate HubSpot with PowerBI through Skyvia Connect. Skyvia Connect is a cloud service that allows you to easily publish your data from various sources via the OData protocol and make it available in JSON or XML format over the web. For more details, see Connect

You can access the created endpoint directly in PowerBI. Refer to PowerBI documentation.

Another option is to use a replication package. You move data for analysis to your relational database and access this database in PowerBI. For more details, see Replication.

Skyvia logs show that 200 records are not synced to Hubspot because of the error, but I don’t see exact error message in error logs

You get no error message because Batch API are used. In this case, if one or more record in a batch fails, the whole batch is considered failed, and it’s not possible to obtain an exact error message. You can temporarily clear the Use Batch API checkbox in the Advanced Settings of the connection and reimport failed records. This can help you identify specific records causing the error and its reason.