Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.vobiz.ai/llms.txt

Use this file to discover all available pages before exploring further.

Multi-level Interactive Voice Response menu with dynamic config and call analytics. XML elements used: <Gather inputType=dtmf>, <Speak>, <Redirect>, <Dial><Number>, <Hangup>

View on GitHub

Clone and run the full working example

Getting started

git clone https://github.com/vobiz-ai/Vobiz-IVR-XML-Python.git
cd Vobiz-IVR-XML-Python
cp .env.example .env
pip install -r requirements.txt
python server.py

Overview

A company main phone line that routes callers to Sales, Support, Billing, or an Operator via keypad input. Transfer numbers are updated at runtime via a REST API - no server restart needed. Full call analytics track which menu options are pressed most.

Call flow

/answer  →  Main Menu
              1 → Sales
              │     1 → Products & pricing (spoken)
              │     2 → Request a demo → Hangup
              │     3 → Connect to sales rep → <Dial>
              │     9 → Back to main menu
              2 → Technical Support
              │     1 → API issues → raise ticket option
              │     2 → Call quality → <Dial>
              │     3 → Account access (spoken)
              │     9 → Back
              3 → Billing
              │     1 → Balance info (spoken)
              │     2 → Payment issues → <Dial>
              │     3 → Invoice / GST info (spoken)
              │     9 → Back
              4 → Account Management
              │     1 → Upgrade plan → <Dial>
              │     2 → Update details (spoken)
              │     3 → Cancel → double confirm
              │     9 → Back
              0 → Operator → <Dial>
              9 → Repeat menu

Vobiz webhooks

Set /answer as the Answer URL in your Vobiz application.
MethodPathDescription
POST/answerMain IVR menu
POST/ivr-main-choiceRoutes digit 1–4 / 0 / 9 to sub-menu
POST/ivr-salesSales sub-menu
POST/ivr-sales-choiceRoutes sales choice
POST/ivr-supportSupport sub-menu
POST/ivr-support-choiceRoutes support choice
POST/ivr-support-ticketRaises high priority ticket
POST/ivr-billingBilling sub-menu
POST/ivr-billing-choiceRoutes billing choice
POST/ivr-accountAccount management sub-menu
POST/ivr-account-choiceRoutes account choice
POST/ivr-account-cancel-confirmDouble confirms cancellation
POST/ivr-operatorDirect transfer to operator
POST/dial-completeCallback after any <Dial> ends
POST/hangupCall ended webhook

App API

MethodPathDescription
GET/configView current department config
PUT/config/department/{dept}Update transfer number / enable-disable
GET/call-logsFull call history
GET/call-logs/analyticsWhich menu options are pressed most

Environment variables

VariableRequiredDescription
VOBIZ_AUTH_IDYesVobiz account auth ID
VOBIZ_AUTH_TOKENYesVobiz account auth token
FROM_NUMBERYesYour Vobiz DID (caller ID for transfers)
HTTP_PORTNoServer port (default: 8000)
PUBLIC_URLNoProduction URL - skips ngrok if set
NGROK_AUTH_TOKENNongrok auth token for local dev