Skip Navigation
Expand
Routing chat requests to agents
Answer ID 1174   |   Last Review Date 07/22/2019

How do chat requests get routed to agents?

Environment:

Chat, Agent, Business Rules

Resolution:

When a chat is submitted by an end user it is inserted into the "Default Chat Queue" unless first acted upon by chat rules used to route the chat to another queue. If chat rules are in place, the chat is routed to the specific chat queue specified in the rule. Chat rules are different than incident rules. Once the chat has been routed to its proper queue, the chat will follow the process outlined here to be assigned to an agent.

The assignment of chat will occur using a specific algorithm. When a chat request is made the system creates two lists:
   1.  A list of waiting chats, and
   2.  A list of available agents with at least 1 available chat session

The list of waiting chats is sorted by longest wait time; therefore the oldest chat is served first. The list of available agents is sorted based on the last assignment time of the agent session. If agents are logged in and haven't had any chats during their session, each agent has an equal chance of receiving the first chat that comes in, regardless of the order in which the agents logged in. Once each agent has accepted a chat, then the router will assign the chat based on which agent has the oldest request for a chat. The longest waiting chat is assigned to the agent with the oldest outstanding request for a chat.


The chat assignment algorithm takes the following into consideration:


The chat assignment algorithm does not take the following into consideration:


Helpful examples for understanding the chat assignment algorithm:

  1. All agents login at the same time, all are available, none have taken a chat, then one of the agents will receive a chat session.
  2. Agent A has handled 1 chat, Agent B has handled zero chats, then the next chat in the queue will be assigned to Agent B.
  3. Agent A has handled 10 chats, Agent B has handled 5 chats, Agent C has newly entered the queue and is available, then the next chat in the queue will be assigned to Agent C.
  4. All agents have the same profile with max chats set to 3. Agent A is currently handling max chats/has no sessions available, Agent B has one active chat that was assigned at 8:10, Agent C has one active chat that was assigned at 8:15, then the next chat in the queue will be assigned to Agent B.
  5. Agent A has two active chats where one was assigned at 8:05 and the other at 8:15, Agent B has one active chat that was assigned at 8:10, then the next chat in the queue will be assigned to Agent B.


The Chat Assignment Algorithm and the Ignore Preroute attribute:

Please Note: If the conditional chat link (syndicated or standard) is deployed and the ignore_preroute attribute is enabled (set to 'yes'), then customers may be routed to a different queue than the one originally determined by agent availability (even a queue for which no agent is immediately available). This can conflict with the indication of availability expressed by the widget itself, leading to customer confusion. For this reason, the ignore_preroute attribute should be enabled only when necessary for achieving a specific business goal. For more information, refer to Answer ID 6523: Chat rules not working with ConditionalChatLink.


For additional information, refer to the 'Configuring Chat for Supervisors and Agents' section in online documentation for the version your site is currently running. To access Oracle Service Cloud manuals and documentation online, refer to the Documentation for Oracle Service Cloud Products.

Available Languages for this Answer:

Notify Me
The page will refresh upon submission. Any pending input will be lost.