Divider

Two powerful tools, together

Integrate Zendesk Support and GitHub to turn your data into actionable insights.

  • Zendesk Support

Zendesk Support is a customer service platform

Stitch offers detailed documentation on how to sync your Zendesk Support data.

Stitch Zendesk Support Documentation

  • GitHub

GitHub is a web-based hosting service for version control using git

The Stitch GitHub integration is maintained by the open source Singer community.

View the Repo

Divider

Jumpstart your Zendesk Support analytics with reusable blocks

dbt packages can speed up your work

Once you replicate your Zendesk Support data with Stitch, you can use it in many ways. For example, you can use the data modeling and transformation tool dbt to prepare data for reporting, analytics, or machine learning applications.

Dbt has prebuilt packages for many Stitch data sources, including Zendesk Support. Here’s a look at code for modeling Zendesk Support data. This particular block of code transforms your Zendesk Support data so you can analyze your ticket metrics.

View the source on GitHub →
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 with tickets as ( select * from {{ref('zendesk_tickets')}} ), url as ( select * from {{ref('zendesk_org_url')}} ), metrics as ( select * from {{ref('zendesk_ticket_metrics')}} ), organizations as ( select * from {{ref('zendesk_organizations')}} ), users as ( select * from {{ ref('zendesk_users') }} ), final as ( select tickets.*, metrics.created_at as ticket_created, metrics.initially_assigned_at, metrics.solved_at, metrics.reopens, metrics.replies, metrics.first_resolution_time_in_minutes_business, metrics.first_resolution_time_in_minutes_calendar, metrics.full_resolution_time_in_minutes_business, metrics.full_resolution_time_in_minutes_calendar, metrics.on_hold_time_in_minutes_business, metrics.on_hold_time_in_minutes_calendar, metrics.reply_time_in_minutes_business, metrics.reply_time_in_minutes_calendar, metrics.requester_wait_time_in_minutes_business, metrics.requester_wait_time_in_minutes_calendar, organizations.name as organization_name, requesters.email as requester_email, assignees.email as assignee_email, 'https://' || url.org_url_identifier || '.zendesk.com/agent/tickets/' || tickets.ticket_id::varchar as web_url from tickets left join metrics on metrics.ticket_id = tickets.ticket_id left join organizations on organizations.organization_id = tickets.organization_id left join users as requesters on requesters.user_id = tickets.requester_id left join users as assignees on assignees.user_id = tickets.assignee_id inner join url on 1 = 1 ) select * from final

... or use Looker blocks with your Zendesk Support data

We've developed a Looker Block for Zendesk Support data provisioned by Stitch. This block includes prebuilt code to create dashboards and models that can help uncover insights from your Zendesk Support data.

This Looker Block includes three dashboards that provide analysis on agent performance, ticket submissions, and overall customer support metrics. The LookML file shown here produces an overview dashboard that allows you to view understand ticket submission trends. Other dashboards included in this block are: Overview dashboard - View ticket submissions over time to understand the level at which your customers are leveraging your support team - See the breakdown of ticket submissions by channel to understand where most of your support requests are generated - See your top 20 all-time agents, requesters, and organizations by number of tickets to see identify the key players in customer support - See a ticket tag breakdown over time to understand how customer priorities have shifted Agent performance dashboard - Monitor your support team's all-time reply and resolution time to measure against SLAs - See how your team's response and reply time have fluctuated over time to identify trends and opportunities for improvement or celebration groups and more efficiently manage resources - Identify top performers in your organization Ticket submissions dashboard - Evaluate the volume at which organizations are submitting tickets to identify which organizations are requiring the most attention of your team - Identify how average tickets per organization changes over time to see whether documentation, tutorials, demos, and product changes or releases are taking a load off your team - See ticket submission volume by hour of the day and day of the week to more efficiently allocate resources

View the source on GitHub →
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 - dashboard: overview title: Overview layout: grid rows: - elements: [new_open_tickets, pending_tickets, closed_tickets] height: 150 - elements: [tickets_and_orgs] height: 400 - elements: [tickets_by_channel, count_by_status] height: 400 - elements: [top_orgs, top_requesters, top_assignees] height: 400 - elements: [ticket_tags] height: 500 filters: - name: date type: date_filter elements: - name: new_open_tickets type: single_value model: zendesk explore: tickets measures: [tickets.count] filters: tickets.status: new,open sorts: [tickets.count desc] limit: 500 show_single_value_title: true single_value_title: New and open tickets show_comparison: false listen: date: tickets.created_at_date - name: pending_tickets title: Pending tickets type: single_value model: zendesk explore: tickets dimensions: [tickets.status] measures: [tickets.count] filters: tickets.status: pending sorts: [tickets.count desc] limit: 500 show_single_value_title: true single_value_title: Pending tickets show_comparison: false listen: date: tickets.created_at_date - name: closed_tickets title: Untitled Visualization type: single_value model: zendesk explore: tickets measures: [tickets.count] filters: tickets.status: closed,solved sorts: [tickets.count desc] limit: 500 show_single_value_title: true single_value_title: Closed and solved tickets show_comparison: false listen: date: tickets.created_at_date - name: tickets_by_channel title: Tickets submitted by channel type: looker_pie model: zendesk explore: tickets dimensions: [tickets.via__channel] measures: [tickets.count] sorts: [tickets.count desc] limit: 500 value_labels: legend colors: ['#FFCC00', '#1E2023', '#3399CC', '#CC3399', '#66CC66', '#999999', '#FF4E00', '#A2ECBA', '#9932CC', '#0000CD'] show_view_names: true listen: date: tickets.created_at_date - name: tickets_and_orgs title: Ticket submissions over time type: looker_line model: zendesk explore: tickets dimensions: [tickets.created_at_week] measures: [tickets.count, tickets.count_distinct_organizations] sorts: [tickets.created_at_week desc] limit: 500 stacking: '' show_value_labels: false label_density: 25 legend_position: center x_axis_gridlines: false y_axis_gridlines: true show_view_names: true limit_displayed_rows: false y_axis_combined: true show_y_axis_labels: true show_y_axis_ticks: true y_axis_tick_density: default show_x_axis_label: true show_x_axis_ticks: true x_axis_scale: auto y_axis_scale_mode: linear show_null_points: true point_style: none interpolation: linear colors: ['#FFCC00', '#1E2023', '#3399CC', '#CC3399', '#66CC66', '#999999', '#FF4E00', '#A2ECBA', '#9932CC', '#0000CD'] listen: date: tickets.created_at_date - name: count_by_status title: New, open, solved, and pending ticket count type: looker_column model: zendesk explore: tickets measures: [tickets.count_solved_tickets, tickets.count_new_tickets, tickets.count_open_tickets, tickets.count_pending_tickets] sorts: [tickets.count_solved_tickets desc] limit: 500 stacking: '' show_value_labels: false label_density: 25 legend_position: center x_axis_gridlines: false y_axis_gridlines: true show_view_names: true limit_displayed_rows: false y_axis_combined: true show_y_axis_labels: true show_y_axis_ticks: true y_axis_tick_density: default show_x_axis_label: true show_x_axis_ticks: true x_axis_scale: auto y_axis_scale_mode: linear show_null_labels: false colors: ['#FFCC00', '#1E2023', '#3399CC', '#CC3399', '#66CC66', '#999999', '#FF4E00', '#A2ECBA', '#9932CC', '#0000CD'] listen: date: tickets.created_at_date - name: top_orgs title: Top 20 organizations by tickets submitted type: table model: zendesk explore: tickets dimensions: [tickets.organization_name] measures: [tickets.count] sorts: [tickets.count desc] limit: 20 show_view_names: true show_row_numbers: true truncate_column_names: false table_theme: editable limit_displayed_rows: false listen: date: tickets.created_at_date - name: top_requesters title: Top 20 requesters by tickets submitted type: table model: zendesk explore: tickets dimensions: [tickets.requester_email] measures: [tickets.count] sorts: [tickets.count desc] limit: 20 show_view_names: true show_row_numbers: true truncate_column_names: false table_theme: editable limit_displayed_rows: false listen: date: tickets.created_at_date - name: top_assignees title: Top 20 agents by all time tickets type: table model: zendesk explore: tickets dimensions: [tickets.assignee_email] measures: [tickets.count] sorts: [tickets.count desc] limit: 20 show_view_names: true show_row_numbers: true truncate_column_names: false table_theme: editable limit_displayed_rows: false listen: date: tickets.created_at_date - name: ticket_tags title: Ticket tags type: looker_column model: zendesk explore: ticket__tags dimensions: [ticket__tags.value, ticket__tags.created_at_month] pivots: [ticket__tags.value] measures: [ticket__tags.count] sorts: [ticket__tags.created_at_month desc, ticket__tags.value] limit: 500 column_limit: 50 stacking: percent show_value_labels: false label_density: 25 legend_position: center x_axis_gridlines: false y_axis_gridlines: true show_view_names: true limit_displayed_rows: false y_axis_combined: true show_y_axis_labels: true show_y_axis_ticks: true y_axis_tick_density: default show_x_axis_label: true show_x_axis_ticks: true x_axis_scale: auto ordering: none show_null_labels: false colors: ['#FFCC00', '#1E2023', '#3399CC', '#CC3399', '#66CC66', '#999999', '#FF4E00', '#A2ECBA', '#9932CC', '#0000CD'] listen: date: ticket__tags.created_at_date

Zendesk Support and GitHub to your data warehouse in minutes

Stitch delivers all your data to the leading data lakes, warehouses, and storage platforms.

All your data, where you need it

Give your analysts, data scientists, and other team members the freedom to use the analytics tools of their choice.

See all analysis tools

Analysis Tools Asset
The best part? Zero engineering or ongoing maintenance. It's a no-brainer for Stitch to handle our data pipelines while our teams stay focused on our core business and growth.

Dave Riggs

Director of Acquisition Marketing, Laurel & Worf

Divider

Why our customers choose Stitch

Stitch is a simple, powerful ETL service built for developers. Stitch connects to your first-party data sources – from databases like MongoDB and MySQL, to SaaS tools like Salesforce and Zendesk – and replicates that data to your warehouse. With Stitch, developers can provision data for their internal users in minutes, not weeks.

Explore all of Stitch's features
IconSimple setup
Start replicating data in minutes, and never worry about ETL maintenance.
IconOwn your own data infrastructure
Stitch replicates to your warehouse, meaning you’re always in control.
IconMature replication engine
Accurate data from any structure, all the time.
Explore all of Stitch's features

Integrate your Zendesk Support and GitHub data today

Select your integrations, choose your warehouse, and enjoy Stitch free for 14 days.

Set up in minutesUnlimited data volume during trial

Connect to your ecosystem of data sources

Stitch integrates with leading databases and SaaS products. No API maintenance, ever, while you maintain full control over replication behavior.