Two powerful tools, together
Integrate Zendesk Support and PostgreSQL to turn your data into actionable insights.
Zendesk Support is a customer service platform
Stitch offers detailed documentation on how to sync your Zendesk Support data.
PostgreSQL is a popular database tool.
Stitch offers detailed documentation on how to sync your PostgreSQL data.
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 PostgreSQL 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.
Among the platforms we looked at, Stitch was the most cost-effective for us to connect to our five data sources: Mixpanel, Facebook Ads, Google Analytics, Google Ads, and Zendesk.
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- Simple setup
- Start replicating data in minutes, and never worry about ETL maintenance.
- Own your own data infrastructure
- Stitch replicates to your warehouse, meaning you’re always in control.
- Mature replication engine
- Accurate data from any structure, all the time.
Integrate your Zendesk Support and PostgreSQL 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.
ActiveCampaign
StandardStitch-certifiedAmazon Aurora MySQL
StandardStitch-certifiedAmazon Aurora PostgreSQL
StandardStitch-certifiedAmazon RDS for MariaDB
StandardStitch-certifiedAmazon RDS for MySQL
StandardStitch-certifiedAmazon RDS for Oracle Database
EnterpriseStitch-certifiedAmazon RDS for PostgreSQL
StandardStitch-certifiedAmazon RDS for SQL Server
StandardStitch-certifiedAmazon S3 CSV
StandardStitch-certifiedAmplitude
StandardCommunity-supportedAppsFlyer
StandardCommunity-supportedAsana
StandardCommunity-supportedAutopilot
StandardCommunity-supportedAutopilot Activities
StandardCommunity-supportedBigCommerce
StandardCommunity-supportedBraintree
StandardCommunity-supportedBranch
StandardStitch-certifiedCampaign Manager
StandardCommunity-supportedCampaign Monitor
StandardCommunity-supportedChargebee
StandardCommunity-supportedClose
StandardStitch-certifiedClub Speed
StandardCommunity-supportedCodat
StandardCommunity-supportedContentful
StandardStitch-certifiedCustomer.io
StandardStitch-certifiedDelighted
StandardStitch-certifiedDeputy
StandardCommunity-supportedDesk.com
StandardStitch-certifiedDrip
StandardStitch-certifiedDynamoDB
StandardStitch-certifiedEloqua
StandardCommunity-supportedFacebook Ads
StandardStitch-certifiedFormKeep
StandardStitch-certifiedFreshdesk
StandardCommunity-supportedFront
StandardCommunity-supportedFullStory
StandardCommunity-supportedGitHub
StandardCommunity-supportedGitLab
StandardCommunity-supportedGoogle Ads
StandardStitch-certifiedGoogle Analytics
StandardStitch-certifiedGoogle Analytics 360
EnterpriseCommunity-supportedGoogle Cloud SQL MySQL
StandardStitch-certifiedGoogle Cloud SQL MySQL
StandardStitch-certifiedGoogle Cloud SQL PostgreSQL
StandardStitch-certifiedGoogle Ecommerce
StandardStitch-certifiedGoogle Search Console
StandardStitch-certifiedGoogle Sheets
StandardStitch-certifiedHarvest
StandardCommunity-supportedHarvest Forecast
StandardCommunity-supportedHeap
StandardStitch-certifiedHelp Scout
StandardCommunity-supportedHeroku
StandardStitch-certifiedHubSpot
StandardStitch-certifiedIBM Db2
StandardCommunity-supportedImpact
StandardCommunity-supportedImport API
StandardStitch-certifiedIntacct
StandardCommunity-supportedIntercom
StandardStitch-certifiedInvoiced
StandardCommunity-supportedIterable
StandardStitch-certifiedJira
StandardStitch-certifiedKlaviyo
StandardCommunity-supportedLever
StandardCommunity-supportedLinkedIn Ads
StandardStitch-certifiedListrak
StandardCommunity-supportedLivePerson
StandardCommunity-supportedLookML
StandardCommunity-supportedMagento
StandardStitch-certifiedMailchimp
StandardStitch-certifiedMailjet
StandardStitch-certifiedMailshake
StandardCommunity-supportedMambu
StandardStitch-certifiedMariaDB
StandardStitch-certifiedMarketo
StandardStitch-certifiedMicrosoft Advertising (Bing Ads)
StandardStitch-certifiedMicrosoft Azure SQL Server Database
StandardStitch-certifiedMicrosoft SQL Server
StandardStitch-certifiedMicrosoft Teams
StandardCommunity-supportedMixpanel
StandardStitch-certifiedMongoDB
StandardStitch-certifiedMySQL
StandardStitch-certifiedNetsuite
StandardStitch-certifiedNetsuite Suite Analytics
StandardStitch-certifiedOnfleet
StandardCommunity-supportedOracle
EnterpriseStitch-certifiedOracle Netsuite Bronto Marketing Platform
StandardCommunity-supportedOutbrain
StandardCommunity-supportedOutreach
StandardCommunity-supportedPardot
StandardStitch-certifiedParticle
StandardStitch-certifiedPendo
StandardStitch-certifiedPepperjam
StandardCommunity-supportedPinterest Ads
StandardCommunity-supportedPipedrive
StandardCommunity-supportedPlatform Purple
StandardCommunity-supportedPostgreSQL
StandardStitch-certifiedQuick Base
StandardCommunity-supportedQuickBooks
StandardStitch-certifiedReCharge
StandardCommunity-supportedRecurly
StandardStitch-certifiedReferral SaaSquatch
StandardCommunity-supportedResponsys
StandardStitch-certifiedRevinate
StandardCommunity-supportedRingCentral
StandardCommunity-supportedSFTP
StandardStitch-certifiedSailthru
StandardStitch-certifiedSalesforce
StandardStitch-certifiedSalesforce Marketing Cloud
StandardCommunity-supportedSegment
StandardStitch-certifiedSelligent
StandardCommunity-supportedSendGrid
StandardStitch-certifiedSendGrid Core
StandardCommunity-supportedSendwithus
StandardStitch-certifiedShipHero
StandardCommunity-supportedShippo
StandardCommunity-supportedShopify
StandardStitch-certifiedSparkPost
StandardStitch-certifiedSquare
StandardStitch-certifiedStripe
StandardStitch-certifiedSurveyMonkey
StandardCommunity-supportedTaboola
StandardCommunity-supportedToggl
StandardCommunity-supportedTypeform
StandardCommunity-supportedUrban Airship
StandardCommunity-supportedUserVoice
StandardCommunity-supportedVero
StandardStitch-certifiedWebhooks
StandardStitch-certifiedWorkday RaaS
EnterpriseStitch-certifiedXero
StandardStitch-certifiedYotpo
StandardCommunity-supportedZapier
StandardStitch-certifiedZendesk Chat
StandardCommunity-supportedZendesk Support
StandardStitch-certifiedZoom
StandardCommunity-supportedZuora
StandardStitch-certified