#I want o create a conversational agent and a text only widget using the same agent. Is this possibl
1 messages · Page 1 of 1 (latest)
Short answer: Yes—you can use the same agent for both voice and text-only. The widget is multimodal by design, and “text-only” behavior depends on how the conversation is started.
What’s happening with your widget
- The dashboard “Interface” options enable text input, but the widget still shows voice controls. Text‑only “Chat Mode” is activated when the conversation is initiated with a typed message; if you press the call/mic button, it will start an audio session. This is expected. (elevenlabs.io)
Ways to make the same agent run text‑only in your embed
- Start-in-text: Keep the agent as-is, set the widget Interface to allow text, and begin the conversation by sending a text message (this triggers Chat Mode and the session runs without audio). (elevenlabs.io)
- Force text‑only via agent config: Configure the agent in “Chat Mode” (text_only = true). When an agent is set to chat mode in settings/API, all conversations are text‑only by default. (elevenlabs.io)
- Force text‑only per page/app via SDK: If you’re building with the SDK, set a runtime override conversation.textOnly = true (enable “Text-only mode” in the agent’s Security > Overrides first). (elevenlabs.io)
Notes
- The public widget attributes (HTML) expose overrides like prompt, language, first message, and voice, but not a “text-only” flag—use agent configuration or SDK overrides if you need to enforce text-only for that embed. (elevenlabs.io)
- ElevenLabs’ recent multimodal update confirms you can configure agents/widgets for text input or text-only use cases without creating a separate agent. (elevenlabs.io)
If you want the widget to present as chat-only (no call button at all), the docs don’t list an HTML attribute to hide voice controls; you’d enforce text-only via agent settings or build your chat UI with the SDK and set textOnly there. (elevenlabs.io)
Sources:
Widget customization | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
Chat Mode | ElevenLabs Documentation
Chat Mode | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
ElevenLabs — Introducing Multimodal Conversational AI
Widget customization | ElevenLabs Documentation
what does text only mode switch do in the widget config then?
It enables Chat Mode for the widget: if the user initiates the conversation by typing, that session runs in text‑only (no voice) inside the widget. It does not turn the agent into a permanently text‑only bot across all entry paths; starting via voice will still create a voice session. To force text‑only regardless of how the session starts, set the agent to Chat Mode in the agent configuration or enforce text_only via an SDK override. (elevenlabs.io)
if i toggle text only mode on/off it makes no difference to the embed code and I dont see the ability to enter text with the widget, it still starts an audio call is this expected behaviour
Yes—this is expected.
- The embed code is static. The widget reads its modality settings from your agent’s dashboard at runtime, so toggling modes won’t change the HTML snippet. (elevenlabs.io)
- The “text only / Chat Mode” toggle controls conversation modality, but it does not, by itself, add a text input to the widget UI. To see a text field, enable the Interface option that allows text input (Voice + text) in the widget settings. The docs note that the widget defaults to voice-only and you must enable text input to allow multimodal interactions. (elevenlabs.io)
- When Chat Mode is enabled, conversations start in text-only if you initiate with a text message; clicking the call button will still start a voice call. (elevenlabs.io)
- If you need the agent to operate purely as a chat bot (no audio), configure the agent for text-only via the API or enforce text_only via SDK/runtime overrides; in chat mode no audio I/O is used. (elevenlabs.io)
- Note that any SDK overrides you pass will take precedence over dashboard UI settings. (elevenlabs.io)
Related references: widget customization (modality, embed behavior) and chat mode guide (text-only via API/overrides). (elevenlabs.io)
Sources:
Widget customization | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
Chat Mode | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
the options are chat (text-only) mode, send text while on call in the ionterface section which shouyld be on and which should be off
Short answer:
- For a text‑only widget: turn ON “Chat (text‑only) mode” and leave “Send text while on call” OFF. This forces text‑only conversations with no audio. (elevenlabs.io)
- For a voice widget that also allows typing: leave “Chat (text‑only) mode” OFF and turn ON “Send text while on call” (the “Voice + text” option), which enables text input during a voice session. (elevenlabs.io)
Notes:
- The widget’s embed code doesn’t change when you toggle these; the widget reads the configuration you set under Widget → Interface. (elevenlabs.io)
- If needed, you can also enforce text‑only in code via conversation.textOnly/text_only overrides in the SDKs. (elevenlabs.io)
Sources:
Chat Mode | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
Chat Mode | ElevenLabs Documentation
In which case there is a bug. If i toggle Chat (text-only) to on and refresh my browser, I still only have the ability to start the widget in voice mode
Short answer: this is expected behavior, not a bug.
What the “Chat (text‑only)” toggle does
- It controls conversation behavior, not the UI. With Chat Mode on, a session will run text‑only if it is initiated with a text message. The widget still defaults to voice unless the user can start by typing. (elevenlabs.io)
How to get a text input in the widget
- You must also enable the “Text input” option (Voice + text) in the widget’s Interface settings. That exposes the text field so users can start by typing; with Chat Mode on, those text‑initiated sessions remain text‑only. (elevenlabs.io)
If you want the widget to be text‑only (no voice) by default
- Configure the agent for text‑only via API (conversation.text_only = true) or enforce it at runtime with overrides; ensure “Text‑only mode” overrides are enabled in the agent’s Security tab. This removes audio I/O for the conversation. (elevenlabs.io)
Why the embed code doesn’t change
- The embed snippet stays the same; it loads the widget using whatever defaults you set in the dashboard. SDK/runtime overrides take priority over UI settings if you’re using them. (elevenlabs.io)
References:
- Widget customization (modality options and behavior). (elevenlabs.io)
- Chat Mode guide (text_only configuration and runtime overrides). (elevenlabs.io)
- Overrides (enable “Text‑only mode” override; example with conversation.text_only). (elevenlabs.io)
Sources:
Widget customization | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
Chat Mode | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
Widget customization | ElevenLabs Documentation
Chat Mode | ElevenLabs Documentation
Overrides | ElevenLabs Documentation
there is no 'text input' option in the widget configuration page