Classic IVR (No AI)
Build a traditional keypad menu — "press 1 for sales, press 2 for support" — with no LLM involved and no per-call AI cost.
Classic IVR (No AI) turns any Agent Node workflow into a traditional touch-tone menu: the caller hears a spoken menu and presses a digit, and the call routes to the matching path — the same experience as a conventional phone-tree, with no language model making the routing decision.
This is a model configuration, not a separate builder or node type. You build the menu with the same Agent Nodes and edges as any other Talkr workflow — you just select a different provider for the LLM.
When to use it
- You want deterministic, zero-cost routing for simple menus (department selection, appointment confirmation, opt-in/opt-out) where a full conversational agent is unnecessary.
- You're replacing an existing keypad-driven IVR and want call-for-call behavior parity, not a conversational redesign.
- You want a guaranteed no-AI-cost path for calls that don't need one — no LLM token spend, no external API dependency, for the parts of your call flow that are pure menu navigation.
If your workflow needs to understand natural speech, extract information, or reason about intent, use a regular AI-configured workflow instead — Classic IVR only routes on keypad digits.
How it works
- The node's prompt (or greeting) is spoken as-is. Whatever you write in the Agent Node's prompt — or its greeting, if set — is exactly what the caller hears, with no LLM rewriting or expanding it. Write it the way you want it heard: "Press 1 for sales, press 2 for support."
- Each digit is an edge, labeled with that digit. Give each outgoing edge a Label of
1,2,3, and so on, matching the keypad choice it represents. The edge's Condition field is still required by the workflow schema, but Classic IVR never reads it — write anything descriptive; only the Label is used to route. - The caller presses a digit (optionally ending with
#). Talkr accumulates keypad input for up to 2 seconds of inactivity, or until#is pressed, then matches it against that node's edge labels. - A match transitions to the next node, which speaks its own prompt the same way — this is how you build multi-level menus ("press 2 for billing" → press 2 → "press 1 for invoices, press 2 for payments").
- No match, or no digit pressed in time, re-speaks the current menu — the same "sorry, that's not a valid option" behavior callers expect from a traditional IVR, rather than the call going silent.
Barge-in applies to keypad input the same way it applies to speech: pressing a digit while the menu is still playing interrupts it and is still processed as the caller's choice.
Enabling it
Most organizations run more than one workflow — some conversational, some a classic menu — so enable Classic IVR (No AI) on the specific workflow that needs it, not organization-wide:
- Open the workflow you want to turn into a classic menu.
- Go to Settings → Model Overrides.
- Enable the override for LLM, and choose Classic IVR (No AI) as the provider.
- Save — no API key or model selection is needed; this provider runs entirely in-process.
This workflow now routes on keypad digits with no AI involved, while every other workflow in your organization keeps using the org-level (or its own overridden) LLM untouched — an outbound no-AI IVR bot and inbound conversational bots can coexist side by side.
Only set Classic IVR (No AI) as your organization-level default (Models → BYOK → LLM) if every workflow in the org should be a no-AI menu. For a mix, always use the per-workflow override above instead — the org-level setting is just the fallback a workflow inherits when it has no LLM override of its own.
Classic IVR (No AI) is a whole-workflow setting, not a per-node one — whichever way you enable it, it applies to every Agent Node in that workflow. You can't currently mix AI-driven nodes and keypad-menu nodes within a single workflow. Build separate workflows for a conversational agent and a classic menu, then set the provider independently on each.
Building the menu
- Write the prompt (or greeting) for each menu node exactly as you want it spoken — include the instructions ("press 1 for...") in the text itself, since there's no LLM to add them.
- Label each outgoing edge with the exact digit it should match:
1,2,9, etc. Multi-digit choices (e.g.12) work too — matching is exact, so1and12never collide. - Terminate a digit sequence with
#for an immediate match, or just pause — a 2-second gap between key presses flushes what's been entered so far. - Tools, knowledge base grounding, and variable extraction are not available on a Classic IVR node — the whole point is a deterministic, no-AI decision. Use a transfer or webhook node at the end of the menu tree if you need to hand off to a live agent or another system.
Related
- Agent Node — the same node type Classic IVR menus are built from; edge labels and conditions are configured the same way.
- Model Configurations — where Classic IVR (No AI) is selected as an LLM provider.