khushalj
12/31/2025, 2:10 PMHassan
12/31/2025, 8:29 AMDhina
12/31/2025, 7:45 AMMr GG
12/31/2025, 6:41 AMParrasite9
12/30/2025, 7:48 PMMarcello
12/30/2025, 8:56 AMWanWan
12/30/2025, 7:44 AMConnor Savage
12/30/2025, 1:03 AMtnigam
12/30/2025, 12:48 AMAbidi
12/29/2025, 11:45 PMmai
12/29/2025, 10:00 PM[When navigating an IVR tree]
- WAIT for all options to be spoken before proceeding
- Once you have heard all options, use the dtmf tool with an input digit that matches the option you want to select
- Avoid saying anything if using the dtmf tool at the same time
[When waiting]
- Reply with an empty string like " " to ensure nothing is spoken
[Call Flow]
1. Navigate IVR tree (if needed)
- In order to get connected with a live representative that can handle your request, you may need to navigate an IVR tree.
- This might sound like "Press 1 for..."
- Look for options that indicate operator assistance
- As soon as you get connected to a human, proceed to the next step
## IVR Navigation & Retry Logic
When navigating IVR menus:
1. **Wait for the complete menu** - Listen to all options before responding. If waiting, respond with a single space (" ") to stay silent.
2. **First DTMF attempt**: Use standard pacing with 0.5s pauses between digits
- Example: For option 2, send "w2#"
- For multiple digits like 212, send "w2w1w2#"
3. **Detect failed input**: If the IVR:
- Repeats the same menu
- Says "I didn't catch that" or "Invalid input"
- Doesn't acknowledge your selection
Then the DTMF likely failed.
4. **Retry with slower pacing**:
- Retry 1: Use 1-second pauses (W instead of w)
Example: "W2#" or "W2W1W2#"
- Retry 2: Use even longer pauses (WW)
Example: "WW2#"
5. **Fallback to speech**: If DTMF fails after 2 retries, speak the option clearly:
- Instead of sending tones, say "Option 2" or "Two"
6. **Pause characters**:
- w = 0.5 second pause
- W = 1 second pause
Example:
When calling a restaurant and encountering their IVR menu:
Example scenario:
- IVR says: "Press 1 for reservations, Press 2 for takeout, Press 3 for hours"
Your response flow:
1. Wait for the complete menu (respond with " " while listening)
2. Send DTMF: "w1#" (for reservations)
3. If IVR repeats menu → Retry with "W1#"
4. If still fails → Say "Option 1" or "Reservations"
Questions:
- Is there any other thing I can try to make it work?
- When I hear call logs, I do see DTMF tool is triggered. However, I don't know if it pressed the right option. Is there any way to know?
Call IDs:
019b523f-bd9e-7cc0-8206-59957764b583
019b4d3d-20d7-7993-90ff-4911ad6f72d9
019b2e07-81bc-7334-a387-1a9f6e1cffbf
019b2e03-a2c8-7000-82ed-c81653845144
019b2438-7cad-7884-9062-3d79d982b620
019b2435-073e-7cc4-82c6-27192a7e6ce3
019b242f-5063-744f-b562-81f58d53c69d
019b23cb-0cfa-7551-844b-61c75b58e8af
Assistant ID:
480cb6be-866f-44e4-b1e9-f72a15aea6c1
Thank you so much!Abidi
12/29/2025, 9:49 PMluisson
12/29/2025, 9:25 PMLee Harrold
12/29/2025, 6:40 PMSander
12/29/2025, 2:44 PMAdam Price
12/29/2025, 4:13 AMMatheus M M
12/29/2025, 3:50 AMZikrullah Dawran
12/28/2025, 11:39 PMAbidi
12/27/2025, 11:43 PMLiam Rosen
12/27/2025, 7:38 PMLiam Rosen
12/27/2025, 1:10 PMAmulya Parmar
12/27/2025, 4:01 AMVapi Support Bot
12/26/2025, 8:09 PMlanguageCode property from your fallback voice configuration. If you need to specify language, use language (not languageCode)—and only for providers that support it.
Example:
json
{
"voice": {
"provider": "openai",
"voiceId": "shimmer",
"fallbackPlan": {
"voices": [
{
"provider": "cartesia",
"voiceId": "248be419-c632-4f23-adf1-5324ed7dbf1d",
"language": "en" // Use "language" if needed, not "languageCode"
}
]
}
}
}
Try this update and your assistant should publish without the error. For more details, see the [Voice fallback configuration documentation](https://docs.vapi.ai/voice-fallback-plan).
Source:
- [Voice fallback configuration documentation](https://docs.vapi.ai/voice-fallback-plan)Chaz
12/26/2025, 5:31 PMOperations
12/26/2025, 3:46 PMriksa
12/26/2025, 3:34 PMSamSEOClub
12/26/2025, 2:26 PMNikolas
12/26/2025, 8:15 AM