Releases: fivetran/dbt_hubspot_source
v0.19.0 dbt_hubspot_source
PR #142 includes the following updates:
Breaking Changes
- Introduced new sources and their associated staging models to support expanded HubSpot data coverage:
Source Table | Staging Model | Enablement Variable(s) - Default is true unless otherwise mentioned |
---|---|---|
contact_form_submission |
stg_hubspot__contact_form_submission |
hubspot_contact_form_enabled hubspot_marketing_enabled |
engagement_communication |
stg_hubspot__engagement_communication |
hubspot_engagement_communication_enabled (default: false) hubspot_engagement_enabled hubspot_sales_enabled |
form |
stg_hubspot__form |
hubspot_contact_form_enabled hubspot_marketing_enabled |
owner_team |
stg_hubspot__owner_team |
hubspot_team_enabled |
role |
stg_hubspot__role |
hubspot_role_enabled |
team |
stg_hubspot__team |
hubspot_team_enabled |
team_user |
stg_hubspot__team_user |
hubspot_team_user_enabled hubspot_team_enabled |
user |
stg_hubspot__user |
hubspot_role_enabled |
- See Step 4 of the README for more details on enabling/disabling sources.
- Updated the
owner
source andstg_hubspot__owner
staging model:- Added the
active_user_id
column. - Removed the requirement for
hubspot_sales_enabled
to be true since this logic now applies to multiple objects (e.g. tickets and deals) downstream.
- Added the
Documentation
- Added column-level descriptions for all new models and fields.
Under the Hood
- Added seeds for each new source.
- Added
get_*_columns
macros for each new source.
Full Changelog: v0.18.1...v0.19.0
v0.18.1 dbt_hubspot_source
PR #140 includes the following updates:
Fixes
- Removes the uniqueness test for
stg_hubspot__property
on_fivetran_id
and adds aunique_combination_of_columns
test using_fivetran_id
andhubspot_object
. This was necessary to account for a primary key change to thePROPERTY
table within HubSpot connector.- See the
PROPERTY
table within the HubSpot Marketing Hub Schema ERD for more details about the updated composite key.
- See the
Contributors
Full Changelog: v0.18.0...v0.18.1
v0.18.0 dbt_hubspot_source
Deprecations
- Select fields have been deprecated from the
stg_hubspot__contact_list
model. The full removal date is planned for May 10th, 2025. Follow Deprecation Issue #138 for more details and updates around the planned sunsetting of the fields. (#137)- The deprecated fields include the following:
is_deletable
is_dynamic
metadata_error
metadata_last_processing_state_change_at
metadata_last_size_change_at
metadata_processing
metadata_size
portal_id
- The deprecated fields include the following:
Breaking Changes
- Select fields have been added to the
stg_hubspot__contact_list
model. (#137)- The newly added fields include the following:
created_by_id
object_type_id
processing_status
processing_type
list_version
filters_updated_at
- The newly added fields include the following:
Documentation
- All deprecated fields have been documented as notice of deprecation in the respective yml documents. (#137)
- All added fields have been documented. (#137)
- Corrected references to connectors and connections in the README. (#136)
Under the Hood
- Added a deprecation tracker GitHub issue template to ensure deprecated fields are appropriately tracked for full removal in a future planned update. (#137)
Full Changelog: v0.17.0...v0.18.0
v0.17.0 dbt_hubspot_source
Breaking Change (--full-refresh
required after upgrading)
-
Introduced a new
category
column to the below models. This association field differentiates records by either HUBSPOT_DEFINED (default label) or USER_DEFINED (custom label) and was introduced to the Hubspot connector in October 2024. See the connector release notes for more.stg_hubspot__deal_company
stg_hubspot__deal_contact
stg_hubspot__engagement_company
stg_hubspot__engagement_contact
stg_hubspot__engagement_deal
stg_hubspot__ticket_company
stg_hubspot__ticket_contact
stg_hubspot__ticket_deal
stg_hubspot__ticket_engagement
-
Added explicit casting of
pipeline_id
to string instg_hubspot__deal_pipeline_stage
to ensure successful downstream joins.
Bug Fixes
- Updated the unique key to include the new
category
field for the following models in order for the uniqueness tests to pass:stg_hubspot__deal_contact
stg_hubspot__deal_company
Under the Hood
- Updated the respective seed files,
get_[source_table]_column
macros, and documentation of the mentioned models to include thecategory
field. - Removed
property_hs_timestamp
andproperty_hs_createdate
field casting for theengagement_meeting
source table in theintegration_tests/dbt_project.yml
file since they are not present in the seed data.
Full Changelog: v0.16.0...v0.17.0
v0.16.0 dbt_hubspot_source
PR #129 includes the following updates:
Breaking Changes
- Switched from using the
fivetran_utils.remove_prefix_from_columns
macro to thehubspot_source.remove_duplicate_and_prefix_from_columns
macro for whenhubspot__pass_through_all_columns
is enabled and you are passing through all columns in thestg_hubspot__company
,stg_hubspot__contact
, andstg_hubspot__deal
models. This also ensures the source fields passed through are all quoted from the onset. This is a breaking change because this macro can remove duplicate fields, resulting in an impact to your schema.
Bug Fixes
- Introduced hubspot-specific version of the
fivetran_utils.pass_through_columns
macro titledhubspot_add_pass_through_columns
, which introduces quoting around the source fields being brought in as passthrough columns. This will ensure that your warehouse reads the sql correctly, particularly if the field contains special characters or syntax. This is now used in the respectiveget_<>_columns
macros of the following models:stg_hubspot__company
stg_hubspot__contact
stg_hubspot__deal
stg_hubspot__ticket
Under the Hood
- Updated seed data to include fields with special syntax in order to test the above changes.
Full Changelog: v0.15.0...v0.16.0
v0.15.0 dbt_hubspot_source
PR #126 includes the following updates:
🚨 Breaking Changes 🚨
- Added field
_fivetran_end
to macroget_ticket_property_history_columns()
to ensure the column is available for use downstream.- While this should not affect most users, this will add a new column
_fivetran_end
tostg_hubspot__ticket_property_history
if you do not have_fivetran_end
in your sourceTICKET_PROPERTY_HISTORY
table.
- While this should not affect most users, this will add a new column
Documentation
- Update documentation to include
_fivetran_end
under modelstg_hubspot__ticket_property_history
.
Under the hood
- Updated the maintainer PR template to the current format.
- Included auto-releaser GitHub Actions workflow to automate future releases.
- Added integration testing for Databricks SQL Warehouse.
Full Changelog: v0.14.1...v0.15.0
v0.14.1 dbt_hubspot_source
PR #125 includes the following updates:
Features
- Adds the
stg_hubspot__merged_deal
model. Downstream, this model is used to remove stale deals and aggregate them to the deal they have been merged into. This is disabled by default as not every user has themerged_deal
table.- To enable this model and filter out merged deals downstream, make sure the following is set to
true
in your dbt_project.yml:hubspot_sales_enabled
,hubspot_deal_enabled
, andhubspot_merged_deal_enabled
. See Step 4 of the README for more details.
- To enable this model and filter out merged deals downstream, make sure the following is set to
Full Changelog: v0.14.0...v0.14.1
v0.14.0 dbt_hubspot_source
PR #122 includes the following updates:
Features
-
Added the following staging models, along with documentation and tests:
stg_hubspot__property
stg_hubspot__property_option
- These tables can be disabled by setting
hubspot_property_enabled: False
in your dbt_project.yml vars. See Step 4 of the README for more details.
-
When including a passthrough
property_hs_*
column, you now have the option to include the corresponding, human-readable label in the staging models.- The above-mentioned
property
tables are required for this feature. If you do not have them and have to disable them, unfortunately you will not be able to use this feature. - See the Adding property label section of the README for instructions on how to enable this feature!
- We recommend being selective with the label columns you add. As you add more label columns, your run time will increase due to the underlying logic requirements.
- This update applies to models:
stg_hubspot__company
stg_hubspot__contact
stg_hubspot__deal
stg_hubspot__ticket
- The above-mentioned
Bug fixes
- Updated macro
remove_duplicate_and_prefix_from_columns
to accommodate incoming custom column names containing characters such as-
or$
that are not permitted. The resulting column name will have these characters removed or replaced in itsstg_*
model. - Removed extra comma from
stg_hubspot__ticket
, which was causing compilation issues when passing through all columns.
Full Changelog: v0.13.0...v0.14.0
v0.13.0 dbt_hubspot_source
🚨 Breaking Changes 🚨
- The
created_at
andclosed_at
fields in the below mentioned staging models have been renamed tocreated_date
andclosed_date
respectively to be consistent with the source data. Additionally, this will ensure there are no duplicate column errors when passing through allproperty_*
columns, which could potentially conflict withproperty_created_at
orproperty_closed_at
(PR #119).stg_hubspot__company
stg_hubspot__contact
stg_hubspot__deal
stg_hubspot__ticket
Features
- Addition of the following variables to allow the disabling of the
*_property_history
models if they are not being leveraged. All variables aretrue
by default (PR #119).hubspot_company_property_history_enabled
hubspot_contact_property_history_enabled
hubspot_deal_property_history_enabled
Under the Hood
- All
stg_hubspot__*_tmp
models have been updated to leverage thedbt_utils.star()
macro. This ensures if the source dimension changes there is no potential for a mismatch in columns error that is commonly seen in Snowflake destinations (PR #119). - Updates to the seed files and seed file configurations for the package integration tests to ensure updates are properly tested (PR #119).
- V3 of the Hubspot Service endpoint contains the field
_fivetran_deleted
in theTICKET
table, whereas V2 has a field calledis_deleted
. Previously, the package only looked atis_deleted
. Now, it will fold in_fivetran_deleted
and coalesce it withis_deleted
to more fully representis_ticket_deleted
(PR #120).
Full Changelog: v0.12.0...v0.13.0
v0.12.0 dbt_hubspot_source
🚨 Breaking Changes 🚨
- The following models now use a custom macro to remove the property_hs_ prefix in staging columns, while also preventing duplicates. If de-prefixed columns match existing ones (e.g.,
property_hs_meeting_outcome
vs.meeting_outcome
), the macro favors theproperty_hs_
field, aligning with the latest HubSpot API update. (PR #115)stg_hubspot__engagement_call
stg_hubspot__engagement_company
stg_hubspot__engagement_contact
stg_hubspot__engagement_deal
stg_hubspot__engagement_email
stg_hubspot__engagement_meeting
stg_hubspot__engagement_note
stg_hubspot__engagement_task
stg_hubspot__ticket
stg_hubspot__ticket_company
stg_hubspot__ticket_contact
stg_hubspot__ticket_deal
stg_hubspot__ticket_engagement
stg_hubspot__ticket_property_history
Feature Updates
- A new macro
remove_duplicate_and_prefix_from_columns
has been included which expands off thefivetran_utils.remove_prefix_columns
macro by removing any duplicate columns that result from the prefix removal. (PR #115 and PR #114)
Contributors
Full Changelog: v0.11.0...v0.12.0