Is there a way in uccx version 8.5 where I can put agents that are not ready to automatic log them out when the call center closes so a user isn't still on queue waiting for an agent to ready but the agent forgot to logout if there is way where can this be done in uccx?
You can configure CAD workflow for it, or better yet in your routing script you can check for hours of operation within a queue loop and treat the caller to after hours treatment if call passed hours of operation period.
Can you please tell me how can I configure the CAD workflow in order to lougout and agent instead of changing the state to Not Ready? When a call is presented to a ready agent and the agent doesn`t answer the call will be returned to the queque but the agent needs to be forced to logout instead of Not Ready..
That to my knowledge is not possible, as the agent state events can be triggered on either answered or dropped, and there would be no way to trigger agent state on RONA.
"Agent State actions can be associated only with Answered and Dropped events. The only valid agent states are Login, Logout, Ready, Not Ready, and Work." from http://www.cisco.com/c/dam/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/crs/express_8_5/user/guide/cda85ccxug-cm.pdf
The bigger question is why do you want to log out agents after RONA? I've done quite a few contact center deployments and never ran into such a requirement.
The reason that I want to logout an agent after RONA is becasue in our old Contact Center system, a call will stay in the queue only if agents are in Ready, Not Ready or Working states. When no agent is logged-in the call goes directely to operator but when in not ready state the call stays in the queque until one becomes available. But the way Is working now is that no matter if no agent is logged-in or in Not Ready state the call stays in the queque with a message stating "All our agents are busy"
Does UCCX see an logged out and not ready agent in the same way?
No, UCCX does not see them the same way, but you need to create logic to check if there are agents logged in if that is what your requirement is.
You do not want to log out agents on RONA, your script logic should look like this:
check if agents are logged in to given CSQ(use get statistics step)
if nobody is logged in, send to desired destination i.e. operator
if agents are logged, use select resource to select CSQ
if agent is available/ready call will be delivered to the selected agent
if no agents are ready call goes to queue where you build your logic to play announcement, MOH, and at the end of loop you can check if there are still any agents logged in to avoid infinite queueing in case there are no more agents
Logging out agent after RONA does very little to the actual caller, as there are other potential agents that can take the call.
This is how is done but the manager requires to have what they had in their old Call Center.
The Select Resource offers only two options:
If no agent is available the call stays in the queue for ever. What would be the best logic to send the call to operator?
It depends on the requirement, first of all do you have a check if agents are logged in before the select rescue step?
If so, then the call would only go to queue logic if there are agents logged in, but in not ready state only. So, you queue the call where you play some announcements and MOH, and if the requirement is to constantly check if there are agents still logged in add another get statistics step and if no agents logged in send to wherever, and if another requirements is to queue call for only X number of minutes and if nobody becomes available send somewhere you would need to check for loopCounter value and if greater/equal to pre-defined value send to wherever (i.e. assume your queue prompt and MOH takes 30 seconds and after 5 minutes call needs to be redirected, then your maxLoopCounter would be 10 as 5 min/0.5 min = 10, so if loopCouter => 10 redirect).
Are you queuing a call to all 4/8 CSQs at the same time?
if no, are you using the same script for all of them and simply change CSQ variable with specific CSQ name? If so the logic of this would check the count of agents under that CSQ variable and single check would apply to all.
Looks like you have independent queue structure for each option (CSQ), this is not very efficient as now to make one change (i.e. the one we are discussing) you have to replicate it multiple times. The best approach for constructing queue logic is to use variables as CSQ names, prompt names, etc. This way you have one common queue logic and upon specific menu selection to set the variables accordingly and then send to this common logic.
So, in your example you do have to replicate the additional logic across all of them.
I will try to restructure my script.
Is there any downloadable script at Cisco or any other places that I can use as example? If not can you please do the way you construct the queque logic for the first option in my script and then I will use that approch for the rest.
You can locale some good examples here on the script repository: