Release Notes
August 2026
v1.7.1
Feature Updates
- Adds DuckDB as a supported destination.
June 2026
v1.6.1
Schema/Data Change
1 total change • 1 possible breaking change
| Data Model | Change type | Old | New | Notes |
|---|---|---|---|---|
zendesk__sla_policiesint_zendesk__agent_work_time_business_hoursint_zendesk__agent_work_time_filtered_statusesint_zendesk__reply_time_business_hoursint_zendesk__reply_time_combinedint_zendesk__requester_wait_time_business_hoursint_zendesk__requester_wait_time_filtered_statusesint_zendesk__sla_policy_applied | New column | priority_applied | The priority level that was active when each SLA event was applied. |
Feature Enhancement
- Updates SLA models to use historical priority levels when applying SLA targets. SLA events now reference the priority that was in effect at the time the event occurred, rather than the current priority. This ensures tickets with priority changes over time receive accurate SLA target calculations.
Bug Fix
- Ensures first reply time records in
zendesk__sla_policiesuse the proper schedule when calculating elapsed business minutes. - Ensures the proper
prioritySLA target is used in cases where the priority was changed immediately after ticket creation.
v1.7.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.
May 2026
v1.6.0
Schema/Data Changes
3 total changes • 3 possible breaking changes
| Data Model | Change type | Old | New | Notes |
|---|---|---|---|---|
zendesk__ticket_backlog | New field | assignee_id | Added by default when assignee_id is in the Ticket Field History Columns variable (ticket_field_history_columns). Previously, only assignee_name was included. (Breaking Change) dbt users will need to run a full refresh to backfill historical values. | |
zendesk__ticket_backlog | New field | requester_id | Added when requester_id is in the Ticket Field History Columns variable (ticket_field_history_columns). Previously, only requester_name was included. (Breaking Change) dbt users will need to run a full refresh to backfill historical values. | |
int_zendesk__ticket_historical_status | Removed fields | ticket_status_counter, unique_status_counter | (Breaking Chanage) Columns were deprecated in v1.5.0 and are now removed. |
March 2026
v1.4.0
Schema Changes
5 total changes • 0 possible breaking changes
| Data Model | Change type | Old | New | Notes |
|---|---|---|---|---|
stg_zendesk__ticket_chat | New Columns | initiator | Reflects the persona that initiated the conversation (agent, end user, or system). | |
stg_zendesk__sla_policy_metric_history | New staging model | Tracks historical changes to SLA policy targets at various ticket priority levels. Can be disabled by setting the using_sla_policy_metric_history variable to False. | ||
stg_zendesk__ticket_sla_policy | New staging model | Tracks which SLA policies have been applied to tickets and when they were applied. Can be disabled by setting the using_ticket_sla_policy variable to False. | ||
stg_zendesk__sla_policy_metric_history_tmp | New temp staging model | Tracks historical changes to SLA policy targets at various ticket priority levels. Can be disabled by setting the using_sla_policy_metric_history variable to False. | ||
stg_zendesk__ticket_sla_policy_tmp | New temp staging model | Tracks which SLA policies have been applied to tickets and when they were applied. Can be disabled by setting the using_ticket_sla_policy variable to False. |
Feature Update
- Adds support for the
sla_policy_metric_historyandticket_sla_policysource tables to enable more granular SLA policy tracking based on ticket priority levels.- These new tables are dynamically enabled in Fivetran Quickstart based on whether they are being actively synced. For dbt Core users, the tables are enabled by default but can be disabled with the following configuration in your
dbt_project.yml:
- These new tables are dynamically enabled in Fivetran Quickstart based on whether they are being actively synced. For dbt Core users, the tables are enabled by default but can be disabled with the following configuration in your
vars:
using_sla_policy_metric_history: false
using_ticket_sla_policy: false
- Adjusts SLA policy logic to use the current ticket priority level's targets for calculating metrics. Previously, targets were taken from the priority that a ticket was first assigned to.
Bug Fixes
- Updates Snowflake regex parsing in the
extract_schedule_day()macro. - Aligns with Zendesk's method of calculating agent replies and comment metrics for messaging/chat. Previously, we counted each individual chat message as a distinct comment. In accordance with Zendesk's docs, we now count active conversation sessions.
- For example, if an agent sends three messages in the same active conversation and then the conversation ends, that exchange counts as one Agent reply. Previously, we would have counted three replies.
v1.4.1
Documentation
- Removed documentation from
zendesk.ymlfor dynamic columns fromzendesk__ticket_field_historyandzendesk__ticket_backlogto preventpersist_docserrors when these columns are not present.
v1.5.0
Schema/Data Change
4 total changes • 2 possible breaking changes
| Data Model | Change type | Old | New | Notes |
|---|---|---|---|---|
int_zendesk__ticket_first_resolution_time_business (Breaking) | Removed model | Consolidated into int_zendesk__ticket_resolution_time_business_combined. This table will no longer be updated in your target warehouse and can be dropped manually if desired. | ||
int_zendesk__ticket_full_resolution_time_business (Breaking) | Removed model | Consolidated into int_zendesk__ticket_resolution_time_business_combined. This table will no longer be updated in your target warehouse and can be dropped manually if desired. | ||
int_zendesk__ticket_resolution_time_business_combined | New model | Consolidates int_zendesk__ticket_first_resolution_time_business and int_zendesk__ticket_full_resolution_time_business into a single model that outputs both fields: first_resolution_business_minutes and full_resolution_business_minutes, improving model runtime. | ||
int_zendesk__ticket_historical_status | Deprecated fields | ticket_status_counter, unique_status_counter | Columns are deprecated as of March 2026 and will be removed in a future release. See Github Issue for details. |
Under the Hood
- Replaces reference to
stg_zendesk__userwithint_zendesk__user_aggregatesinzendesk__ticket_summaryto better align with dbt best practices and reduce DAG complexity.
v1.5.1
Bug Fix
- Fixes non-deterministic SLA reply time calculations in
int_zendesk__reply_time_business_hoursandint_zendesk__reply_time_combinedfor tickets with multiple SLA policies. Previously,lapsed_business_minutesand breach calculations mixed results across policies when the sameticket_id,metric, andsla_applied_athad more than onesla_policy_name. Window functions now partition bysla_policy_nameto correctly isolate each policy's calculation.
February 2026
v1.3.1
Documentation
- Updates the instructions for running the package on unioned data sources and integrating source tables into your project's DAG.
Bug Fix
- Aligns the
audit_logDAG inclusion logic with other source tables to avoid failures during docs generation.
January 2026
v1.2.1
Feature Update
- Introduces the
max_ticket_length_weeksvariable. This variable defines the maximum length of time, in weeks, that the package expects a ticket to be open for business hour calculations and SLA policy computations.- The default value is 52 weeks (one year)
- If your organization has tickets that are open for more than a year, apply the following configuration in your root
dbt_project.ymlfile:
### dbt_project.yml
vars:
zendesk:
max_ticket_length_weeks: 208 # Integer value: Ensure this is >= the longest period a ticket was open (in weeks)
v1.3.0
Documentation
- Updates README with standardized Fivetran formatting.
- Removes duplicative column yml definitions.
Under the Hood
- In the
quickstart.ymlfile:- Adds
table_variablesfor relevant sources to prevent missing sources from blocking downstream Quickstart models. - Adds
supported_varsfor Quickstart UI customization.
- Adds
October 2025
v1.1.0
Schema Changes
4 total changes • 0 possible breaking changes
| Data Model/Column | Change type | Old | New | Notes |
|---|---|---|---|---|
int_zendesk__ticket_work_time_business | Materialization | Ephemeral | Table | This is intended to resolve potential timeout issues when running the zendesk__ticket_metrics model. |
int_zendesk__ticket_first_reply_time_business | Materialization | Ephemeral | Table | This is intended to resolve potential timeout issues when running the zendesk__ticket_metrics model. |
int_zendesk__ticket_full_resolution_time_business | Materialization | Ephemeral | Table | This is intended to resolve potential timeout issues when running the zendesk__ticket_metrics model. |
int_zendesk__ticket_first_resolution_time_business | Materialization | Ephemeral | Table | This is intended to resolve potential timeout issues when running the zendesk__ticket_metrics model. |
Feature Update
- Materializes the above intermediate models as tables so as to optimize runs of
zendesk__ticket_metricsand avoid potential timeout issues. (PR #216)- If you would like to maintain the ephemeral materialization of these models and are running the Zendesk package via dbt Core, add the following configuration to your
dbt_project.yml:
- If you would like to maintain the ephemeral materialization of these models and are running the Zendesk package via dbt Core, add the following configuration to your
models:
zendesk:
agent_work_time:
int_zendesk__ticket_work_time_business:
+materialized: ephemeral
reply_times:
int_zendesk__ticket_first_reply_time_business:
+materialized: ephemeral
resolution_times:
int_zendesk__ticket_full_resolution_time_business:
+materialized: ephemeral
int_zendesk__ticket_first_resolution_time_business:
+materialized: ephemeral
Bug Fixes
- Removes a filter in
int_zendesk__updatesthat was erroneously filtering out some first reply messages. This filter was intended to remove "batched" chat messages stored in theTICKET_COMMENTtable, but the filter is unnecessary (and in some cases problematic) for properly calculating downstream SLA metrics. (PR #216) - Creates the
partition_by_source_relation()macro to dynamically includesource_relationin the partition clauses of all window functions based on whether multiple Zendesk sources are being used. Previously, Redshift users running the package on one Zendesk connection may have encountered constant expression errors due tosource_relationcontaining the same value across all records. (PR #219) - Updates the logic in
int_zendesk__schedule_spineto accommodate 24/7 schedules. Previously, tickets with 24/7 schedules may have experienced gaps in business time metrics. (PR #218) - Updates calculations of
sla_breach_atfrom theminutetosecondlevel to avoid potential rounding errors that may have caused discrepancies between Zendesk data models and UI reports. This adjustment has been made in the following intermediate models (PR #217):int_zendesk__agent_work_time_business_hoursint_zendesk__agent_work_time_calendar_hoursint_zendesk__reply_time_business_hoursint_zendesk__reply_time_calendar_hoursint_zendesk__requester_wait_time_business_hoursint_zendesk__requester_wait_time_calendar_hours
Documentation
- Renders a sample SLA Policy report from the Zendesk Streamlit App in the README. (PR #220)
September 2025
v1.0.1
Bug Fixes
- Fixed uniqueness issue in
int_zendesk__user_role_historyby removing duplicate and erroneous logs with identical timestamps.