This article guides you on how to manage SLA times more effectively by creating swappable timers with SweetHawk's Timers App. This feature allows you to switch timers without restarting the count, which is particularly useful when multiple timers could be set based on a variable.
Consider a situation where a customer-created ticket is initially set to 'High' priority, which has a first response time of 4 hours. If an agent assesses the ticket after 3 hours and reassigns it to 'Normal' priority (which has a response time of 24 hours), it is not accurate to start the 'Normal' SLA timer from scratch as it would run 3 hours longer than intended. In such a case, the Timers App allows you to swap to the new timer, taking into account the 3 hours that have already passed.
This can be achieved by setting a unique identifier that is common amongst the set of timers. This identifier can be any one word term and can be added to the trigger that starts it as a URL parameter like this:
Here are the full set of steps to creating an example scenario flow with 5 priority possibilities (Unset, Low, Normal, High, & Urgent).
1. Create the timer definitions.
Start by creating five different timer definitions that correspond to the five priority levels: Unset, Low, Normal, High, & Urgent.
Note that the reason why it is necessary to create a timer definition when the priority has not been set is that, for measuring First Response time, it is important that you measure time from when the ticket was created even if the priority has not been set.
You can create a timer definition by clicking into the Timers app in the main left bar and under Timer Definitions, click Add definition like this:
Give each timer a Name. EG. "First response SLA (Priority = Low)".
Set the Duration of each timer (ie. The time in which you want a desired action to happen. After this time, the SLA would be considered "breached".)
Then in the Updates section at the bottom, decide what changes you want to make to the ticket based on the various states of the timer.
2. Create triggers that start each timer.
After creating each timer, in the list of timer definitions section click to create a trigger that will automatically start it like this:
Under Meet ALL of the following conditions check for the priority that matches the definition.
Eg. "Ticket > Priority" - "Changed to" - "Low"
It should look like this:
Under Actions you will see that webhook that corresponds to the timer definition has already been set. However you will need to add in the URL parameter to set the identifier.
Click Add parameter
In the first part add the word identifier
In the second part type in a word that matches the flow that you're setting up. For example first_response_sla . This should be set identically in all other triggers that start each of the other timers and should look like this:
3. Create trigger that stops timers.
Create a trigger that stops all five timers when the first response has been made by an agent. This ensures that the timer stops counting down once the agent has performed the desired behavior on the ticket.
This can be done by clicking Create trigger under Stop for the desired timer like this:
4. Test Your Flow.
Finally, test your flow by creating a test ticket and ensure that the timers start, swap, and stop as expected.