01-19-2017 08:44 AM - edited 03-19-2019 12:01 PM
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:
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.
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.
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!
01-19-2017 10:33 AM
Verify the CSQ variable has the right queue name. Have you tried to debug the script in the editor?
Brandon
01-19-2017 01:08 PM
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)?
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide