A voice agent can run over the telephone network or in a browser. The conversation itself is the same agent — same instructions, same tools, same voice — but the surroundings differ, and a few telephony behaviours have no browser equivalent.
Set this on the Setup tab: Delivery Method → Web (Browser-Based).
agents:voice:manage permission.| Telephony | Web (Browser-Based) | |
|---|---|---|
| Needs a phone number | Yes | No |
| Typed input alongside speech | No | Yes, with Allow Chat |
| Live on-screen transcript | No | Yes |
| On-screen countdown timers | No | Yes, with manage_timer |
| Background office ambience | Yes, when enabled | Never, whatever the switch says |
| Recorded | Inbound recorded by the carrier; outbound recorded by the platform | Always recorded |
| Warm / cold transfer | Yes | No — there is no call to bridge |
| Voicemail detection | Outbound only | No |
| Caller-ID contact lookup | Yes | No — there is no caller ID |
| Keypad tones (DTMF) | Yes | No |
Everything else — instructions, greeting, voice, languages, turn-taking, tool execution, CRM writes, knowledge search, transcripts, summaries — works the same way.
Setup → Allow Chat ("Enable text-based chat alongside voice") lets a person type instead of speaking, mid-conversation, without losing the thread.
It matters more than it sounds. People switch to typing when they are somewhere they cannot talk, when they have to give an order number or an email address exactly, or when the agent has misheard the same word twice. Leaving it off makes all three of those a dead end.
Enable manage_timer on the Tools tab and the agent can put a
countdown on the screen and manage it during the conversation — set it, pause
it, extend it, cancel it.
The useful part: a running timer suspends the dead-air rules. "Take three minutes to find that document, I'll wait" normally trips the silence timeout and the agent hangs up. With a timer running it waits, and the person can see how long they have. See Turn-Taking, Interruptions and Dead Air.
Timers are a browser feature. There is nothing to show on a phone call.
The browser client that ships with the product is the test panel on the agent's own form:
You get the live transcript, the tool activity, mute, and per-stage timings when the run ends. Full detail: Testing, Drafts and Going Live.
A public browser voice experience — an agent embedded on your own site or in your own app — needs a web client that joins the conversation and issues its own access tokens. That client is not something you configure from the agent form, and the credentials it needs are issued from a platform-operator surface.
So: set Delivery Method to Web (Browser-Based) on the agent, get the conversation right using Talk to your agent, and talk to KarmaFlow about the client when you want it in front of customers.
If you are moving an agent from telephony to web, re-read its instructions for things that no longer exist:
duty_notify so a human still gets
the handoff.save-update-user is enabled so it can record what it is told.Run the reverse check when moving web → telephony: timers and typed input stop being available, and the agent should stop offering them.
manage_timer is not enabled on the Tools
tab.