Skip to Main Content

Zendesk Support Dashboard

This dashboard provides an overview of the support tickets that have been raised via email/web support portal and created in Zendesk for the last 30 days (default timeframe).

Mike Halfacree, SquaredUp


The Support Team wanted to be able to display and report to the rest of the business how many tickets are being received each day, on which product and topic. It also provides service data such as the distribution of tickets between support engineers, how many replies per ticket, and the average 1st response time to a new ticket.

Zendesk provides a tool called ‘Explore’ for reporting and analytics, although this does require additional licensing to the normal ‘Light Agent’ role, so an alternative is to use the API to pull the data.


The dashboard is using PowerShell tiles with scripts making the API calls to the search & ticket_metrics endpoints. The reason for using the PowerShell tile and not the WebAPI tile is that we need to make multiple API calls as the endpoints can return 1000 results but these are broken down by pagination to 100 results per page, so 10 API calls.

The PowerShell tile allows us to make an API call to determine how many results are returned for our query and then define a loop to go through the pages and return all results (up to the max of 1000 results).

Dashboard walk-through

This dashboard has three rows of data for a default rolling 30-day period, which can be changed via the dashboard timeframe.

The first row of data is made up of a Scaler tile to show the number of new tickets created and a Line Graph tile to show a breakdown of how many tickets were created each day.

Tiles 1 - 2

The second row consists of four Donut tiles, all showing a breakdown of the tickets by percentage for the following Zendesk fields: ‘Ticket Form’, ‘Type’, ‘Channel’ and ‘Status’.

Tiles 3 - 6

The third row has three Bar Graph tiles and a Scaler tile. The first two Bar Graph tiles are showing a breakdown of the ticket by Topic and Agent. The third Bar Graph is counting how many replies have been made per ticket. The final tile which is a Scale tile is calculating the median time to first reply to a ticket, via the ‘’ value. It’s then using the new 5.3 conditional formatting feature to show the background of the tile as green if the value is below 60 and red if greater or equal to 60.

Tiles 7 - 10

Some of the tiles on rows 2 & 3 have lines in the script to format the value for the results shown.  For example, here we’re expanding on the ‘Status’ value:

#Format value for Status

ForEach ($item in $Status) {
If ($item.status -eq 'closed') {$item.status = 'Closed'}
If ($item.status -eq 'pending') {$item.status = 'Waiting on Customer'}
If ($item.status -eq 'hold') {$item.status = 'On-Hold'}
If ($item.status -eq 'solved') {$item.status = 'Solved'}
If ($item.status -eq 'open') {$item.status = 'Requires Response'}
If ($item.status -eq 'new') {$item.status = 'New'}}

Zero to dashboard hero in 60 seconds

Start now with hundreds of customizable dashboards.