[SOLVED] Searching for a method to dinamically add/remove agents from vq target

i do agree with Cav though defo WFM

Hi, yes Tambo, at this point the only choice I have is through a pre assigned skillbyshift, but this will involve manual work, I fear. And yes, Cav, WFM will be the perfect answer, but it isn’t included within the suite we own.

Thank very much to you all for the help, now I’ll try a lot to see what I can get out of the hat.

Hi all… again! :slight_smile:

Where do I can find an exhaustive guide on skill expression for urs? I know I can use expressions like “skillname = skilllevel” with operators, but how can I select an agent who have just the “skillname”, so what is the syntax to tell “select the agent who have this “skillname”, no matter the value”? or select more skillnames, so the expression will be “select all agents with skillname1 or skillname2 or skillname3, etc.”, no matter the skill level.

Regards.

I’d use " Skill >= 0 " for that… (you need to specify a level) :smiley:
Or you can use an agent group and not specify a level.

URS Reference Manual could help.

Thanks n3vek7, I’ll try this way. An expression where “skillname1 >= 0 | skillname2 >= 0 | skillname3 >= 0”, and so on.

skillname can be a variable? or the real name of the skill is mandatory?

if the skill level is 0 then they wont get calls routed to them anyway, so would go with skill >0

real skill name should be specified as you are targeting specific agents for a specific reason

If agent has no skill then URS assumes that he has it with level 0. Skill>=0 will include all agents including those who are not configured with skill. Either use skill>0 or 8.x URS need to be used where it is possible just to check is agent configured with the skill or not no matter what is skill level

Split target selection in functions SelectDN, SuspendForDN, RouteCall. Check the schedule right before RouteCall when free agent found. Make the agent NotReady if it is too late. Go back to Suspend (or maybe Select).

Wow, thank to you all!!! great, great help. Think I reached a good point:

  • Table with genesys login id (unique, indexed), workshift endhour, group of agent the agent belongs (unique, indexed)
  • Oracle stored procedure to give as @out a cat string of all the selectable agents (login ids)
  • Assign to the agent the login id as a skill with value >=1
  • selectdn using a var containing the skill expression “loginid1 > 0 | loginidx > 0 | …”

Done! can be? :slight_smile: or am I too crazy?

At this point one last question… actually I use a single IRD var to cat more than 1100 chars, but IRD vars (7.5), has a limit? how can I check it?

There is no limits on size of values if string variables.
There is limit on size of string literals used in strategy, something about 1k.

Keys 1k values 4k

Enviado de meu E6633 usando Tapatalk

Thanks guys, all seems to run fire, here.

Sorry for writing into a solved thread. Verry confusing discussion, maybe I misunderstood everything. The shift of the agents must be stored somewhere in the database. So I would write a stored procedure selecting the agents with their shift ending in x minutes, return it as a comma separated list and then use it as parameter of the ExcludeAgents IRD function.