Workspaces
A workspace is the isolation boundary for everything you create. Agents, tools, knowledge sources, and tests all belong to a workspace, and nothing in it is visible from any other workspace. Tools, knowledge sources, and tests are workspace-level resources, not per-agent ones: create a webhook tool once and attach it to as many agents as you like. Access controls in the console decide which agents can use each shared resource. Your API key belongs to your team: requests under/v1/agent/* can read and write agent resources across all of your team’s workspaces, and each resource carries its workspace_id. Resources created through the API land in the key owner’s default workspace:
List your team's agents
Agents
An agent is a bundle of configuration: a system prompt that steers behavior, a first-message policy, a voice and speaking language, attached tools, and knowledge sources. You assemble it in the Builder — the console page you land on after creating an agent — or through the API at/v1/agent/agents.
Creating an agent takes only a name. Everything else is configured afterward, so start minimal and iterate.
Drafts and published versions
Every agent has exactly one draft and any number of immutable published versions.1
Edit the draft
Everything you change in the Builder autosaves to the draft — there is no
Save button. Watch for the
Saving… / Saved indicator.2
Publish
Publish snapshots the draft into a numbered, immutable version and makes
it the version that live traffic uses. The button is only enabled when the
draft actually differs from the latest published version.
3
Keep iterating
Continue editing the draft without affecting live conversations. When you’re
ready, publish again — the version number increments.
Live vs. Draft
The agent list shows one of two states:
Editing the draft of a Live agent does not change its badge — the Builder shows an unpublished-changes indicator next to Publish instead.
Which configuration runs
- Preview calls in the Builder always run the current draft, so you can hear changes before anyone else does.
- Sessions from the SDK, phone calls, and public agent links run the latest published version.
Restore and clone
Past versions stay in the agent’s history — review them or restore one back into the draft from Versions & publishing. Clone creates a new agent from an existing one’s current draft: prompt, voice, and tool and knowledge attachments carry over (shared resources are referenced, not copied). The clone is named{name} copy, starts as Draft, and does not inherit the source’s publish history.
Sessions
A session is one conversation between one user and one agent. Sessions start from four places:Preview call
You test the draft from the Builder.
Phone call
A caller dials a connected phone number.
Public agent
Anyone talks to an agent you’ve shared publicly.
/v1/agent/sessions — with its transcript, and its recording when the agent records audio — and can trigger post-call analysis when configured.
Deleting resources
Deletion is immediate and, from the console, cannot be undone: a deleted agent disappears from lists, the Builder, and all API responses. The same applies to tools, knowledge sources, and tests.Names are freed on deletion — you can immediately create a new agent (or tool)
with the same name as one you deleted.
Where everything lives
Going further
Quickstart
Create, configure, and talk to your first agent.
Configuration
System prompt, first message, and conversation settings.
Versions & publishing
Publish history, restore, and rollout details.
Integrate
Put your agent in front of users with the SDKs.

