How to troubleshoot AWA round robin assignment issueSummaryThis article will brief on how to troubleshoot Advanced Work Assignment(AWA) assignment issue? especially for round-robin assignment scenario.InstructionsBefore diving into the details of how to troubleshoot round-robin assignment issues with AWA, let's pause for a second and understand what is round-robin in AWA. Round-robin assignment: With AWA, we don't have any OOB "Assignment rule" named as round-robin. By default, in OOB, we get "Chat - Most Capacity" assignment rule as shown in the below screenshot, Here, you can change the "Assign by" to "Last assigned", then system will try to perform assignments in a round-robin fashion. That is when there are 3 agents(A1, A2 & A3) available, and there are 3 work items(W1, W2 & W3) for the assignment, then the system should assign W1 item to Agent A1 W2 item to Agent A2 W3 item to Agent A3 But we have observed that though 3 agents available, the system assigns out all 3 work items to the same agent as below, W1 item to Agent A1 W2 item to Agent A1 W3 item to Agent A1 This is against the round-robin assignment strategy configured on the assignment rule. When a customer is running into this situation, we can perform the below steps to verify what's happening with AWA assignment. Theories: The round-robin strategy will not be honored when there is only one agent availableThe round-robin strategy will not be honored when there is only one agent available and having the capacityThe round-robin strategy will not be honored when there is mandatory skills enforced on the assignment rule as below and only one available agent has the required mandatory skills and having the capacityThe agent doesn't have access to the document, Having access to the record As per the above theories, during these situations, the one agent will be assigned items at the same time until his max capacity, thus round-robin will not be followed. Suppose imagine, an agent A1 got work item offered to him until his maximum capacity(3) as shown in the below screenshot, Let's see how to rule out these theories one by one to find out what's causing the issue with the round-robin assignment. A. Agent availability: You can find the agent availability at a certain point in time via looking into awa_agent_presence_history table. For example, in the above sample scenario, agent A1 got 3 work items offered at 25-Jan 3:46 am, then we need to check the agent availability in the awa_agent_presence_history table around that time period. For example, looking at below screenshot shows the data between 21:00 24-Jan till 05:00 25-Jan, When an agent becomes online, the system will make an entry on this table. Also when an agent becomes offline, the system will make entry into this table. Looking at this history, you will be able to find out which agents were available at a point in time. If Agent A1 is the only available agent, then that agent will be assigned with all the work items until his max capacity. If there is more than one agent available, and still round-robin was not followed, then we have to check the next 2 theories. B. Agent Capacity: You can find the current capacity of an agent from awa_agent_capacity table. Here "capacity in use" refers to his current workload. Capacity refers to his maximum capacity. The maximum capacity comes from Service Channel's default capacity unless the agent has capacity overridden at the channel level. If only one Agent 1 has some bandwidth, that is, if max capacity = 3, but "capacity in use" = 0, and other agents has "max capacity" =3 and "capacity in use" =3, then the system will consider only agent for assignment, and it will assign 3 work items in one go instead of the round-robin. If the issue happened in the past, then we can not find the capacity of the agent at point time from the "awa_agent_capacity" table. We have to look at the node logs. You can check with the below keywords on node logs as shown in the screenshot, This will give an indication on what is the capacity of the agent at a point in time backwords. If an agent has full capacity, it will show workload as 0. If only one agent has capacity then checking the above information will settle the issue. Else, if there is more than 1 agent that has capacity then we need to check the next theory. C. Mandatory Skills For the work items document record, check what skills required for it. The document record can be incident/case or interaction (for chat). For the affected work item, copy the document record number, for example, CS36559811, and go to task_m2m_skill table and filter for it as shown below, This will tell what are the skills required for the task to be picked by up an agent. Now we know the skills required for the document, let's find out whether the available agent has those skills. You can find this via going to the table sys_user_has_skill and filter for the agent. If an agent has the required skills, then the system should consider him for assignment. D. Access to the document: There is a possibility that the agent is available, having capacity, having mandatory skills, still, the system may not consider the agent for assignment. That is, when the agent doesn't have access to the document record due to ACL, or before query BR, etc. Related LinksThis article is in draft state, considering its importance for other engineers publishing it internally, after some cleanup, we can make it public.