cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
429
Views
0
Helpful
2
Replies

Can use some help with UCCE/ICM 11.6 dynamic IF node formula

Bill Mungaven
Level 1
Level 1

I'm trying something new where I'm trying to write a generic queue node to use with 10 different skill groups. I have a health department which has 5 different clinics each with an English and Spanish group of agents. Each clinic and language is a separate skill group. This is for a health care clinic (Department of Health Services, DHS, Primary Care Center, PCC). I have 10 separate skill groups: DHS.PCC.Adult.Medicine.English, DHS.PCC.Adult.Medicine.Spanish, DHS.PCC.Pediatric.Clinic.English, DHS.PCC.Pediatric.Clinic.Spanish, etc. Rather than writing 5 separate queue scripts, one for each clinic and using IF nodes to route to the proper language "Queue to skill group" node, I'd like to write 1 generic queue script and feed in the skill group and language to route the calls. I'm using PV1 for the clinic name, Adult.Medicine, Pediatric.Clinic, etc. and PV4 for the language, English or Spanish. The call first lands in a CVP script where the caller selects the language and clinic name and I'm passing that back to the ICM script. The ICM script has a series of IF statements based on the clinic name selected which routes the call through a call type then the call is sent to the generic queue script.

 

Within the queue script, I want to use an IF node to check if there are any agents logged on. If agents are logged on, send the call to an agent. If no agents are logged on, do something else.

 

In the IF node formula, I'm using this formula to check if any agents are logged on: concatenate("SkillGroup.DHS.PCC.",Call.PeriperalVariable1,".",Call.PeripheralVariable4,".LoggedOn)==0.

 

When I hit this node, even if there are agents logged on, it takes the true path indicating no agents are logged on. If I change the IF node to SkillGroup.DHS.PCC.Adult.Medicine.English.LoggedOn==0, it works every time, calls are sent to an agent. Something in my logic/formula isn't evaluating correctly or my formula is invalid.

 

I also tried this formula which didn't work either: (concatenate("SkillGroup.DHS.PCC.",Call.PeriperalVariable1,".",Call.PeripheralVariable4,".LoggedOn))==0

I also tried assigning the skill group name to PV7 (concatenate("DHS.PCC.",Call.PeripheralVariable1,".",Call.PeripheralVariable4) and passing that in using concatenate("SkillGroup.",Call.PeripheralVariable7,".LoggedOn)==0 but that didn't work either.

 

I was trying to find a log somewhere in UCCE which showed me if the concatenation formed properly or where the logic is breaking down but I don't know where to look.

 

Is what I'm trying to do even valid? I've tried a number of variations of the formula to see if I could find the right combination of things to get it to evaluate properly. 

 

I used similar concatenate statements to dynamically set call types and that works fine. If I bypass the IF node to check if agents are logged on or hardcode the skill group in the IF node, the "Queue to Skill Group" nodes work fine for dynamically routing the calls to the appropriate skill group based on the PV1 and PV4 values. It's just trying to determine if agents are logged in using the IF node that isn't working.

2 Replies 2

Piyush Verma
Level 4
Level 4

In 11.5, Cisco introduced Dynamic Queue to Skill feature - however they did not make that available in the IF node. Bottom line, it won't work. I kinda feel for you because it defeats the whole dynamic scripting purpose.

Like @Piyush Verma mentioned, I don't think this will work. This has come up in the past, like in this thread, which I think is what you're looking to do?

https://community.cisco.com/t5/contact-center/dynamic-variable-syntax-in-icm-script/td-p/3196368

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: