Allocation Algorithms
Different algorithms are used in these two different situations:
- No queue - A request arrives in a queue (no other requests are waiting in), and this request can 'choose' among several ready agents (agents with capacity and skill to receive a request from this queue).
The agent with the highest skill score ("best") on this queue (which equals the level on the media type and the ordinary skill(s) the queue consists of) is chosen, but if more than one agent has the same skill score on the queue, the agent with fewest connected requests ("least busy") is chosen, and if more than one agent is least busy, an agent is chosen based on one of these algorithms:- Time of allocation:
Choose the agent that it is the longest time since last was offered a request - Finish time:
Choose the agent that has been ready for the longest time.
(In this case, an agent's timestamp is updated both when a request is offered and when a request is ended, so that we can pick the 'correct' agent)
- Time of allocation:
- Queue - an agent becomes ready (ends call wrap-up, finishes a chat, logs on, ends pause) and no requests in queue are reserved to this agent, but requests are waiting in at least 2 queues the agent can answer:
- Standard:
Choose the request with the highest SLA-score amongst the queues the agent can answer.
(If SLA Overflow is configured, this has an impact on the allocation.) - Alternative:
Choose the request with the highest SLA-score from the queue(s) the agent has highest skill score on.
- Standard:
Please contact Puzzel support if you want to change algorithm.
Does Puzzel offer more than 1 request to an agent at the same time?
When an agent logs on to queue, ends pause or becomes ready after wrap-up or after ending a written request, Puzzel usually allocates one request (call or written request) to this agent, even if the agent has capacity for several written requests and agent can receive a call while having written request(s). When this first offered (written) request is accepted by agent, then we might allocate a new request to the agent if the agent has 'capacity' for more and other agents are not 'first' to receive the next written request.
If a written request is waiting in queue with the agent becoming available as 'reserved agent' and a call is waiting in a queue that the agent has skill on, we will usually send the written request to the agent first, and within 1-2 seconds we might also offer the call unless the agent's setting was Block phone if > 0 written requests. With Block phone if >1 written request, agents may experience having a call ringing and an offered written request blinking in the agent application at the same time.
Chats/written requests randomly temporarily 'stuck' in queue when agents are Ready?
If an agent has status "Ready (0)" but has closed the Puzzel web browser, and a chat (or any written request) in queue is allocated to this Ready agent, we show a "+" next to the agent's status - "Ready (0+)" - and in this case it stays like this for about 2 minutes, before the agent's status again is shown as "Ready (0)" and another Ready agent gets this chat/written request.
When a Ready agent is offered a chat and the agent's web client is available, the agent either accepts it, rejects it (agent status becomes "Busy (0)"), or it ends in alerting timeout after 30 sec (agent's status becomes "No answer (0)") so that it's sent to the next agent.
There are several Logon to queue properties to automatically log off agents that forget to do it, e.g. Automatic logoff after 5 errors for written requests which is on by default.
We recommend turning on 'Automatic logoff if agent application has not sent 'heartbeat' for x minutes (0 = off)' if several agents forgets to log off (or click pause) when they leave their seat. If you in report Details per agent per queue see that an agent has several chats reported in the optional column 'Set-up time-out' (or Error), it's likely that the agent has closed the browser while being logged on.