Kiosk mode is a separate opt-in from website embedding. An agent can be available as a kiosk without being embeddable on other sites, and vice versa. Unlike embedding, kiosk mode has no allowed-origins list — the only gate is the kiosk toggle, so only enable it for agents you want reachable as a public fullscreen page.
Prerequisites
1
Enable kiosk mode
Open the agent in the dashboard, go to the Deployment tab, and turn on Enable kiosk mode in the Kiosk URL section. Only shared agents can run as a kiosk. Toggling this switch is saved immediately — you can test right away without saving the agent manually first.
2
Get the kiosk URL
Copy the ready-made URL from the dashboard, or scan the QR code with the device. You can also build the URL yourself as described below.
3
Add it to the home screen
On the device, open the URL in the browser and add it to the home screen. Launched from the home screen it runs as a true fullscreen web app, without browser chrome.
Quickstart
AGENT_ID with your agent’s UUID (visible in the dashboard). Open the URL directly in the device’s browser — there is no iframe and no embed code to paste.
Query parameters
All options are appended as query parameters to the/kiosk URL. Invalid values fall back to their defaults automatically.
string
default:"open"
Microphone mode.
open records for the whole conversation; ptt enables a push-to-talk button the visitor holds to speak. In both modes the microphone stays open at the device level — the microphone indicator stays on — so audio playback stays at full volume throughout, including on iPad/iPhone (instead of the quieter “call” volume). See Sound & volume.string
default:"de"
UI language of the controls.
de or en.boolean
default:"true"
Whether the “Hang up” button is shown. In kiosk mode it is on by default so a visitor can end the conversation; set
endCall=false to hide it.number
default:"0"
Auto-reset timeout in seconds. After this much inactivity while the agent is waiting for input, the conversation ends and the start screen returns for the next visitor.
0 disables the auto-reset.The
border and hideTextChat parameters from Embedding work here too (background color and hiding the text-chat input).Example with multiple options
Microphone unavailable? If the agent cannot access the microphone — for example because the browser was not granted access or another application is holding the microphone — the page now shows a notice, and the push-to-talk button does not light up while held. In that case, check the page’s microphone permission in the browser settings and close applications that use the microphone exclusively.
Sound & volume
So the agent is clearly audible on a stand, the kiosk optimizes playback automatically — but depending on the device there are a few adjustments.- iPad/iPhone: Audio plays at full volume automatically, in both microphone modes.
- Android: The kiosk automatically routes output to the loud system speaker (“Speakerphone”) instead of the quiet earpiece.
Audio settings (gear)
A gear icon in the top right opens a small settings panel. There you can:- adjust the audio processing — echo cancellation, noise suppression, auto gain, and voice isolation (all on by default),
- choose the audio device. On Android the system’s routing options appear here, such as “Speakerphone” (loud speaker) and “Headset earpiece” (quiet earpiece). If audio is too quiet on an Android device, select “Speakerphone” here.
Android: call volume. As soon as audio is playing, Android shows a small phone icon next to the volume slider — the volume button then controls the (separate) call volume, not the media volume. Turn it up to maximum on the device once so the kiosk is loud enough.
Fullscreen on the device
For a true fullscreen experience without an address bar, add the kiosk URL to the device’s home screen and launch it from there. Use the browser’s share menu (for example “Add to Home Screen”) — the page is configured as a standalone web app, so it opens chrome-free.Idle auto-reset
With theidle parameter set, an unattended kiosk recovers on its own: if a visitor walks away mid-conversation, the agent ends the session after the configured idle time and returns to the start screen, ready for the next person. The timer only runs while the agent is waiting for input — it never interrupts the agent while it is speaking or thinking, and any touch resets it.
