A place to ask questions, connect with others, and stay in the know
Hi all, Question on how you approach differing whispers.
ACD Inbound: 10 DID numbers that would end up flowing to the Same Call Flows, same queue. Half of them have their own individual whisper for that inbound call. AKA, DID/Whisper.
Is it better/cleaner to create a different call flow and overwrite the queue whisper for each? Is there a dynamic lookup approach I could look in to to keep the same Call Flow?
I am trying to keep it as simple as possible to a large build, but also learning best practices to make it clean and effecient.
Thanks in Advance!
You could create a switch in the inbound call flow that says something like: Case 1: Call.CalledAddressOriginal == "+15551234567"Case 2 Call.CalledAddressOriginal == "+14441234567" etc etc Which ever switch case matches, you put your specific whisper after and then transfer to ACD.
Just a quick point on this....
Genesys have created a rather "odd" operation with Switch. It can work in one of two ways. By default, it behaves like the Selection tool in PureConnect Handlers (essentially, a set of daisy-chained if-then-else statements) but it can also be configured to work in the same way as a Switch-Case in other languages.
In the Switch configuration, you can change the Evaluation Style to "Take the first case that matches an expression" which makes far more sense when you are comparing a single variable to multiple values, as you are here.
Now, one thing it DOESN'T allow for, is having "or" functionality (say you have two "versions" of each DNIS - Local and Toll free) but I created an Idea to add that and would appreciate your support! https://genesyscloud.ideas.aha.io/ideas/SSAAOB-I-18
Blake's option is definitely the way to go.
Another option is to use a data table, With the called address as the key and the prompt name as another column and do the lookup that way, handy if there is a large number of items and you don't want to crowd the flow with too many branches, and then you can just use 1 set whisper action and use a variable.
Thank you both so much!
@Anton Vroon I am looking to do exactly what you described using a lookup to an Architect Data Table. BUT take it one step further, we use TTS for most all our prompts, so I would like to have the text string as a column and use that to populate "Set Whisper Audio" tool in architect.Is this possible? If so could you provide some guidance on what the expression would be?Thank You in advance for any input !
@Pete Schroeder - Unless Anton has a different method, you would simply:
It's worth noting that we:
So our Set Whisper Audio expression actually looks like this:
If(IsNotSetOrEmpty(Flow.WhisperTTS), ToAudioTTS(Flow.WhisperLanguageTTS)+ToAudioTTS("inbound call"), ToAudioTTS(Flow.WhisperLanguageTTS)+ToAudioTTS(Flow.WhisperTTS))
------------------------------Brian T. Jones | Ascension | Senior Specialist - Technology------------------------------
------------------------------Pete SchroederHMC3 LLCSenior Contact Center Engineerpete.email@example.comOriginal Message:Sent: 07-06-2023 18:26From: Anton VroonSubject: ACD Inbound Whisper Best Practice
------------------------------Anton VroonOriginal Message:Sent: 07-04-2023 21:11From: Carron KlassenSubject: ACD Inbound Whisper Best Practice
#Routing(ACD/IVR)------------------------------Carron KlassenConcentrix Solutions Corporation------------------------------
This is what I would do.
One slight change/trick to avoid all the If IsNotSetOrEmpty checks, which I also use a lot, is to just set an initial value. That way if it is not set for any reason it will at least have a default value and you can reduce the amount of handling you have to do in the expressions.
------------------------------Brian T. Jones | Ascension | Senior Specialist - TechnologyOriginal Message:Sent: 09-28-2023 13:10From: Pete SchroederSubject: ACD Inbound Whisper Best Practice
Totally agree @Anton Vroon - Thanks for reminding me of that trick (as well as the reminder that I should stop procrastinating and go back to update each of my Initial Values accordingly, haha).
I'm being lazy here, but this would save me from setting up a test and checking this.. Does this mean that if a Data Table lookup fails (Not Found) then the variables are not touched (i.e. retain their previous values)? I had always assumed (yeah, dangerous, I know) that they would have their existing values cleared.
Had me second guessing myself there for a second, and threw together a quick test with a data table with some output variable with an initial value.
But yes, if you have a data table, and some Found Output variable has an initial value set, but it goes down the not found path, that initial value is still kept.
My understanding, and someone from Genesys please correct me if I'm wrong here, is that all the initial values are set when the task/flow starts, so regardless of the path it goes down it is set and the Data Table variable are only set on the found path.
If it does go down the found path, and the table has an empty value, then yes that empty value is written to the output, so effectively cleared, just ensure your table also has default values instead of blanks...
I'm sorry to put you to the trouble. I was being lazy and thought you would know off the top of your head. 😬
Hi All!BIG Thank You to you all for your quick & informative responses! I learned a few things! @Brian Jones you provided the last piece that I had not found on my own researching the community; ToAudioTTS(Flow.WhisperTTS)BUT, I also came across another way to do this.
This is from the "Set Whisper Audio" tool, the attribute Flow.Whisper_en is a string variable, directly from the Data Table Lookup tool.Works like a charm!Again, Thank You everyone!
Yes sir - that will definitely work as well :)
Blake is on the right track, however I concur with @Anton Vroon here. Our call flows reference data tables, one of which houses all of our inbound DID numbers and assign all of the appropriate attributes (whisper tone being one of them) to the interaction as it traverses the flow and subsequent tables. Handling our interaction flows this way allows us to provide either the same or unique call experiences for each DID--all handled through data tables instead of building multiple call flows or Switch Cases in Architect.
Check out the Genesys Knowledge Network - your all-in-one access point for Genesys resources
Every year, Genesys® orchestrates more than 70 billion remarkable customer experiences for organizations in more than 100 countries. Through the power of our cloud, digital and AI technologies, organizations can realize Experience as a Service℠, our vision for empathetic customer experiences at scale. With Genesys, organizations have the power to deliver proactive, predictive, and hyper personalized experiences to deepen their customer connection across every marketing, sales, and service moment on any channel, while also improving employee productivity and engagement. By transforming back-office technology to a modern revenue velocity engine Genesys enables true intimacy at scale to foster customer trust and loyalty.