Release Notes
August 2026
v1.9.0
Schema/Data Change
46 new models • 0 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
hubspot__daily_contact_history | New end model | Each record represents a contact's state on a given day with lifecycle stage, owner, and other selected properties pivoted into columns. Contains daily engagement and email event metrics as well. | ||
hubspot__daily_deal_history | New end model | Each record represents a deal's state on a given day with pipeline, stage, amount, owner, team, daily engagement metrics, and other selected properties pivoted into columns. | ||
hubspot__daily_company_history | New end model | Each record represents a company's state on a given day with owner, lifecycle stage, daily engagement metrics, and other selected properties pivoted into columns. | ||
hubspot__company_lists | New end model | Each record represents a company list in HubSpot, enriched with engagement metrics aggregated across member companies. Self-managed dbt projects can disable by setting the hubspot_company_list_enabled variable to False (README). | ||
hubspot__conversations | New end model | One record per conversation thread, enriched with inbox, channel, channel account details, and aggregated message metrics. Dynamically enabled in Quickstart. Self-managed dbt projects can disable by setting the hubspot_conversation_enabled variable to False (README). | ||
hubspot__marketing_event_performance | New end model | Each record represents a marketing event with aggregated attendance metrics, contact-level participation counts, segment list membership, and optional pivoted custom properties. Self-managed dbt projects can disable the entire model by setting the hubspot_marketing_event_enabled variable to False and child table transformations with hubspot_marketing_event_list_enabled, hubspot_marketing_event_participant_enabled, and hubspot_marketing_event_custom_property_enabled (README). | ||
hubspot__contacts | New fields | calculated_first_conversion_fields_responded_tocalculated_most_recent_conversion_fields_responded_tocalculated_first_conversion_total_responsescalculated_most_recent_conversion_total_responses | Comma-separated list and count of fields submitted during the contact's first and most recent form conversions. Self-managed dbt projects can disable by setting the hubspot_submission_response_enabled variable to False (README). | |
stg_hubspot__conversation_threadstg_hubspot__conversation_message_historystg_hubspot__conversation_message_recipientstg_hubspot__conversation_actorstg_hubspot__conversation_channelstg_hubspot__conversation_channel_accountstg_hubspot__conversation_inboxstg_hubspot__submission_responsestg_hubspot__company_liststg_hubspot__company_list_memberstg_hubspot__marketing_eventstg_hubspot__marketing_event_liststg_hubspot__marketing_event_participantstg_hubspot__marketing_event_custom_property | New staging models (and *_tmp counterparts) | Used to power the above new end models. | ||
int_hubspot__daily_deal_historyint_hubspot__deal_calendar_spineint_hubspot__pivot_daily_deal_historyint_hubspot__scd_daily_deal_historyint_hubspot__daily_contact_historyint_hubspot__contact_calendar_spineint_hubspot__pivot_daily_contact_historyint_hubspot__scd_daily_contact_historyint_hubspot__daily_company_historyint_hubspot__company_calendar_spineint_hubspot__pivot_daily_company_historyint_hubspot__scd_daily_company_history | New intermediate models | Used to power new daily property history end models. | ||
stg_hubspot__deal_property_historystg_hubspot__company_property_historystg_hubspot__contact_property_history | New staging columns | _fivetran_start, _fivetran_end, _fivetran_active | SCD metadata fields used to power daily history models. |
Feature Updates
Property History Models
The following changes apply to daily property history models:
- Adds the
hubspot__contact_property_history_columnsvariable to pivot out additional properties asstringcolumns inhubspot__daily_contact_history. See the README for configuration details. - Adds the
hubspot__deal_property_history_columnsvariable to pivot out additional properties asstringcolumns inhubspot__daily_deal_history. See the README for configuration details. - Adds the
hubspot__company_property_history_columnsvariable to pivot out additional properties asstringcolumns inhubspot__daily_company_history. See the README for configuration details. - Adds the
deal_history_extension_daysvariable to limit or extend the history of deals inhubspot__daily_deal_historypast their close dates (default=30 days). See the README for configuration details. - Adds the
hubspot__daily_history_start_datevariable to limit daily history models to a specific start date, reducing build time for large datasets. Applies tohubspot__daily_contact_history,hubspot__daily_deal_history,hubspot__daily_company_history, andhubspot__daily_ticket_history. See the README for configuration details. - Adds a configurable
lookback_windowvariable to all incremental windows to catch late-arriving records. Default value = 3 days. See the README for configuration details.
Custom Columns
The following changes allow for additional custom columns:
- Adds the
hubspot_marketing_event_custom_propertiesvariable to pivot custom property values frommarketing_event_custom_propertyinto columns inhubspot__marketing_event_performance. Set to a list of property names (e.g.['spent', 'budget']); defaults to[](no properties pivoted). See the README for details. - Adds the
hubspot__company_list_pass_through_columnsvariable to bring additional columns from thecompany_listsource table through tohubspot__company_listsandstg_hubspot__company_list. See the README for configuration details. - Adds the
hubspot__contact_list_pass_through_columnsvariable to bring additional columns from thecontact_listsource table through tohubspot__contact_listsandstg_hubspot__contact_list. See the README for configuration details. - The
hubspot__pass_through_all_columnsandhubspot__enable_all_property_labelsvariables now also apply tocompany_listandcontact_listmodels.
Under the Hood
- Casts
form_idand/orconversion_idas strings when missing from source data instg_hubspot__formandstg_hubspot__contact_form_submission. - Ensures
user_idis an integer instg_hubspot__userswhen missing from source data. - Optimizes
int_hubspot__ticket_calendar_spineby limiting how far into the future it looks (one day vs one week) and its start date on incremental runs.- This will require a
--full-refreshrun.
- This will require a
v1.9.1
Bug Fix
- Fixes a compilation error in
hubspot__conversationswhen either variablehubspot_team_enabledorhubspot_role_enabledis set tofalse.
v1.9.2
Feature Updates
- Adds DuckDB as a supported destination.
June 2026
v1.8.0
Under the Hood
- Migrates the
union_connections,apply_source_relation, andpartition_by_source_relationmacros to thedbt_fivetran_utilspackage. - Adds the
fivetran_using_source_casingvariable for case-sensitive destination support. When enabled, downstream transformations respect source casing to ensure consistent results. See the Additional Configurations section of the README for details.
March 2026
v1.7.2
Schema/Data Change
1 total change • 0 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
stg_hubspot__contact | Changed field | merged_object_ids (string or integer) | merged_object_ids (string) | HubSpot can sync this field as an integer when no contacts have been merged. Casting to string prevents runtime errors in the downstream merge_contacts() macro where the split function requires a string. |
February 2026
v1.7.0
Schema/Data Changes
4 total changes • 4 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
hubspot__email_sends | Removed column | was_unsubcribed | Field deprecated in v1.5.0 release has been sunset. Use the corrected spelling was_unsubscribed existing field instead. | |
hubspot__engagements | Removed columns | owner_idis_activecreated_timestampoccurred_timestampactivity_typelast_updated_timestamp | Fields deprecated for HubSpot v3 API connectors in v0.11.0 release have been sunset. The engagement source table now only contains type, id, _fivetran_synced, portal_id, and source_relation. All engagement properties (timestamps, owner, status) are available in child engagement tables (e.g., hubspot__engagement_emails, hubspot__engagement_notes). Junction table aggregations (contact_ids, deal_ids, company_ids) remain available in hubspot__engagements. | |
stg_hubspot__contact_list | Removed columns | is_deletableis_dynamicmetadata_errormetadata_last_processing_state_change_atmetadata_last_size_change_atmetadata_processingmetadata_sizeportal_id | Fields deprecated for HubSpot v3 API connectors in v0.22.0 release have been sunset. | |
stg_hubspot__engagement | Removed columns | owner_idis_activecreated_timestampoccurred_timestamp | Fields deprecated for HubSpot v3 API connectors v0.11.0 release have been sunset. The engagement source table now only contains type, id, _fivetran_synced, and portal_id. These properties are available in child engagement staging tables instead. |
Under the Hood
- Updates
engagements_joinedmacro to remove all coalesce logic to remove sunset columns. - Brought seed column types in
integration_tests/dbt_project.ymlup to date to resolve runtime warnings.
Documentation Update
- Removes documentation for above sunset fields in the above models.
v1.7.1
Feature Update
- Optimizes the
merge_contacts()macro for Databricks destinations.
January 2026
v1.5.0
Schema/Data Changes
3 total changes • 1 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
stg_hubspot__contacthubspot__contacts | Removed column | calculated_merged_vids | Field deprecated in v1.3.0 has been sunset. Use merged_object_ids instead | |
hubspot__email_sends | Added column | was_unsubscribed | Fix spelling error - replaces misspelled was_unsubcribed column | |
hubspot__email_sends | Deprecated column | was_unsubcribed | [DEPRECATED] Maintained for backwards compatibility. Use was_unsubscribed instead. Will be removed in a future release. |
Under the Hood
- Updates seeds and macros to support the schema changes.
v1.6.0
Documentation
- Updates README with standardized Fivetran formatting.
Under the Hood
- In the
quickstart.ymlfile:- Adds
supported_varsfor Quickstart UI customization.
- Adds
v1.6.1
Test Fixes
- Removes duplicate column definitions in YAML schema files to avoid
dbt parsewarnings. - Corrects descriptions for several fields.
November 2025
v1.2.0
Schema/Data Change
5 total changes • 2 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
| stg_hubspot__property | Primary Key Change | _fivetran_id + hubspot_object | property_name + hubspot_object | The composite primary key is now property_name and hubspot_object instead of _fivetran_id and hubspot_object. The _fivetran_id field is marked as deprecated. |
| stg_hubspot__property_option | Primary Key Change | property_id + property_option_label | property_option_name + hubspot_object + property_option_label | The composite primary key is now property_option_name, hubspot_object, and property_label instead of property_id and property_option_label. The property_id field is marked as deprecated. |
| stg_hubspot__property_option | New Column | hubspot_object | Added to support new composite primary key and joins with the PROPERTY table. | |
| stg_hubspot__property_option | New Column | property_option_name | Added to support new composite primary key. | |
| int_hubspot__email_aggregate_status_change | New Column | unique_key | Adds surrogate key generated from email_campaign_id and email_send_id to ensure uniqueness. Previously we only included email_send_id in its uniqueness test. |
Bug Fix
- Fixes join condition in
hubspot__email_sendsmodel to include bothemail_send_idandemail_campaign_idwhen joining with unsubscribes data, preventing potential data integrity issues with duplicate email send IDs across different campaigns.
Under the Hood
- Updates join logic in the
add_property_labelsmacro to joinPROPERTYandPROPERTY_OPTIONonhubspot_objectinstead of_fivetran_id/property_id. This is used in the following staging models:stg_hubspot__companystg_hubspot__contactstg_hubspot__dealstg_hubspot__ticket
- Updates
get_property_option_columnsmacro to include the newhubspot_objectandnamecolumns for property options. - Updates uniqueness tests in
int_hubspot__email_aggregate_status_changeto use the newunique_keyfield instead ofemail_send_id. - Updates documentation in staging models to reflect the deprecated status of
_fivetran_idandproperty_idfields and explain the new composite primary key structure. - Updates
property_optionseed data to include the newly added columns. - Adds consistency data validation tests for
hubspot__companies.