IVR node: Voice recognition
How to use the Voice recognition node in the IVR workflow editor so callers can answer by speaking instead of pressing digits.
The Voice recognition node plays a prompt and records a spoken reply from the caller during a short window. The audio is automatically transcribed and the text becomes a variable you can use later in the flow (for example in a Branch or Condition node). It's useful when asking the caller to say something ("Tell us your name", "How can we help you?") is more natural than asking them to press a number.
Requirements
- The workspace must have the voice transcription service this node relies on enabled.
- Decide in advance which variable will hold the recognized text so you can reference it in later nodes.
Steps
- Open Settings → Channels → (your calling channel) → IVR workflow editor.
- Drag the Voice recognition node onto the canvas.
- Write the Prompt that plays before recording (e.g. "Briefly tell us how we can help you").
- Pick a voice and set the Max duration.
- Fill in Save transcription to variable with a name (e.g.
call_reason). - Optional: set a Language hint if you already know the caller's language.
- Leave Fall back to DTMF if recognition fails on unless you have a different plan for that case.
- Connect the output to the next node (e.g. a Branch using the saved variable, or straight to Route to AI).
- Save and publish.
Configuration
- Prompt: what's asked of the caller before recording.
- Max duration (seconds): how long it records after the prompt. Hard cap of 30 seconds, because the transcription step has a 10-second wait limit.
- Save transcription to variable: the name of the variable that holds the recognized text, for use later in Branch, Condition, or Route to AI.
- Language hint (ISO 639-1): a code like "es", "en", or "pt"; leave empty for auto-detection.
- Fall back to DTMF if recognition fails: if transcription comes back empty or fails, it's a good idea to route the call to a digit-based prompt as a fallback.
Example
In your opening greeting you ask "How can we help you?" with Voice recognition, save the answer to call_reason, and a Route to AI node uses that variable as context so the AI agent understands the request without asking the caller to repeat everything.
Tips
- Pair it with a Route to AI or Branch node that reads the saved variable to make decisions based on what the caller said.
- If you expect short, predictable answers (numbers, menu options), Wait for digit (DTMF) is usually more reliable than this node.
Troubleshooting
- Transcription comes back empty: the caller didn't speak, spoke too quietly, or the audio didn't arrive in time within the 10-second limit — make sure the DTMF fallback path is wired up.
- The variable shows up empty in later nodes: confirm the name in Save transcription to variable matches exactly what you use afterward.
Related articles
-
WhatsApp calls in Omnifox
Receive and make WhatsApp voice calls directly from the Omnifox inbox.
-
IVR, call queues and routing
Design voice menus (IVR), organize call queues, and connect your own PBX to Omnifox.
-
View call history and play recordings in the inbox
Find every call in the inbox Calls tab and listen back to recordings without leaving Omnifox.
-
Start a call from a conversation
Voice-call a contact without leaving the chat: the Call via WhatsApp button dials the call and logs it in the inbox.
-
Configure your call settings (device, microphone and SIP)
Get your browser, microphone and SIP connection ready to place and receive calls right from the Omnifox Inbox.