How to set up Zendesk reports
Jul 01, 2024
Contents
Combining Zendesk data and product data helps you understand support performance, identify problem areas, and provide a better customer experience.
In this tutorial, we show how you can create Zendesk reports in PostHog by connecting it as a data source.
Linking Zendesk data to PostHog
To start, you need both Zendesk and PostHog accounts. Once you have those, head to PostHog's data pipeline sources tab and:
- Click New source
- Choose the Zendesk option by clicking Link
- Enter your Zendesk subdomain (like
posthoghelp
forhttps://posthoghelp.zendesk.com/
), API key, email, table prefix (optional), and then press Next - Select the tables you want to import as well as your sync methods, and press Import
Once done, PostHog will automatically pull and format your Zendesk data for querying. You can adjust the sync frequency, see the last successful run, and more in data pipeline sources tab.


Note: If you are missing a table, make sure you have data for that table in Zendesk and check your data warehouse settings to make sure it synced correctly.
Creating insights for your Zendesk report
Now that your Zendesk data is synced into PostHog, you can use it to create insights for your report. Each requires you to create a new insight in the product analytics tab.
Want to get started fast? Check out our Zendesk starter report template.
Ticket count
To start, we create a trend of ticket count over time.
On the trends tab, click the data series, go to the Data Warehouse tab, hover over the zendesk_tickets
, and press Select. This creates a trend of ticket count created over time.
You can then filter or break these tickets down by their properties such as status
or subject
. For example, we could add a filter for where subject
includes flags
like this:


Tickets for a specific user
PostHog also provides the ability to query your Zendesk data with SQL. This is useful for doing more complicated queries with all the data Zendesk provides.
An example of this is querying for tickets for a specific user email. The zendesk_tickets
table doesn't include email
so we use requester_id
and a join with zendesk_users
to connect it to an email.
Power user Zendesk profiles
The most powerful part about linking your Zendesk data in PostHog is the ability to combine it with product data.
An example of this is getting the Zendesk profile links of your most active users. To do this, we query zendesk_users
for URLs, events
for event
counts, and then join the two.
You notice that not every distinct_id
has a url
. This means they haven't created any tickets, which we can keep as a feature of our query or remove with a where
clause.


We can also add another join to the zendesk_tickets
to get the ticket count for that user as well.
Zendesk profiles of users needing help
We can also use PostHog data to identify users potentially needing help, such as those repeatedly visiting help
or billing
page.
To do this we write a similar query to get distinct_id
values having a billing $pageview
count higher than 1 (which you can modify).
Average first reply time
We can query zendesk_ticket_metric_events
table for the reply_time
metric then compare for the measure
and fulfill
times to get the average first reply time.
The zendesk_ticket_metric_events
also contains data you can use to calculate metrics like average reply time, average resolution time, and more.
Furthering reading
Subscribe to our newsletter
Product for Engineers
Read by 60,000+ founders and builders
We'll share your email with Substack