HubSpot

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. Scroll the opened page to the bottom, select the checkbox, and 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.

Column-wise Chunking

If the Column-wise chunking checkbox is selected, requests to the ContactListContacts, Contacts, and Deals objects are split into multiple ones with different fields queried if the request URI exceeds 8000 characters.

HubSpot limits the request URI to 8190 characters by default. In some cases ContactListContacts, Contacts, Deals objects may have so many fields that Skyvia exceeds this limit and receives the 414 Request-URI Too Large error when querying data from all of the fields. Selecting the Column-wise chunking checkbox allows you to avoid such errors.

However, in such cases request number increases, and thus, more API calls are consumed and performance decreases. You may consider querying only a part of the fields in such cases to avoid increasing the number of requests and API calls spent.

Disconnecting HubSpot from Skyvia

To disconnect HubSpot from Skyvia, you can uninstall Skyvia in your HubSpot settings:

  1. Sign in to HubSpot.
  2. Select your account in the top right corner of the page.
  3. Select Profile & Preferences.

    HubSpot account menu

  4. In the menu on the left, under Account Setup, select Integrations -> Connected Apps.
  5. In the list of connected applications, find Skyvia, and click Actions. Then click Uninstall.

    HubSpot account menu

This will revoke all the OAuth tokens in connections created on Skyvia.

Note that after this, all the Skyvia connections to your HubSpot account will stop working, and all the integrations, backups, automations, endpoints, and queries using these connections will stop working as well.

Alternatively, you can disconnect HubSpot from Skyvia, simply by deleting all the HubSpot connections you have created together with all the objects that depend from the connections: integrations, endpoints, backups, automations, queries. Deleting the connection object and all the related objects on Skyvia would ensure that there are no traces of data stored on Skyvia, for example, in error or success logs, etc.

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.

Object Peculiarities

Deals

AssociatedCompanyIds, AssociatedVids, and AssociatedDealIds fields originate from the deprecated HubSpot API version. They are present in the Deals object for compatibility. Exclude these fields from queries or mapping to improve performance if they are unnecessary in your query or integration.

CompanyId field is an additional virtual field in this object. Due to API specifics, Skyvia must perform additional API calls to read it. This impacts performance when querying the Deals object. Exclude this field from a query when you don’t need it.

Property History

Skyvia supports getting a list of changes made to records or fields in HubSpot Deals, Contacts, Companies, Tickets, and LineItems objects. Skyvia represents history data in separate read-only objects for each of them DealsHistory, ContactsHistory, CompaniesHistory, TicketsHistory, LineItemsHistory. These objects store large data volumes. To improve query performance, we recommend using filters when querying data from these objects.

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

Troubleshooting

Current Oauth-token Does Not Have Proper Permissions!

If you have such an error, this means that HubSpot account you are using to connect does not have access to that tool.

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. To avoid this error for ContactListContacts, Contacts, and Deals objects, select the Column-wise chunking checkbox in the connection editor (in Advanced Settings). Alternatively, you can exclude some fields from the query (or replication, backup, or export - depending on where you get this error).

If you get such an error for other HubSpot objects, contact our support, and we will extend the effect of this checkbox to cover them.

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.

FAQ

How can I connect Power BI to HubSpot?

You can integrate HubSpot with Power BI 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 Power BI. Refer to Power BI documentation.

Another option is to use a replication package. You move data for analysis to your relational database and access this database in Power BI. 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.