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

Unified CCX Editor: Help altering a queue script for additional flexability

lkerznowski
Level 1
Level 1

Hey. So of recent, I've started digging into the UCCX Editor for our company. Long pre-face story short; we hired a company to set up or new phone environment and such months ago. The Parts department uses the UCCX interface, and we've had weekly complaints about it not working correctly per customers. Neither the other IT person or myself was properly trained by the company, so we had little understanding of how it was all working. Biggest issue was that they did not script in the music while on hold, so customers would sit in silence and thing they got disconnected. Also, we didn't know how the duration of waiting were working. I researched up, got the editor, started messing around, and figured those things out. This is the base script that we use (5 branches, all use the same base; different values for the CSQ for each:

TR_ICD_original

To my understanding, the queue would attempt to connect to ready agents. Assuming none, it would place the caller on hold for "DelayWhileQueued" (default: 30) seconds. If no agent was made ready during that time, the call would call back to the Branch receptionist. Working as intended now as I added in the "Call Hold" and "Call Unhold" steps myself so the person on hold actually hears the hold music. If this is not the correct way to do this, please let me know. I stumbled upon this while searching for information and it seems to work as we wish?

However, I'm looking to alter the script for our main branch. The smaller branches work with the one value since it's usually the case of either one or the other. At our main branch, however, people tend to make themselves ready by not switching off work status. It's causing a problem where if the delay is too short, too many calls are being sent to the receptionist; while on the other hand if it's too long there are too many calls being looped for long due to agent neglect for their Finesse Status.

I'm looking to script in that the first time a caller is placed on hold (when there is no agents ready) it'll wait for one Delay duration. If an agent becomes ready and they do not answer, I want all subsequent hold delays to be a lesser and different value.

  1. Call comes in to the Parts Queue
  2. Attempts any available Ready agents
  3. If the call is not handled: Place caller in hold state for 50 seconds while waiting for an avaliable agent
    1. If no agent becomes ready during this duration, the call falls back to the Receptionist
  4. Agent becomes incorrectly ready, call is rang to that agent and is not* answered
    1. Call returns to the hold state again, but this time (and all additional times) for only 20 seconds.

This would be in attempt to make sure that the caller is kept on hold initially for 50 seconds in hopes of an agent becoming ready, but if an agent incorrectly sets themselves, that the caller is not punished for an additional* 50 seconds each time. I've tried to script out what I believe would accomplish this, but once it's put into the Application Manager for that queue it throws an error to the caller without attempting either* giving the call to ready agents and/or placing the call on hold.

TR_ICD_adjusted

In my head this should work. I'm assuming it's something to do with how this scripting in UCCX actually works/applies/ect. A "firstQueueCheck" bool is initially created as 'true', and there are two separate delay values now (the original and the _2). I've also tried a different approach where the IF statement took place outside the "Call Hold" step in case that was the issue. The DelayWhileQueue was adjusted outside there and then it was similar to the original with just Prompt>Call Hold>Delay>Call Unhold>Fallback. That produced the same issue as well.

Any help or direction would be HIGHLY appreciated. Thank you!

2 Replies 2

Brandon Buffin
VIP Alumni
VIP Alumni

Verify the CSQ variable has the right queue name. Have you tried to debug the script in the editor?

Brandon

It's not the CSQ variable. On the original script the variable was left blank so that it had to be filled in manually for each branch since they're separate CSQs. I've tried this one with both a empty variable that I filled in on CCX itself and with the variable set correctly as well.

I have not tried to debug. Again, I've literally only been at this for a day or two poking around. It was becoming an immediate issue to get it fixed and figured out to work more intended... so now I'm working on tweaking it for the better of our use.

I'll look into debugging in there.

On face value, however, does it seem like that should* work? It's very possible I'm messing up something else in the process. Do the boxes on the Application Management > Correct Application screen actually have direct impact?

The original script had all the boxes checked except one for the queue prompt. I assumed the boxes just give you the ability to set/overwrite the variables from here. Also, since the original was a "template" for all the branches, all the information had to be manually entered in anyways.

This new one I set the variables in the Editor directly so I wouldn't have to type them in in UCCX every time while testing. Thus, when applying this script to the Application there aren't any of the checkboxes checked. Is this disabling them for some reason? (ie, not doing what I believe them to be doing)?