Virtual Agent Academy: Routing work based on skills in Advanced Work Assignment (AWA)
as always check out our community site whoops check out our community forum site uh for the latest content go ahead and ask questions there and provide answers you're all experts now uh given that you are hopefully some of you are long-time va academy listeners and for you who are new you will soon be experts also uh check out um our youtube playlist if you're coming here from youtube and you like what you've seen click go ahead and click that like or subscribe button and check out our other videos all our va academy videos are posted on youtube uh within the week usually and uh yeah with that said i'm now going to hand it over uh to eliza today she'll be speak talking about routing work based on skills and advanced work assignments advanced work assignment is also how you route um your your users and your end users to your agents eliza is an outbound product manager also with conversational interfaces and uh with that i will turn it over to her awesome thank you so much victor so let me go ahead and share my screen give you a break awesome so as victor said my name is eliza and today we'll be walking through rounding work based on skills using advanced work assignment so what we'll be covering today is i'll just go through a brief overview of advanced work assignment how it works and then we'll actually go into an instance itself and i'll go ahead and implement just a basic use case so you guys can see with that said let's get started so what you're looking right now looking at right now is an overview of advanced work assignment or awa um on the left here you'll see service channels so this is where essentially the work starts from so where's your work coming from it might be you know you might want to work well requests you might look at incidents cases from both csm hr or chats themselves coming from virtual agent and going to a live agent so all these items come in and then they are turned into what are called work items now work items it's a table created within for awa to use and essentially which is the tokens that you use to represent your work with an advanced work assignment now what happens is it based upon the certain criteria that you outline these work items are then assigned to queues and it might be you work might come in and it's a hr case from a vip customer so you'll define the criteria that puts that work item into priority hr cases queue it might be you know a customer coming in speaking german um inside the virtual agent and when they eventually get routed to a live agent you can use that understanding that they're speaking german to route it to queue called german chat which is only meant by people who speak german so these are just some examples of cues that exist and they're entirely customizable based upon your organization's needs so if you're looking to implement advanced work assignment this is where you know your attention should be is figuring out what cue structure works for you now once the work answers the queues it will then be assigned to a particular agent based upon their availability capacity and skills so availability uh correlates to you know are they actually online and available or not um capacity looks at how much work they currently have and sees if you know you can actually assign them more because you don't want you know one agent with 50 cases and one agent only with working on two and lastly um you can also assign to a particular agent based upon their skill set which is what we're looking into today now for each queue you'll be assigning an agent group to that queue so which is what we can see on the right here now you can have multiple agent groups span multiple queues um it's just really again dependent on your organizational needs so again just to reiterate advanced work assignment is for routing your work in you know an intelligent manner using um like certain criteria to enter the queues and then assigning them to a particular agent based on those three um different criteria it's we see on the right there so moving on to the use case that we'll be looking at today so i'm going to be representing a vip customer i'm coming in and requesting live agent support now my chat will be converted into what's called the work item where we'll be looking to assign the required skill which is premier support so vip support that will be routed into the i.t chat queue and then assigned to an agent who has a skill and vip support which we call premiere support certified now with that said let's get straight into it okay so the first thing that we want to do is create the skill that we'll be assigning so if you remember from the diagram we're looking to create the premiere support certified skill which is essentially the skill that mandates you know how to interact with vip customers so what we're going to do is go to the skills list and we see that i've already created this skill here called premier support certified if we go into that it's active and what we need to do is assign our agent so our agent today his name is jake barnes and to add them in all you need to do is click on edit and add them in there so what we've done is just tying the skill to jake barnes we know that he has his premier support um skill set the next item we need to do is actually go and assign our agent jake barnes to the group that is to be um like managing the cues so if we go down here into the system groups so if you remember we're going to be manning the it chat so we have a group called it support if we go onto here we can see that there are two group members who man the it support chat jake barnes who is our agent with that premier support skill an able tutor who does not now what we want to do is ensure that this group actually has the roles we need they need to be left to leverage advanced work assignment so the first one is advanced work assignment agent and then there is also agent workspace user so these are the two roles that you need to ensure um anyone's using if you're using the advanced work assignment and the workspace itself so if you're having issues please double check that and now they both have these skills next up we're actually going to focus in on um associating the skills to the incoming work now with the plugins um there is a skill determination plugin which actually brings in a lot of what you already need so you'll just be looking to activate these so the first thing we're going to look at is the business rule also apologies i'm have covered right now so my throat's a little bit um stuck so what we're going to do is type in skill and you can actually see that there's skill determination for case skill determined for interaction and work order tasks and these will come out of the box of the skill determination plugin now let's go into this business role and see what it's actually doing here so if you look at the script down here what it's doing is looking at when items from the interaction table are created it runs this business rule which actually looks at that interaction record that just comment came in and looks at the criteria that we'll lay out next to assign this skill to that work item so this is saying okay if someone's coming into the chat speaking german we want to associate the german skill with that chat item so this is where um we do that so what we need to do is activate this as i mentioned before this actually comes out of the box all you have to do is activate it if you're doing um if you're routing things other than the case or the interaction record all you have to do is change the table here and create a new business role and this will work so now that we're actually running this business rule each time a new interaction is created we want to actually outline the criteria so when should an interaction record have a skill associated with it and that is posted in the skill determination rules section so you can see in here we have three um already created let's go into the premier support for chat so here you can see we've got the interaction table and what we want is whenever an interaction record which is just the parent class of chat is created and it's opened by a vip what we want is a certain skill to be associated with it and in this case we want the premier support certified aka the um like vip support skill now you can make it mandatory or not um in our situation you know it's not the bad it's not terrible if the person receiving chat doesn't have the skill set you know they can still talk to vips but our preference is definitely if they have this skill set so we're going to do more as a preference as opposed to a hard and strict rule so lastly we need to activate that and we can save this so again to reiterate this is where we outline the criteria of how to connect the enter a skill with the interaction record second of all and that business role is the one where we actually say hey go and look for a skill determination record for the interaction now so we have our skills being associated to our um incoming chats we then move into the advanced work assignment portion we will be going ahead and setting up a queue to manage those incoming requests so you can see here here's some sample cues that might exist within your organization and we're actually going to go to the it support queue so you can see the service channel so is set to chat so this is what items are coming in that we want to receive within this queue schedule is empty because and that just means it's available you know 24 7. um down here work item rounding conditions this is where you're outlining okay why should a chat come to this queue as opposed to you know the hr case queue or any of those other conditions right now i'll leave this empty um just so then every chat that comes in will actually be rather through this queue just for the sake of this example and what we are actually looking to do next is define assignment eligibility so this is how do we assign eight items that come into this queue to particular agents so if we click on you but what we want to do is define you know the agent assignment rule and the group that we'll be um assigned into so the assignment agent assignment rule which will go into a second basically says okay within this group i.t support how do we want to assign it to particular agents so let's save this and go on to that so this is assignment rule essentially it's saying like okay when items enter this queue how do we want to assign it to this particular agents within that group that we just defined so you can define rejection if they're able to reject it if it times out should we be able to reassign it to someone else but most importantly in our use case we want to enable skills so what this means is that we're actually going to be looking at the skillset associated to the work item and the skills that the agents have themselves um to try and map it to this particular agents when you're looking to route it awesome so at this point we have our queue all set up ready to go ready for an agent to um come in and you know receive those incoming chats so what we want to do is trying to move the tab up there it's actually i'm going to be representing the user coming in so i'm going to go to the service photo because i have an issue and i want to talk to a live agent on the other hand we have our agent jake barnes who's just logging in for the day and what he wants to do is go max itself and available to actually receive the chats that are coming in so he's available i'm a user marked as vip coming in oops and i'm going to go ahead and open the chat you can and i'm going to be asked you can contact the live agent straight away you can see that the child was related to jake barnes and he's able to accept it and then see all the details related so you know if i type hi you know that gets posted over here and we can start the chat now the question is how do we know that this was rounded based upon skills so the best way to check this is actually by going to let me just copy the table name let's go back to um i apologize let's go back into the instance itself and go to the interaction many-to-many skill table so this is where a record will be created if a skill was a state associated with your work item um there's also another table which is um like task many-to-many skill table which you can go to if you're associating skills with particular tasks and like we can see here it's a chat that was um actually let me add and the created date so we can double check that this was right now awesome um so you can see that when the chat was created the skill was associated with that interaction record and then we can go in and verify okay the skill was associated with it and that's why i was right to the live agent themselves um so that's generally it um i'm curious i see we've got a couple of questions let me see so the first question comes from chris so if you have a skill set is mandatory what happens if nobody with that skill is available so if the skill is set to mandatory it will actually um like hold it won't be assigned to anyone else until someone's that skill set becomes available so and since this is designed this way because it is um you know if we have someone coming in with this who needs someone else to speak german for example you know like you won't want to route a work item to that requires a german speaker to someone who doesn't speak german um so they'll be enforced um joe asks if we have 10 available agents in a queue is there an option to know which agent will get the next chat um so what it does is it makes the decision at you know based upon those three metrics every outline that the availability so who's available um then it looks at capacity like who has the most capacity um and then also the skill sets so likely what we'll be doing is let's actually go back to the queue and i'll show you because this is defined at the assignment rule level so this is where that will be defined joe um we're looking at the assignment rule here you define okay do you want it to be to the pers assigned to the person who was last assigned or the person who has the most capacity so this will be where you can kind of figure out who should be assigned next um there's also a feature called agent affinity which can be used which helps you route items based upon you know similar criteria such as you know has an agent handled a case from this uh person before have they worked on you know tasks that contain similar keywords um so you can leverage that as well to get a finer grain of details as to who actually should receive that routed item now anonymous asks how would we define a schedule for an agent with all the required skills should get order assigned or when he should not um potentially assign to another user that does not have enough skills okay so auto assignment as a feature is something that's actually coming up soon um but with regards to yeah so that'll be something that's coming in at light later release um anonymous so we can share the details on that later on because as of right now you need the person to be active and online to actually accept the cases so right now the k you know the cases won't actually be um you know they the person won't be available in the workspace to accept that item there so in their inbox so they won't be assigned it at all now project i i hope i said that right um is this functionality available in rome um in terms of advanced work assignment i believe it is out in rome um you might not have all the features that you saw today but at least like the skill-based routing context everything majority of things are available in rome for you to use um anonymous ass howard or chris from different channels beside chat router q so for instance request let's actually go to the queues list again so let's say you want to create um a queue for incidents that come in basically you'd be able to do it the same way that we did for chats what you'd be doing is defining the service channel for that item where you're just outlining okay um you know i want items coming in from incident table you know when it gets assigned to someone who which field should be used um for that to hold that assignment um so you outline incident and the service channel record you then go ahead and create a queue for that and then it's in here that you define the criteria so again if it's using incidents you might want to have high priority low priority cues and that's where you define that within the queue um just as a note you can actually route anything in advanced work assignment that derives from either the interaction or the task table so you can use your own custom tables um in this feature as well now kde asks is your priority given to each vip in other words can one vip have priority over another vip so the best way to answer that i feel is just by showing you the assignment routing so within the queue um itself you can define the work item sort order so this will actually sort the items as they come into the queue um so if you know like right now it's just like looking at the creation date so the items that they created first appear first in the queue but you can change the field that they route uh that they order the items within that queue based upon this work item sort order f um list down here so that's where you could define in terms of vip because it's like a true false thing that might be a little bit difficult but if you have differing you know like a choiceless potentially saying like okay this is top vip like number one vip number two vip that's where you could use this field and say i want items to be route um ordered based upon that i hope that answers that so with uh anonymous asks if we set everything in assignment eligibility um depending on the sign by criteria number of chats each agent take do we have the option to calculate who will receive the next chat um i so you can enable logs um to really kind of dig into the details of you know like how things are routed um but there's no there's no like as of right now i don't believe that there's a good reporting functionality on that to say okay this person um should be receiving this item next um and yeah so that's actually all the questions answered um i will say if you have any further questions after we've posted this on youtube please feel free to add questions add comments i'll be monitoring them anything that wasn't clear you know i'll try and help you out there um and also i do see that we've got a couple of extra items and the comments i think um victor did confirm that skill-based routing is available as of quebec um and [Music] would be possible to now are you asked is it possible to rub the incoming chat to the next non-skilled agent after certain wait time so it depends if you have enforced the um mandatory skills or not if it's not mandatory um then yes you can do that resign reassign on timeout functionality now to call us um for the service channel do you need a separate chat queue for scope applications like hr using advanced work assignment um no you do not i'm not i'm not 100 sure if i fully understand the question regarding like scoped applications but basically it's you know it's done in the global scope generally for this so you can you know have if you have like hr cases as a service channel within that um then you know like it will just grab all hr cases it's dependent on how you set up the service channels i could uh chime in eliza you're right you don't need it and most queues generally aren't global i think hr is a unique case because i know that sometimes what you discuss um you know with in an hr setting is probably not meant for say global consumption i use the term global loosely there so yes i would recommend generally to keep that chat queue separate in a scoped app and those interactions separate in an hr scoped app excited to know appreciate that victor so yeah i will say i mean yeah the um security rules that the acls and stuff that you define like they still hold true within um yeah like within advanced work assignment yeah unfortunately we are at time uh so eric asked uh can you quickly go to the skill determination rule please i'd like to see what you selected there that one we could probably address but for other questions i would uh direct you to our community forum so please ask the questions there and eliza and or i can can see them uh and some announcements uh in the end again knowledge is next week we will not have an academy on the tuesday after the us memorial day holidays i think that's 31st or the 30th that tuesday um so that's a holiday week but in two weeks after that which would be in june we will resume uh with academy with with a topic um you know coming coming soon so with that said thank you eliza for showing us this very cool again the recording will be available soon and uh if you get if you have any questions for free to ask them on our community forum with that thank you for your time everyone and i'll see you on the side thank you
https://www.youtube.com/watch?v=6jZ2L-N0R70