/dashboard/bots/[bot_id].
The page has three tabs:
Details
The bot’s full configuration, shown read-only.
Integration
Variables and copy-paste code snippets for triggering this bot from a CRM.
Web Widget
Enable a website voice widget, restrict it to your domains, and copy the embed code.
View mode
When you open a bot you land in view mode on the Details tab. Everything here is read-only — to change a setting you click Edit (see Edit mode).Top-bar buttons
These buttons sit at the top of the page in every tab.| Button | What happens when you click |
|---|---|
| Back to bots | Returns you to the Bot list. |
| Test Call | Opens the Test Call dialog to place a real test call to the bot. See Test calls. |
| Test in Browser | Opens the Test in Browser dialog to talk to the bot live through your computer’s microphone. See Test calls. |
| Clone | Asks you to confirm, then creates a duplicate of the bot and opens the new bot’s detail page. See Clone below. |
| Edit | Switches the page into edit mode — the same step-by-step wizard you used to build the bot, pre-filled with its current settings. |
| Delete | Asks you to confirm, then permanently removes the bot and returns you to the Bot list. See Delete below. |
If the bot is in use by one or more running campaigns, a warning banner appears at the top of the page listing those campaigns, and the bot’s configuration is locked. You cannot edit or delete it while a campaign that uses it is running. Stop the campaign first, then return here. The campaign names in the banner link to their campaign pages.
What you see on the Details tab
The bot’s configuration is grouped into read-only cards:| Section | What it shows |
|---|---|
| Header | The bot name and an Active / Inactive badge. |
| Post-Call Cache | The cache status and controls — see Post-call cache below. |
| Core Configuration | The voice stack (Speech-to-Text engine, language model, and voice engine), the system prompt, the opening message, and the conversation policy if one is enabled. |
| Behavior & Runtime | Maximum call duration, re-engagement gap and retry count, voice-activity (VAD) settings, the minimum words needed to interrupt the bot, and the re-engagement messages. |
| Advanced Features | Only shown when configured: tools, transfer-call targets, allowed SIP headers, analysis and QC prompts, CRM pre-fetch, and post-call push. |
| Button | What happens when you click |
|---|---|
| Copy (WSS URL) | Copies the bot’s WebSocket connection URL to your clipboard and briefly shows a “Copied” confirmation. |
Status badges
| Badge | Meaning |
|---|---|
| Active (green) | The bot is enabled and can take calls. |
| Inactive (grey) | The bot is disabled and will not take calls. |
| Post-Call Cache enabled / disabled | Whether post-call analysis caching is currently on for this bot. |
Post-call cache
The Post-Call Cache section controls whether the bot reuses a cached version of its post-call analysis and quality-control (QC) prompts. Caching lowers the cost and speeds up the analysis that runs after each call, without changing the result. It applies only to post-call analysis — never to the live conversation. The section shows:| Detail | What it shows |
|---|---|
| Analysis Prompt | Whether a post-call analysis prompt is set (Configured) or not (--). |
| QC Prompt | Whether a quality-control prompt is set. |
| Version Override | The cache version currently in use. |
| Refreshed By | Who last refreshed the cache. |
| Button | What happens when you click |
|---|---|
| Enable | Turns post-call caching on for this bot. Shows a success message. |
| Disable | Turns post-call caching off for this bot. Shows a success message. |
| Refresh | Rebuilds the cache so it picks up the latest analysis and QC prompts. Shows a success message. Disabled if the bot has no analysis or QC prompt configured — there is nothing to cache. |
Clone
Cloning makes a duplicate of the bot — its prompts, voice pipeline, behavior, tools, and integrations.Confirm
A confirmation dialog appears:
Create a clone of “[bot name]” with the same settings? Calls, campaigns, and DID mappings will not be copied.Confirm to proceed, or dismiss to cancel.
A clone does not copy past calls, campaigns, or DID (phone number) mappings. The new bot starts with a clean call history and no numbers attached.
Delete
Deleting a bot removes it permanently.Edit mode
Click Edit to switch the page into the same multi-step wizard used to build the bot, pre-filled with its current settings. The steps are identical to creation: Identity, Instructions, Policy, Voice Pipeline, Behavior, and Tools & Integrations.| Button | What happens when you click |
|---|---|
| Cancel editing | Discards your in-progress changes and returns to view mode. |
| Previous | Moves to the previous step. |
| Continue | Moves to the next step. |
| Save Changes | Saves all changes to the bot. If a field fails validation, a message appears and the wizard jumps to the first step that contains the error. On success, you return to view mode. |
Create a bot
The wizard header, the Identity step, and the Behavior step.
Prompts & variables
Instructions and Policy steps.
Voice pipeline
Speech-to-Text, language model, and voice engine.
Tools & integrations
Tools, transfers, voicemail, pre-call fetch, and post-call push.
Edit mode and create mode use the same wizard. Anything documented on the pages above applies to both — the only difference is that the fields here start filled with the bot’s saved values.
Integration tab
The Integration tab is a reference for connecting this bot to a CRM. It shows the variables the bot can receive and use, and gives you ready-made code snippets that trigger an outbound call to the bot through the dialout API. Everything on this tab is generated automatically from the bot’s prompts and configuration — there is nothing to fill in here.Variable reference
This section lists the template variables available across each namespace, so you know exactly what you can send to the bot and what comes back afterward.| Namespace | What it holds |
|---|---|
call.* | Values about the call itself (for example the phone number and any SIP headers). |
crm.* | Customer data fields you send in, with examples pulled from this bot’s own prompts. |
result.* | Outcome values produced when the call finishes. |
analysis.* | Fields from the post-call analysis prompt. |
qc.* | Fields from the quality-control prompt. |
system.* | System-provided values such as timestamps. |
| Button | What happens when you click |
|---|---|
| Collapse / Expand | Shows or hides the variable list for a namespace. |
Dialout endpoint and code snippets
This section shows the dialout API endpoint and method, followed by copy-paste code in three formats. Each snippet is pre-filled with this bot’s ID and its variables.| Tab | Use it for |
|---|---|
| curl | A quick command-line test or a shell script. |
| Python | A Python integration. |
| Node.js | A JavaScript / Node integration. |
| Button | What happens when you click |
|---|---|
| Copy | Copies the selected snippet (curl, Python, or Node.js) to your clipboard. |
Web Widget tab
The Web Widget tab lets you put this bot on a website as a click-to-talk voice widget. From here you turn the widget on, restrict which websites can use it, manage its secret key, and copy the embed code.Settings
| Field | What to enter | Required |
|---|---|---|
| Widget enabled | A toggle that turns the website voice widget on or off. | No |
| Allowed website domains | The domains where the widget is allowed to run (for example https://yourwebsite.com). Type a domain and press Enter to add it; each domain appears as a removable tag. | No |
| Widget API key | The secret key the widget uses to authenticate. Read-only — masked by default, with a button to reveal it. You can regenerate it. | No |
Buttons
| Button | What happens when you click |
|---|---|
| Save settings | Saves the Widget enabled state and the allowed domains. Shows a success or error message. |
| Reveal / Hide | Toggles between showing the full API key and the masked version. |
| Regenerate | Creates a brand-new API key for the widget. Asks you to confirm first (see below). After rotation, the new key becomes visible. |
| Copy | Copies the embed code snippet to your clipboard and briefly shows a “Copied” confirmation. |
Regenerating the key
Confirm
A confirmation dialog appears:
Regenerate the widget key? Existing embeds will stop working immediately.Confirm to rotate the key, or dismiss to keep the current one.