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.
Skyvia uses OAuth authentication for HubSpot. You need to simply sign in with HubSpot and select the account to use.
While creating a connection, you need to perform the following steps:
Click Sign In with HubSpot.
In the opened window, enter your HubSpot credentials and click Log in.
Select your account to use and click Choose Account.
Scroll the opened page to the bottom, select the checkbox, and click Connect app to approve the access request.
Additional Connection Parameters
You can specify the period of time, after which Metadata cache is considered expired.
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.
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.
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:
- Sign in to HubSpot.
- Select your account in the top right corner of the page.
Select Profile & Preferences.
- In the menu on the left, under Account Setup, select Integrations -> Connected Apps.
In the list of connected applications, find Skyvia, and click Actions. Then click Uninstall.
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.
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.
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
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.
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.