cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1251
Views
10
Helpful
10
Replies

UCCX script logic using day of the week/time of day

Bwilson13
Level 1
Level 1

Hello all,

I've created a new script in UCCX which includes day of week and time of day step. I think that the logic is sound but looking for any guidance if it isn't? Also the Agent step has certain conditions based on the status of the agent (e.g., ready, not ready, talking). And I assume that the "If" steps I included are necessary for the expected outcome of how the call needs to routed?

The validation of the script was successful.

Bwilson13_0-1670378483458.png

Thanks,

Bruce

1 Accepted Solution

Accepted Solutions

You're misunderstanding how the queued branch works. You're already in queue waiting for an agent to become available. You don't need to loop back outside of that branch. So I would get rid of most of your If checks except for the first one sending you to VM. I would add a label at the very top of the queued branch "QTreatment" I would play some music an a please hold message and loop around in the queue checking on every loop if agents are still logged in. This is a very basic suggestion, but hopefully gets you on a better path as your script is not using best practices.

david

View solution in original post

10 Replies 10

Dmytro Benda
Spotlight
Spotlight

Hi Bruce,

On my mind your script logic seems to be completely sound. Time of day routing looks to be ok. As for the If steps you mentioned - typically the way you implemented them is used in overflow routing. Simply put, if there was always an agent available, there would be no need for queuing and there would be no need for overflow queues or overflow treatment. Life for the scripter would be very good - but we do not live in this kind of world, right? ) 

The decision to overflow is based on high queue duration times or high expected queue times. And this is what you tried to implement with your If and Get Reporting Statistics steps. So all seems to be done quite logical. 

My Cisco Unified Communications Blog

Hi Dmytro,

Thanks for the response and insight! I have a total of 6 agents and at any given point in time during business hours, they all could be on a call or unavailable. Would it make sense to move the if steps under the connected branch or just keep the existing overflow logic?

Thanks,
Bruce

Hi Bruce, 

Actually your If steps should stay in the Queued branch (where they are now). You go into the Connected branch only in case if the Agent answers the call. So no sense to use If steps there. 

My Cisco Unified Communications Blog

A very minor point to just clean things up a bit. You don’t need the hours check on the weekends as it seems like you’re always closed so that can be deleted. Next is your queue logic. Where you have it is fine, however what exactly are you trying to accomplish? Additionally, note that your XYZAgent variables are only set once so if a call enters the queue and all of a sudden all agent log out you would not know this. So you might want to loop back around to ensure you have the latest information. However, what exactly are you doing in there because it seems very overly complex for just 6 agents.

david

Thanks, David! The rest step "After Business Hours 6 pm - 7 am" acts as a catch all right? So to your point the hours check for "Weekends" is unnecessary. To your next question, ultimately when any support call comes in it should ring the next available agent. And if there are no agents available go to voicemail. That's during our business hours. Outside of business hours and over the weekends, forward to an overflow help desk number.

I'm all for simplifying the script.  

Bruce

Can you expand the if nodes and post a shot of that?

david

Absolutely.

Bwilson13_0-1670430976190.png

 

You're misunderstanding how the queued branch works. You're already in queue waiting for an agent to become available. You don't need to loop back outside of that branch. So I would get rid of most of your If checks except for the first one sending you to VM. I would add a label at the very top of the queued branch "QTreatment" I would play some music an a please hold message and loop around in the queue checking on every loop if agents are still logged in. This is a very basic suggestion, but hopefully gets you on a better path as your script is not using best practices.

david

Full transparency here - I'm not a UCCX expert but I appreciate the clarification on how queuing works. If I'm only looking at when Agents are logged in, does that also take into account agent states? For example "not ready" or "talking/on a call"? I'm trying to avoid overloading our agents if they're already assisting other customers.

Thanks,

Bruce

Yeah no worries, we all started some where. You have to account for that logic to push the call to VM when agent state = X. So, you will need to add that. My post was trying to give you a very very basic queue treatment so you better understand how that works and build from it.

david