When using "Wait in Queue" I've noticed that the Queue Callbacks (QCB) will present to the agents but not in the order they were created. Why is that?
Answer
The primary difference between "Wait In Queue" and "Reserve Agent" is that in "Reserve Agent", once it's the caller's turn, an agent will be removed from the queue and the phone system will attempt to call the person to offer them a call. If accepted, the person will be connected to the reserved agent.
With "Wait in Queue", calls that accept a Queue Callback will wait until they are first in line. Once the caller is first in line, the phone system will attempt to call that person and offer them a call. If accepted, the person will be connected to the queue until their call is answered.
In addition to that, with "Wait in Queue", there are several situations when the QCB customers will be re-ordered to a later spot in line.
This is done for two reasons:
- In the interest of call throughput; and
- Due to limitations on using utility lines to make the callbacks themselves.
Here's how this happens:
Situation 1
- Suppose we have a queue with at least two QCB calls in a row that looks like this:
Queue Position Call-ID Status 1 A In Queue 2 B QCB 3 C QCB 4 D In Queue
- Let's say an agent becomes ready and is offered the call in Queue Position 1:
Queue Position Call-ID Status 1 A In Queue (being offered to 1st Agent) 2 B QCB 3 C QCB 4 D In Queue
- Once that agent accepts the transfer, the call positions shift
- We would now detect the need to make a callback and begin that process:
Queue Position
Call-ID Status 1 B QCB (Being called back due to becoming first in queue) 2 C QCB 3 D In Queue
- If an agent becomes available at this time (before the first QCB customer accepts the callback), then two surprising things happen.
- We will actually start calling back the customer in Queue Position 2
- We will end up offering the call in Queue Position 3 to the second agent
- The queue would now look like this:
Queue Position
Call-ID Status 1 B QCB (Being called back due to becoming first in the queue) 2 C QCB (Being called back -- due to 2nd agent becoming ready) 3 D In Queue (Being offered to 2nd agent)
- After the agent accepts the transfer and both QCB calls accept their callbacks, the calls may now be in a new order due to the timing of customers answering/accepting the callback
Queue Position
Call-ID Status 1 B or C In Queue 2 B or C In Queue
Situation 2
- Another situation where QCB might be skipped is if two agents become available at the same time
- In our previous situation that would have looked like this:
Queue Position Call-ID Status 1 A In Queue (Being offered to 1st Agent) 2 B QCB (Being called back -- due to 2nd agent becoming ready) 3 C QCB 4 D In Queue (Being offered to 2nd agent)
- In our previous situation that would have looked like this:
Situation 3
- Finally, a QCB call will be skipped if they are being called back due to becoming first in the queue, but an agent becomes ready before they accept the callback.
- This is very similar, but also slightly different than the example outlined above.
This is "Wait in Queue" working as intended, despite the obvious chances of calls changing their order in the queue.
These are the reasons why:
- Wait in Queue is built more for throughput than for strict queue ordering
- If queue ordering is essential to the customer, then Reserve Agent might be a better QCB strategy for them
- Most of the time when the customer is skipped it will not be noticeable
- They will still arrive back in position 1 in the queue when they accept their callback
Summary
- Queue order is not guaranteed for Wait in Queue.
- Please use "Reserve Agent" if you want to prioritize queue ordering over queue call throughput
- The situations identified where we break queue ordering are
- If an agent becomes ready while a customer has been called back but has not yet accepted
- If an agent becomes ready while a previous agent is being offered a call but has not yet picked up
- If multiple QCB calls are being called back and they individually accept their callbacks in a different order.