In this article we'll go through how you can use the Timers app for Zendesk to automatically set something to happen at a specific time in a number of business days of your choice.
This caters for use cases where agents have to bump something to the next day or next week on a very frequent basis and/or this process needs to be mandated based on the conditions of the ticket, (or triggered using a macro).
The steps in making this happen are as follows:
Step 1: Setup a schedule for your business days & specific time of day.
Step 2: Create a Timer definition with a duration of 1 minute.
Step 3: Create a ticket field that will be used to trigger when the timer starts.
Step 4: Create a trigger that starts the timer.
Step 5: Create a trigger that stops the timer.
Step 1: Setup a schedule for your business days & specific time.
In order to cater for things like weekends or public holidays, it is important to note that it is the schedule that is at the heart of setting up this flow.
To setup a schedule in Timers, first click into the admin panel on the left, then under Schedules click on Add schedule like this:
Next give your schedule a name, we've called ours "First thing in the morning". Then set which timezone it will be running on and then click to edit the Business Hours like this:
For this example, we'll be wanting our timer to go off at 8:00am in the morning on weekdays. So in the schedule, set the business hours to go from 7:59 am to 8:01 am and click OK like this:
The reason why we set the schedule to only run for 2 minutes is that when we create the timer definition in step 2, it will only be set to run for 1 minute. Having a schedule that only allows timers to run for 2 mins of each day means that it forces any timer added to a ticket can only go off during this window.
Step 2: Create the timer definition with a duration of 1 minute.
To create a timer definition in the Timers app admin, under Timer definitions click on Add definition like this:
Name the timer (eg. Next morning), set the Duration to 1 minute and set the schedule to the one created in Step 1 like this:
Setting the timer to run for 1 minute means that no matter what point in the day the timer starts, the first point it will be able to run is within one of the 2 minute windows within the schedule.
|
Sidenote: If you wanted the timer to end in 2 business days instead of 1, then you would set the duration to 3 minutes. For 3 business days, you would set the duration to 5 minutes and so on an so forth 7, 9, 11 etc. to the corresponding number of business days. |
Now in the updates part of the Timer definition, under Timer Ended ticket update add the rules:
Add tags: stop_timer & Status: Open
...like this:
Setting the status to open will mean that at the end of the timer the ticket will always bubble to the surface in your desk as an open ticket requiring action by an agent. That being said, you're able to add any extra changes you want here to further call attention to this ticket.
Adding the stop_timer tag enables you to run a trigger (as per step 5) that will stop the timer running, allowing the timer to be restarted again if needed.
Step 3: Create a ticket field that will be used to trigger when the timer starts.
To create a ticket field, head into your Zendesk admin and under Fields on the right click on Add field like this:
Select to add a checkbox, give the field a name (eg. Re-open ticket at 8am next business day) and click Save at the bottom like this:
|
Note: If you have multiple sets of times a ticket should be reopened, you may want to consider using a flow that makes use of a dropdown field instead of a checkbox. |
Now add this field to any Zendesk ticket forms that you want agents to be able to access this field on.
Step 4: Create a trigger that starts the timer.
Next, you can create a trigger that checks for when the checkbox (created in the last step) has been checked, and to start the timer based on this.
To create the trigger, in Zendesk admin, under Triggers click on Add trigger like this:
Then give it a name like Start timer: Next morning, and set the conditions under Meet ALL of the following conditions to:
Ticket - is - updated.
Re-open ticket at 8am next business day - is - checked.
Then under Actions add the following rules:
Re-open ticket at 8am next business day - unchecked
Notify active webhook - App - Timers - Start Next morning.
The trigger should look something like this:
|
Note: The name of the webhook to start the timer will have the exact same name as you gave the timer definition. |
Step 5: Create a trigger that stops the timer.
Finally you will need to create a trigger that looks for the stop_timer tag set in step 2 to actually stop the timer. This will allow the timer to be restarted time and time again.
To do this create another trigger, give it a name (eg. STOP timer: Next morning) and give it the following rules under Meet ALL of the following conditions:
Ticket - is - updated
Tags - contains at least one of the following - stop_timer
Then under Actions add the following rules:
Remove tags - stop_timer
Notify active webhook - App - Timers - Stop Next morning.
The trigger should look something like this:
Ok that's it. Now you can go about testing your new flow, either by manually checking the new checkbox on any ticket, or by creating a macro or another trigger that does this instead.