HubSpotlink
HubSpot is an inbound marketing and sales software that helps companies attract visitors, convert leads, and close customers.
Featureslink
Feature Name | Supported | Notes |
---|---|---|
Capture Deletes | check | COMPANY , CONTACT , CONTACT_LIST , CONTACT_LIST_MEMBER , DEAL , DEAL_PIPELINE , DEAL_PIPELINE_STAGE , and FORM tables. |
Custom Data | check | COMPANY , CONTACT , DEAL , LINE ITEMS , and PRODUCT tables only |
Data Blocking | check | Table level |
Column Hashing | ||
Re-sync | check | Connector level |
History | ||
API Configurable | check | |
Priority-first sync | ||
dbt Package | check | Get the package: source / model |
Supported productslink
Product Name |
---|
HubSpot CRM |
Marketing Hub |
Sales Hub |
Service Hub |
Setup guidelink
Follow our step-by-step HubSpot setup guide to connect HubSpot with your destination using Fivetran connectors.
Schema informationlink
Marketing Hub Schemalink
This schema is applicable for the HubSpot Marketing Hub product.
To zoom, open ERD in new window
CRM and Sales Hub Schemalink
This schema is applicable for the HubSpot CRM and Sales Hub products.
To zoom, open ERD in new window
Service Hub Schemalink
This schema is applicable for the HubSpot Service Hub product.
To zoom, open ERD in new window
Deleted Rowslink
The HubSpot API doesn't make deleted records available so Fivetran can't mark deleted records in the destination warehouse. Deleted records will remain marked false
where is_deleted
or _fivetran_deleted
columns exist except for the tables listed in the Update Frequency section below.
Update Frequencylink
The HubSpot API does not offer a mechanism to capture deletes, so Fivetran infers deletes for the following tables:
CONTACT_LIST
andCONTACT_LIST_MEMBER
tables are re-imported in full once a dayDEAL_PIPELINE
,DEAL_PIPELINE_STAGE
, andFORM
tables are synced incrementally in each sync
We compare the tables with their previous version and capture deletes using the _fivetran_deleted
system column.
We mark the tables that we re-import in full as not recommended
in the dashboard. We sync the tables once a day due to their non-incremental characteristics.
HubSpot Developer Preview APIlink
We maintain the following tables using the HubSpot developer preview API, so there are sometimes structural changes in these tables. Fivetran automatically handles structural changes, which might lead to some schema breaking changes. If that happens, we need to re-sync the affected tables. You can read more in the HubSpot Developer Preview API documentation.
LINE_ITEM
LINE_ITEM_PROPERTY_HISTORY
PRODUCT
PRODUCT_PROPERTY_HISTORY
Negative Timestamps from HubSpotlink
We automatically convert negative timestamps received from HubSpot to EPOCH, for example, 1st January 1970 00:00:00 UTC.
Deal stage calculationslink
The HubSpot API returns only the date_entered
value of the dealstage
properties data. We sync this data to the DEAL_STAGE
table.
Fivetran populates the date_entered
value in the _fivetran_start
column and sets the date_exited
value in the _fivetran_end
column. The date_exited
value for a deal stage is the date_entered
value of the next deal stage in chronological order.
You can calculate the time_in
value as the difference between the _fivetran_start
and _fivetran_end
column values in the DEAL_STAGE
table.
For example, in the DEAL_STAGE
table:
deal_id | deal stage | date_entered | _fivetran_start | _fivetran_end |
---|---|---|---|---|
10 | 123 | 11:00 | 11:00 | 12:00 |
10 | 145 | 12:00 | 12:00 | 13:00 |
10 | 157 | 13:00 | 13:00 | 14:00 |
10 | 173 | 14:00 | 14:00 | MAX_TIMESTAMP_VALUE |
-
For
deal_id
10 in deal stage 145:date_entered_145
=_fivetran_start
= 12:00date_exited_145
=date_entered_157
=_fivetran_end
= 13:00time_in_145
= 1 hour (_fivetran_end
-_fivetran_start
)
-
For
deal_id
10 in deal stage 173:date_entered_173
=_fivetran_start
= 14:00date_exited_173
=_fivetran_end
= MAX_TIMESTAMP_VALUEtime_in_173
= MAX_TIMESTAMP_VALUE - 14:00 (_fivetran_end
-_fivetran_start
)