How to the track time of each stage in a Zendesk workflow.

What is a process stage?

For any process in your business, it is likely that there are specific steps that need to be taken and each of those steps takes time to complete. The time it takes to complete a specific part of the process could be considered a stage. 

For example, if you're an accounting firm you may have a process around doing tax returns that looks like this:

Stage 1: Onboard new customer.

Stage 2: Wait for the customer to submit all tax documentation.

Stage 3: Confirm documentation is complete. 

Stage 4: Complete tax return and submit to the tax department. 


Another example of a process could be when an employee submits a request to purchase a large asset and might look something like this: 

Stage 1: Purchase request details sent to the manager and are awaiting approval. 

Stage 2: Purchase request details sent to the finance department and are awaiting approval. 

Stage 3: Purchase order is generated by the PO team. 

Stage 4: Waiting for invoice to be generated by seller. 

Stage 5: Payment is completed.


The stages of a process can be as broad or as granular as you like, it is up to you to define the process you need for your circumstance. The main thing for being able to track the time of each stage with the method below is to:

a) Have a defined event that moves your ticket between stages. For example, the instant a purchase request is approved by a manager, it is both automatically sent to the finance department and moved from stage 1 to stage 2. 

b) Each of your stages takes place in chronological order.



How to set up and track the stages of a process.

Throughout the rest of this article, you'll learn how to map each part of a process to a dropdown field that labels the stage. 

Once this is done you'll not only be able to build reports in Zendesk Explore to measure how long it's taking each stage to complete, but you can also use this to build Zendesk views to see how many tickets are in a particular stage at any time. 

Here's a video overview of how this can work and can be set up:


The steps to building this phase are: 

1. Create the stage dropdown field in Zendesk. 

2. Create the process whereby the stage field is automatically set based on the settings of the ticket.

3. Create a report over in Zendesk Explore to measure the time in each stage. 



1. Create the stage dropdown field in Zendesk. 

To create a dropdown field click the cog icon on the left of the screen and then under Ticket Fields click on Add field at the top right-hand side. 




Then select the Drop-down option. 

Give the field a name like 'Stage' or 'Phase' and start adding Field Values at the bottom for the different stages. Be sure to note the tags associated with each value because you'll need to know these to be able to automatically set these later. Once you're happy with your field settings click on Save at the bottom right.




2. Create the process whereby the stage field is automatically set based on the settings of the ticket.

This step is the most open to interpretation since there is an infinite amount of ways a process can flow. The idea behind this step is that when the thing happens on a ticket that you want to trigger moving to the next stage, you add the tag associated with that stage (that you just created in step 1) and it will automatically set the dropdown field. 

A simple example of this might be creating a Zendesk trigger that checks when a ticket is created and adds the tag "stage_1". 

One of the examples used in the video above is that when a particular task list is added (as part of the SweetHawk Tasks app), you can specify a tag to be added. To do this you can simply click into the Tasks app on the left of the screen. Then go into the desired task list and click edit at the top like this: 


Once in the settings, there is a spot to define the tag as seen below:SweetHawk__-_Agent.jpg

But these are just a couple of ways you can inject a tag onto a ticket at the opportune time. For more information on how to automatically apply tags to tickets see point 2 in this Zendesk tips and tricks blog post



3. Create a report over in Zendesk Explore to measure the time in each stage. 


Once you've setup your process flow in Zendesk Support and you're happy how its works you can then move to build a report over in Zendesk Explore. 

To do this at the top right of the screen click into Explore like this:


Then in the queries section on the left, click on New query on the right.


Next select Support -> Ticket updates -> Support: Ticket updates [default] -> New Query like this: 


Then on the right click on the calculator icon and select Standard calculated metric like this: 


Then give the metric a name. For example Stage 1 (Hrs), and in the formula section copy and paste in this code:


IF ([Changes - Field name] = "Stage" AND [Changes - Previous value]= "stage_1") 
THEN VALUE(Field changes time (min))/60


Note: The name of the field should match the name of the dropdown field you created as part of step 1 of this article. If you gave it a different name than "Stage" you'll need to alter the formula. This also goes for the tag name for stage_1. 


It should look something like this: 


Now simply click on Save at the bottom. 

Now to add this metric to your query click on Add > next to metrics at the top left and do a search for the metric you just created. You'll need to set the aggregator. You can set this to SUM or AVG depending on the type of report you're trying to create.


Finally, click Apply at the bottom.  

Repeat this process for setting up as many metrics as you have as stages. 

Finally, select how you want to slice your report by making a selection in under Columns. For example here is a demo report slicing by the assignee...


But you can slice the report by anything you like, for example, Update - Month / Update Year or Ticket solved - Month


Was this article helpful?
1 out of 2 found this helpful



Please sign in to leave a comment.