In my previous posts on Response Groups in my Main Number Handling series, I only lightly touched the area of timers on Groups and Queues as I feel they are better discussed together. As a refresher, the Group has an “Alert Time” value that has a default of 20 seconds, but can be set anywhere between 10 to 180 seconds:
Queues have a “Time-out Period” that also has a default of 20 seconds, and can be set from 10 to 65535 seconds – (about 18 hours!):
Note that the Queue time-out isn’t active unless you enable it. Not enabling a time-out causes the Queue to send the call to Groups forever – which probably means until the caller gets annoyed and hangs up. Be nice to your callers, and configure a timeout.
When a call is processed by a Workflow and send to a Queue, the Queue first determines if there is an overflow scenario – too many calls in the queue – based on the overflow settings. If not, the call will be sent to the first group listed in the “Groups” ordered list of the Queue.
Within the Group that has been selected to handle the call, a set of Agents will be identified based on the Routing Method you configured and the presence status of the Agents in the Group. The call will be offered to those Agents until
- Someone answers the call
- The Alert time expires
If no agent answers the call, the call is sent back to the Queue level for handling
- If the Queue time-out is not enabled, or is enabled but has not yet expired:
- The call will be sent to the next group in the Groups section of the Queue.
- If the Queue has sent the call to all of the Groups in the list, it begins again at the top.
- If there is only one Group, the call is sent to that Group again. They may notice a slightly longer delay in between rings, but otherwise their phones will ring continuously.
- If the Queue time-out is enabled and has expired, the Call Action for the time-out takes place.
Let’s look at a couple of timer examples, assuming in all cases that nobody answers the call.
If the Queue time-out and Group Alert time are both set to 20 seconds, the Agents selected by the Group will ring for 20 seconds, then the Queue timeout action will apply.
If the Queue time-out is set to 20 seconds, and the Group Alert time is set to 30 seconds, the Agents selected by the Group will ring for 30 seconds, then the Queue timeout action will apply. The Queue time-out doesn’t overrule or short circuit the Group Alert time, the Group is allowed to ring for the duration of the Alert time:
If the Queue time-out is set to 30 seconds, and the Group Alert time for the only group is set to 12 seconds, the Agents selected by the Group will ring for 12 seconds, then be sent back to the Queue. Since the Queue timer hasn’t expired, it will be sent back to the Group for another 12 seconds. The call will return to the Queue, and since there are 6 seconds remaining, the call will be sent back to the Group where it will ring the Agents for another 12 seconds. The Agents ring for a total of 36 seconds.
If the Queue has a Group list with multiple groups, each Group can have its own Alert time. Let’s say we have a Queue with a time-out of 45 seconds. The top Group in the list has an Alert time of 10 seconds, the second Group has an alert time of 30 seconds, and the third group has an alert time of 20 seconds. The call will be offered to the first Group, return to the Queue after 10 seconds and then be sent to the second Group. It’ll ring there for 30 seconds, then return to the Queue. 40 seconds have passed, meaning 5 seconds remain in the Queue time-out. The call is sent to the third Group where it rings for 20 seconds, then returns to the Queue. 60 seconds have passed, which exceeds the Queue timeout value of 45 seconds, and the timeout call action is taken.
Plan your timeouts carefully, otherwise you may wind up with too much time elapsing before a call is handled by the time-out call actions, especially if you use a number of different groups with different Alert times.
Something I didn’t mention in the above example are the queue overflow settings:
If these are enabled, the number of calls in the Queue is compared against the maximum. If the Queue is in an overflow state AND the action is toe Forward the oldest Call, the call will not be send to a Group for handling, and the overflow call actions will take place.
I’m hopeful that this overview of Queue and Group timers and how they relate to each other helps you understand how to configure your own timer values. My whiteboard has a dotted grid pattern on it, and if I’m planning a complex Queue/Group scenario, I’ll often plot out the combinations of timer values to ensure that what I’m building meets the requirements I’ve gathered. You could use graph paper, Excel bar charts, or even plain paper or whiteboard surfaces with a ruler. Testing all of your timer scenarios can be maddening at best, especially if you are allowing calls to queue for minutes (or hours). A little bit of time drawing out your timers can help ensure that you only have to test once.