Genesys Cloud - Main

 View Only

Discussion Thread View
Expand all | Collapse all

ACD Inbound Whisper Best Practice

  • 1.  ACD Inbound Whisper Best Practice

    Posted 07-04-2023 21:12

    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!


    #Routing(ACD/IVR)

    ------------------------------
    Carron Klassen
    Concentrix Solutions Corporation
    ------------------------------


  • 2.  RE: ACD Inbound Whisper Best Practice

    Posted 07-06-2023 13:39

    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.



    ------------------------------
    Blake Anderson | Sr. Telecom Engineer
    BEST BUY CO., INC.
    ------------------------------



  • 3.  RE: ACD Inbound Whisper Best Practice

    Posted 07-11-2023 15:32

    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



    ------------------------------
    Paul Simpson
    Eventus Solutions Group
    ------------------------------



  • 4.  RE: ACD Inbound Whisper Best Practice

    Top 25 Contributor
    Posted 07-06-2023 18:27

    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.



    ------------------------------
    Anton Vroon
    ------------------------------



  • 5.  RE: ACD Inbound Whisper Best Practice

    Posted 07-07-2023 11:47

    Thank you both so much!



    ------------------------------
    Carron Klassen
    Concentrix Solutions Corporation
    ------------------------------



  • 6.  RE: ACD Inbound Whisper Best Practice

    Posted 09-28-2023 13:10

    @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
    HMC3 LLC
    Senior Contact Center Engineer
    pete.schroeder@hmcthree.com
    ------------------------------



  • 7.  RE: ACD Inbound Whisper Best Practice

    Posted 09-28-2023 13:36
    Edited by Brian Jones 09-28-2023 14:00

    @Pete Schroeder - Unless Anton has a different method, you would simply:

    1. Assign that TTS Whisper text field to a variable when you do your table lookup; for example, Flow.WhisperTTS
    2. Change your Set Whisper Audio node to an Expression and use the ToAudioTTS function to have the system play your TTS whisper instead of an audio file; for example, ToAudioTTS(Flow.WhisperTTS)

    It's worth noting that we:

    1. Have a [Y/N] WhisperFlag field in our data table in the event we don't want a whisper at all for a particular table row. It's simply a IsNotSetOrEmpty(Flow.WhisperFlag) decision right before the Set Whisper Audio node.
    2. Capture the caller's language in our language menu and assign that to a variable so agents would know what language the caller speaks; for example, Flow.WhisperLanguageTTS
    3. Put a fail safe in just in case someone enabled the whisper flag, but forgot to put the TTS in the data table, or just wants a default whisper TTS to play.

    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
    ------------------------------



  • 8.  RE: ACD Inbound Whisper Best Practice

    Top 25 Contributor
    Posted 09-28-2023 16:20

    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.



    ------------------------------
    Anton Vroon
    ------------------------------



  • 9.  RE: ACD Inbound Whisper Best Practice

    Posted 09-28-2023 16:29

    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).



    ------------------------------
    Brian T. Jones | Ascension | Senior Specialist - Technology
    ------------------------------



  • 10.  RE: ACD Inbound Whisper Best Practice

    Posted 09-29-2023 10:58

    Hey, Anton!

    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.

    Thanks!



    ------------------------------
    Paul Simpson
    Eventus Solutions Group
    ------------------------------



  • 11.  RE: ACD Inbound Whisper Best Practice

    Top 25 Contributor
    Posted 10-01-2023 16:26

    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...



    ------------------------------
    Anton Vroon
    ------------------------------



  • 12.  RE: ACD Inbound Whisper Best Practice

    Posted 10-02-2023 10:49

    Thanks, Buddy!

    I'm sorry to put you to the trouble. I was being lazy and thought you would know off the top of your head. 😬



    ------------------------------
    Paul Simpson
    Eventus Solutions Group
    ------------------------------



  • 13.  RE: ACD Inbound Whisper Best Practice

    Posted 10-03-2023 16:55

    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!



    ------------------------------
    Pete Schroeder
    HMC3 LLC
    Senior Contact Center Engineer
    pete.schroeder@hmcthree.com
    ------------------------------



  • 14.  RE: ACD Inbound Whisper Best Practice

    Posted 10-03-2023 17:01

    Yes sir - that will definitely work as well :)



    ------------------------------
    Brian T. Jones | Ascension | Senior Specialist - Technology
    ------------------------------



  • 15.  RE: ACD Inbound Whisper Best Practice

    Posted 07-07-2023 11:52

    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.



    ------------------------------
    Brian Jones | Ascension | Senior Specialist - Technology
    ------------------------------



Need Help finding something?

Check out the Genesys Knowledge Network - your all-in-one access point for Genesys resources