Hi everyone, hope all fine out there; I’m studying a method to dinamically change the agents the selectdn can choose from, when building the target.
I was thinking about something related to skills, where a certain skill inside a certain group of agents can be selected, instead of others. So, the idea is SelectDN[VQ,GroA,GroA1,GroAx] where skill in (Skill1,Skill2,Skillx).
The goal is to dinamically remove from target, agents who are near workshift’s end, so they’re cannot be selected as target an amount of time before the end of the workshift.
You know you can route based on the actual schedule right? So you can deliver interactions based on the activity that’s scheduled rather than skills etc.
Yes Terry, that’s it. So fine 'til the CreateSkillGroup function, then I should put the result in a var and use the var as a .GA value in the SelectDN; got it right? Ok, it should work fine… now the last step: how to assign skill to agent, from ird, using a var?
Thanks Dionysis, I know, but here the point is to dinamically change skill basing on a pre-assigned value that represents the agent’s workshift. So, basing on a table containing the cross reference between agent id and his workshift, the scheduling have to change dinamically and agents belonging to the same group should become selectable or not, as targets, from time to time. The trick is that agents belong to the same agent group, so I can’t no longer use the whole group as the single target, but I must partialize what the group contains.
You don’t assign a skill to an agent, skills are queries. You search for agents who meet a criteria. Why would you want to assign a skill? You already know who they are…
Why not better create skills with the values being their work hours?
Sure Cav, this point is quite clear to me, but it will not satisfy the needing, the way I think it; 'cause the goal is to remove agents from targeting a bit earlier than the workshift end hour, just to know the duration of the workshift isn’t enough. My idea is to create a table with the skill association in where I’ll assign a skill to mark them as selectable/not selectable basing on a schedule, to make the agent not selectable 10 minutes before his workshift’s end.
To make the long short, I would like to be sure the system does no longer select the agent even if he is in ready state, to avoid the routing of calls on that agent, if he is near the workshift’s end. I can’t apply a schedule to the whole group.
It can be done as you’re suggesting, creating some logic like “during this interval, don’t select these skills”, where the skill represents the workshift, but workshifts change frequently in the week, for the same agent.
I’m pointing to a possible solution (not working at the moment). Trying to use a stored procedure to dinamically update CFG_SKILL_LEVEL table @config DB, but it seems changes done directly in the table are not considered by URS, letting the level set in skill level value inside the person proprerties in cme to be the significant value. I mean:
I create a skill in cme, assign that skill with a specific level through person properties in cme, so I have a record in config db indicating person dbid/skill/Skill level. I change the level value in the db’s record, but nothing changes; CreateSkillGroup still selecting agent using CME skill value, instead of db’s changed value.
Hi Tambo, thank you for the reply. Got the logic, but can’t figure out how to use it. I mean, the goal is to make urs to createskillgroup using the skill level on db instead of the one in cme.
Following your logic I should use an expression like “skillname = (x - y)” where x is the CME value and (x - y) is the config db value?
Oh, ok, I see. But I must read the value somewhere, 'cause I have to choose only agents who can be selected. The idea was to change the skill level directly in Genesys Config DB to allow a stored procedure to do the skill scheduling based on the workshifts calendar.
em i wouldn’t advise changing the config DB directly, but that’s maybe just me. CME / GA may not update the new value quickly.
can i ask though why are you trying to find a technical fix to something that shouldn’t be a telephony issue. Surely agents know when they are going to finish and can go into not ready ?
Your point is right, but management wants an automatized system to avoid human operation, 'cause in my company it is seen as a point of failure (many times agents forget to logout and receive a call one minute before workshift’s end or so).
The only way I can imagine to do this is to create a data base containing a scheduling to change skill, so I can just use a SelectDN on target builded with createskillgroup. On the other side, we are studying a way to set a timer on Siebel integrated CTI phone bar to autoset logout/backoffice or any non frontend state, but siebel dev have got very long sla.
ok so only thing i can think of is you need to assign the same new skills to agents that are on the same shift length.
each of these skills then relate to a ListObject which has the length of shift in it -10 mins,
then you need strategy to look at is total logged in time greater than the amount in the ListObject, if so don’t route call.