Showing results for 
Search instead for 
Did you mean: 

UCCX Script -Evaluate call in attention queue


Hi all.

Is it possible to evaluate a call that enters a queue in UCCX, if the agent does not answer it and by Timeout it returns to the queue, but instead of returning to the queue, can it be redirected to another destination at a certain time?
I am using call consult transfer but it doesn't work.

Sample Image:



2021-08-09 11_22_56-Cisco Unified CCX Editor.png

Thank you

1 Accepted Solution

Accepted Solutions

Yes, saving that value (or something that flags it) in a custom call variable is the right way to be able to report on it. That said, I still think your test in the IF statement is not structured correctly which is why you aren't getting the results you expect.

View solution in original post

13 Replies 13

Hello Pablo, verify your destination option in call consult transfer, also follow the track of script is taking enabling a debug. Could you please share your LABEL 4 and LABEL 2 configurations.

I have a similar configuration and it´s working.


Juan Carlos Arias


Thanks a lot.

I share the script with you, because I still cannot make the call be evaluated when the agent does not answer it, at night if an agent does not answer the call, instead of returning to the queue, they want it to be redirected to an external number . This is a test, when I get the call to be evaluated, I see the redirection.

First off, I would not do a call transfer to another queue. Consult or blind, this script would loose all visibility of this call once that transfer completes. You can queue a call to multiple CSQ's, but you need to be aware of the impact this has on reporting. It would cause an increase in dequeues in your reporting.

It looks like you are doing an automatic connect in the 'select resource step', so you can only end up in the queued branch if the connect fails. You could set auto connect to false, and set a flag in the 'selected' branch to indicate that the call has been offered to an agent. Then you could check that value in the queue branch and increase priority, queue them to another CSQ, or whatever is appropriate. Just be aware that if you are swamped and all agents are talking when they are supposed to be talking, you can't script something that makes more agents magically be available.

Edit: if you don't automatically connect, you need to do a 'connect' step in the selected branch of 'select resource'.

You would not have an example.

This change would only be at night where there is 1 agent available. It happens that sometimes the agent does not answer the call and the state in finesse remains in unanswered call, and this state is not changed automatically, this is validated with the Cisco TAC. Then, it would be to check if the hours are from 00:00 to 07:00 and if the call is not answered, that it does not return to the queue but is redirected to an external cell phone.

This is possible?



This is a human factors problem, not a technical problem. I have seen numerous attempts to fix these kinds of human factors problems in over 20+ years working for Cisco partners, and they all failed. You can perhaps do something like have the script send email to a distribution list when queue times exceed a certain amount, or try to get Finesse/UCCX to generate a warning when an agent sits in not ready for a defined amount of time. You can't force a person to pick up the telephone, and this is a worst case scenario for UCCX.


The only other idea I can think of is that if the script can tell that the call has been offered to an agent (based on the changes I described earlier) and the wait time exceeds some defined amount, send an email to a distribution list which will hopefully get the attention of the agent or someone that matters.

Sorry, got carried away on my human factors rant. Yes, the idea of having the script check times and redirect calls during a certain time frame is viable. You just need to be sure that the number to which you are redirecting is available in the CSS of the CTI ports that will be used. My suggestion would be to use a translation pattern as the target of the CCX transfer. Then you could edit the translation pattern if the external overflow changes instead of having to edit the script.

I was able to make the query for waiting time. Now I found the query I need but it doesn't work for me.
With the query STEP I bring the status with the agent's reason. I save that value and I see that it is of the following format:

2021-08-10 08_38_38-Get Reporting Statistic - C__Users_Beraldi.P740.AR_Documents_ACA_SALUD-AVALIAN_A.png

Testing value



if (Testing == "{32763=1}")



2021-08-10 08_46_45-Cisco Unified CCX Editor.png

I don't understand why you have the squiggly brackets in that test. That test should just be IF (Testing == 32763). If you do a reactive debug, what value does the variable Testing have?

What I did is see what value the "Testing" variable gave me, for that I save it in a custom variable and when I go to see it through the CUIC I see the value that way.
Sample picture:


2021-08-10 12_52_16-Cisco Unified CCX Editor.png

2021-08-10 12_49_12-Cisco Unified Intelligence Center.png

So try the IF as shown. That is the value of the state when an agent does not answer the call. Which is precisely the state that interests me.

Yes, saving that value (or something that flags it) in a custom call variable is the right way to be able to report on it. That said, I still think your test in the IF statement is not structured correctly which is why you aren't getting the results you expect.

Thank you very much for your help.

I solved it by substreaming the Value and leaving only the first few numbers.

I will continue investigating because it does not allow me to query the entire string.


Glad you have it working. I still don't understand why you are trying to work with a numeric and compare it as a string. That seems way more complex than it needs to be. I am sure that not ready code is an integer. Why not just compare it as an integer?

I'll tell you a bit. The claim is made at night when there is only one agent available. This when a call arrives and does not answer it, the finesse state remains in "unanswered call". This state does not change again automatically, but if the agent does not make himself available this does not happen. Validate this last point with the Cisco TAC.
Now, what I have to do is that if a call comes in and the operator is in that state, the call is redirected to a mobile phone.

That is why it was the option to validate when the agent is in that state, since if I validate when the agent is unavailable, this can happen when he is in break or in the bathroom-
I hope I can make it clear.

Thanks in advance

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: