rival-black•2mo ago
DTMF Timeout follow default path
Having trouble implementing a DTMF to do what i want,
What i'm looking to do:
Message step "If this is an emergency, please press 1 now, otherwise stay on the line"
DTMF Custom Action step -> If user presses 1, follow that path. This works already.
If user does not press anything or say anything for 5 seconds, follow the default path.
^ I cannot find a way to do this though. Ideally don't want to make user press something if not an emergency as thats not as smooth.
I tried with JSON Payload for a timeout but that didn't work.
Already read this page but couldn't find anything about a timeout for the menu.
https://docs.voiceflow.com/docs/advanced-using-custom-voice-actions
Any advice or tips are appreciated.
Note, I know there are other ways to do this, but this is how my boss wishes it to behave, and will also want this when we enable french in the future. "e.g. Pour service en français, appuyez sur le deux", but otherwise just continue in english.
I know other customer hotlines have this and i've heard it on calls, just want to know if Voiceflow supports this.
2 Replies
At the moment the DTMF Custom Action in Voiceflow only reacts when it actually receives a key-press (e.g. DTMF 1, DTMF 2, …) or a spoken utterance that the ASR picks up.
If no event comes in, the flow simply stays on that Custom Action step until: • another event is received, or
• the global “maximum user silence” timer (3 minutes) is hit – this is a hard safety cutoff for all phone calls. The step itself doesn’t expose a per-prompt “no-input / timeout” setting, so you can’t tell it to fall through to default after 5 seconds of silence in the same way IVR platforms like Twilio Studio do. Work-arounds today ------------------ 1. Repeat the prompt yourself
• After the first DTMF Custom Action, add a Message that repeats the instructions (“…press 1…”) and lead back into a second DTMF Custom Action.
• After two (or however many) attempts, proceed down your default branch. 2. Handle the timer outside of Voiceflow
• If you are running Voiceflow through your own telephony backend (using the DM API), your server can start a 5-second timer when it receives the DTMF Custom Action trace.
• If no follow-up event is sent within 5 seconds, post a Custom Action request back to Voiceflow with type "default" (or any path name you defined) to move the flow forward. 3. Use speech instead of DTMF
Ask callers to say “emergency” instead of pressing 1 and rely on ASR time-out settings (min/max turn silence) to detect silence. This won’t capture keypad input, though. Because the feature you’re looking for (a built-in “no-input” timeout on the DTMF Custom Action) isn’t in the product yet, any of the above approaches are work-arounds rather than native configuration. Reference
Advanced – Using custom voice actions → “Set up a DTMF menu” (docs.voiceflow.com)
If no event comes in, the flow simply stays on that Custom Action step until: • another event is received, or
• the global “maximum user silence” timer (3 minutes) is hit – this is a hard safety cutoff for all phone calls. The step itself doesn’t expose a per-prompt “no-input / timeout” setting, so you can’t tell it to fall through to default after 5 seconds of silence in the same way IVR platforms like Twilio Studio do. Work-arounds today ------------------ 1. Repeat the prompt yourself
• After the first DTMF Custom Action, add a Message that repeats the instructions (“…press 1…”) and lead back into a second DTMF Custom Action.
• After two (or however many) attempts, proceed down your default branch. 2. Handle the timer outside of Voiceflow
• If you are running Voiceflow through your own telephony backend (using the DM API), your server can start a 5-second timer when it receives the DTMF Custom Action trace.
• If no follow-up event is sent within 5 seconds, post a Custom Action request back to Voiceflow with type "default" (or any path name you defined) to move the flow forward. 3. Use speech instead of DTMF
Ask callers to say “emergency” instead of pressing 1 and rely on ASR time-out settings (min/max turn silence) to detect silence. This won’t capture keypad input, though. Because the feature you’re looking for (a built-in “no-input” timeout on the DTMF Custom Action) isn’t in the product yet, any of the above approaches are work-arounds rather than native configuration. Reference
Advanced – Using custom voice actions → “Set up a DTMF menu” (docs.voiceflow.com)
rival-blackOP•2mo ago
is there a way to just implement all of this in a custom javascript block? Or is that beyond limitations of the JavaScript execution on voiceflow?