We have a basic script that plays a prompt on the 'Menu' option that states "if you would like to leave a voicemail for one of our reps. press 1, otherwise continue to hold and someone will be with you" Then the script places the caller on hold then off hold and loops back to this menu.
My question is, is there any way to tell the script the user press 1 and route them to VM even after the script placed them on hold? I could see the caller choosing to remain on the line and then half through being on hold to decide to choose option 1 but currently the script will not let them until it loops back onto the menu and plays that prompt.
Any ideas/help would be greatly appreciated.
Not directly; however, there are two ways of emulating the "at any time" concept:
1) Instead of putting them on hold, Upload your MoH file to the Prompt Repository. Concatenate that on the prompt attribute of a Get Digit String step. You do not want to use a Menu step because it will ask "Are you still there?" at the timeout value after the prompt is done playing. Set the step to Interruptable = True and put your dequeue and redirect steps within the Success branch.
2) Do not clear the DTMF input buffer on your existing Menu step. The caller may press it during hold and the Menu step should utilize this input once you loop back to it.