The timers app allows you to perform 'down-to-the-minute' relative actions on a ticket.
They are similar in concept to Zendesk "automations", but instead of ONLY running once an hour, they work on a minutely basis.
Creating a timer is done in 3 steps.
1. Define a timer.
2. Start the timer: Set a trigger to start it based on ticket conditions.
3. Create the action: Set a trigger to do something when the timer hits.
1. Defining a timer
To define a timer, in the app, click on "Add timer". Then give it a name, set the number of minutes it will run for and finally define the tag that will be added to the ticket at the point that the timer finishes like this:
Now on any ticket where this timer is started, after 2 minutes the tag "2_min_urgent" will automatically be added to the ticket by the app.
The act of the app adding a tag to a ticket is what constitutes a "Ticket update". This allows you to build a Zendesk trigger that looks for tickets that have been updated with this tag, and then do something as a result.
|IMPORTANT NOTICE: The following two steps tap into the "Engine of Zendesk"; that being Zendesk triggers. If you're not familiar with Zendesk triggers, before proceeding you should read up on what triggers are and how they work on the Zendesk website.|
2. Starting a timer
To start a timer go to your Zendesk triggers and click on "add trigger" like this:
Then under the conditions set when you want the timer to start.
For this example, we'll start the "2 minute timer for urgent tickets" at the point a ticket is created but only if the priority of the ticket has been set to "Urgent".
We can do this by creating these two conditions in the trigger like this.
Then under the "Actions" part of the trigger, this is where we let SweetHawk servers know to start the timer. The way we do this is to notify a target called what you named the timer in step 1. You'll be able to find it by searching or scrolling down like this:
Once you've set the target and removed the part asking for "URL parameters" click "Save" like this:
OK, Sweet! Now any newly created tickets where the priority has been set to urgent will have a 2 min timer on them.
|NOTE: The trigger above is "self-nullifying" since a ticket can only be created once. However, if you're creating a trigger that fires on a ticket update, you will need to make sure your trigger does not loop. Here's a kb article explaining more about nullifying conditions and how to avoid looping triggers in Zendesk.|
3. Performing an action when a timer completes
The last part of this process is to actually do something at the point the timer finishes. To do this, we'll need to create another Zendesk trigger that looks for when the tag "2_min_urgent" is added. Below is the part of an example trigger that does this with the required conditions highlighted.
Side point: One thing to be mindful about the two conditions above is that this trigger will fire on every single ticket the timer has been added to. Now, if you only wanted this trigger to fire IF the timer completes AND the ticket hasn't been actioned, then you could think about adding an extra rule to look for that action. Say for example, if the status of the ticket is no longer NEW, that might indicate that the ticket has already been assigned to an agent who is currently working on it. At that point, you might no longer need this trigger to perform a ticket action because the desired behaviour is already happening. So adding a condition like "Status" - "Is not" - "New" would mean this trigger only fires when needed.
Now that our trigger is identifying when the timer completed, we'll then need to set what actions the trigger performs.
The first action should be to remove the tag that it's checking for ("2_min_urgent"), this nullifies the trigger after it has fired once. ie. by removing the tag we're preventing the trigger from looping. For more information on nullifying conditions see this article: https://support.sweethawk.co/hc/en-us/articles/115000727492-Nullifying-conditions-for-your-triggers
Now we can add any additional actions we like as part of the normal trigger functionality. If we wanted to email the group, we could add the action to do that like this:
But you could really do anything at this point, tag the ticket, change other custom fields, assign the ticket to a specific person, send a message to your slack channel, there are literally hundreds of things possible using Zendesk triggers.