Setting up a multi-level IVR (nested menus)
Build nested IVR sub-menus in SparkTG for department routing, language selection, and business hours. Best practices to keep call trees clear and effective.
A multi-level IVR lets you nest menus — for example, press 1 for Sales, then press 1 for New Enquiry or 2 for Existing Order. This guide covers how to structure these flows without making them confusing for callers.
Design before you build
Map the entire call tree on paper or in a tool like Miro before touching the IVR Builder. A typical 2-level IVR for SparkTG products looks like: Main Menu (Sales / Support / Billing) → each branch has its own sub-menu of 2–3 options.
Keep menus to a maximum of 4 options per level. More than 4 options causes callers to forget what they heard and hang up.
Building nested menus in SparkTG
- 1
Create the sub-menu as a separate flow first
Build each sub-menu (e.g., "Sales Sub-Menu") as its own IVR flow. This keeps each flow manageable and testable independently.
- 2
In the main flow, use a Transfer to Flow node
After the Sales keypress branch, instead of a Dial node, use Transfer to IVR Flow and select your "Sales Sub-Menu" flow. The caller seamlessly enters the sub-menu.
- 3
Always add a Back to Main Menu option
In each sub-menu, include a keypress (usually 0 or 9) that Transfers back to the Main Menu flow. Callers who end up in the wrong sub-menu need an escape.
- 4
Add business hours logic at the top level
Use a Time Condition node as the very first node in your Main Menu flow. Set office hours (e.g., Mon–Sat 9am–7pm IST). During-hours path continues to the menu; after-hours path goes directly to voicemail or an after-hours message.
Language selection example
For a bilingual IVR (English/Hindi): create two separate versions of your full IVR tree — one in English, one in Hindi. At the very top, add a Language Selection flow: "For English press 1, Hindi ke liye 2 dabayen." Keypress 1 → Transfer to English Main Menu; Keypress 2 → Transfer to Hindi Main Menu.
Frequently asked questions
How many levels of IVR menus can I create in SparkTG?
What is the maximum number of options I should put in each IVR menu?
How do I add a Hindi/bilingual IVR in SparkTG?
How do I let callers return to the main menu from a sub-menu?
Should I build sub-menus as separate flows or within the same flow?
Was this article helpful?
Still stuck? Contact our support team →