Genesys Cloud CX

 View Only
Discussion Thread View
  • 1.  Conditionally playing an audio prompt within an In-queue flow

    Posted 02-03-2023 10:43
    Hi all,

    I'm relatively new to Genesys Cloud and have a question about playing an audio prompt based upon a condition. I'll try to explain the scenario.

    One of our Service Desks typically updates an IVR prompt to alert callers of any outages or degradations within the environment. This IVR message is played up front before callers select an option to enter a Queue. What the desk wants is this, if this prompt is not blank audio or is greater than say a few seconds, they want this same IVR message/prompt played to callers in queue as their call sits and waits. Use case being, if say 100 callers enter the queue before that front end IVR prompt is updated, those callers sitting in queue never hear this "outage message" that was recorded.

    So my question is, is there a way within Architect to check if the audio prompt file is not silence or if the file is > a few seconds and then play the audio file if so? If those conditions are not met, then we don't want to play the file.


    Hold Music 30 seconds
    Conditional audio prompt play if the audio file isn't silence or is only a few seconds in duration. (believe either approach will work for us)
    Hold Music 30 seconds

    Hope this makes sense. Thank you in advance.


  • 2.  RE: Conditionally playing an audio prompt within an In-queue flow

    Posted 02-06-2023 02:30
    Hi Shane,

    maybe the find user action can help you:
    It looks up a prompt by name and if it is found you can play it. If you want to also check the length of that audio prompt you will have to make usage of data actions. The API endpoint /api/v2/architect/prompts/{promptId}/resources returns the lenght of the prompt, so you can use this to determine the length.

    BR Peter
    Genesys - Employees

  • 3.  RE: Conditionally playing an audio prompt within an In-queue flow

    Posted 02-06-2023 08:33

    Easiest would be use the Find User Prompt action, although you would be required to rename the prompt or change the audio to blank when you don't wanna use it.

    If going down the Data Action route, you could just as well use a Data Table which allows you to enable/disable the prompt and select which prompt should be played.
    This is what we use when customers wanna enable different messages on for example outages.

    Jan Heinonen
    Contact Center Specialist
    GlobalConnect AB

  • 4.  RE: Conditionally playing an audio prompt within an In-queue flow

    Posted 02-06-2023 09:07
    Going to second the data table idea as we use it quite successfully for the same purpose you've described.  You can grant access by division to data tables as well, so you could potentially expose just the one to allow the desk to control it if desired.

    Bethany Han
    Business Application Expert
    Blue Cross and Blue Shield of North Carolina

  • 5.  RE: Conditionally playing an audio prompt within an In-queue flow

    Posted 02-07-2023 09:52
    Thank you all for the suggestions! They are very much appreciated.

    I do have the data table approach working and can choose to conditionally play the audio prompt based upon the table being updated.

    I also plan to explore Peter's suggestion of a Call Data Action. If I am understanding that approach correctly, we could use a Call Data Action that retrieves the length of the user prompt and then set a condition to only play the user prompt if the file is greater than xx seconds.

    On using this approach, does anyone have an expression that I can use with a Decision step to determine if the user prompt is longer than say 5 seconds? I'll research expressions in more detail myself and report back if I learn the proper format.

    Thanks again.


  • 6.  RE: Conditionally playing an audio prompt within an In-queue flow

    Posted 02-07-2023 10:25
    If I am understanding your use case correctly then you can achieve your objective simply by updating the prompt.

    Would this solution achieve your objective?

    1. Suppose the name of the prompt the Service Desk updates is OutageAlert. Start by uploading a .wav file that is 100ms silence to this prompt.
    2. Play this prompt in both the main IVR and the inqueue flow using the Find User Prompt action (so you don't have to republish the flows each time you upload an audio file to the prompt in order for the changes to take effect). It gets played in each flow every time. It plays silence at the outset.
    3. Service Desk uploads a .wav file with appropriate verbiage to OutageAlert whenever an issue arises. Now a caller hears this verbiage in both the main IVR and the inqueue flow as soon as the upload is complete.
    4. Service Desk uploads the .wav file with 100ms silence when the issue is resolved. Now the caller hears 100ms silence in both flows.

    Waqar Mahmood
    Herbalife International of America, Inc.

  • 7.  RE: Conditionally playing an audio prompt within an In-queue flow

    Posted 02-07-2023 10:54
    Hi Waqar,

    Yes, in most of our cases I believe the above solution would take care of things. Unfortunately we have one other Service Desk that typically records their up-front IVR message daily and it says something like "Today is Tuesday, Feb 7 and all systems are operational". Usually very short unless there is an outage or significant degradation event. In that case, they re-record this announcement and describe what is happening in the environment.

    I was hoping checking the file size or length of that specific user prompt would allow us to only dynamically play the up-front message in the event of an outage.

    If we can use a Data Action to pull back the length of the user prompt in question, then I believe we can use a Decision to determine whether to play or not? I very well may be over complicating things :)

    If the data action works as such, then I think all I'd need would be an assist on the Expression to check if the User Prompt is > xx seconds. Play user prompt audio if true, do not play if false sorta thing.

    Thanks again for all the feedback and great suggestions.


Need Help finding something?

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