Agents
The agent editor and lifecycle, from drafting and saving to validating, testing, and publishing.
An agent is one language model, one system prompt, and a flat list of tools it can call during a call. The prompt describes who it is, the tools give it things it can do, and the model decides turn by turn what to say and which tool to reach for.
A workspace can hold many agents. Each has its own prompt, tools, voice, and phone numbers, and you build each one in the agent editor.
Editor layout
The left rail lists every section, grouped by what you are doing:
- Intelligence: prompt, model, and tools.
- Voice: voice, hearing, and ambience.
- Settings: general, privacy, scoring, call handling, and guardrails.
- Resources: variables, knowledge, and memory.
Each section autosaves on its own and has its own page. Editor sections covers what every section sets.
Saving
Each section autosaves the moment you stop typing. Two moments force a save immediately rather than waiting for the debounce:
- Pressing Cmd/Ctrl + S flushes every pending edit immediately.
- Opening the test panel or publishing flushes pending edits first, so what you test or ship is exactly what you have written.
Saving is not the same as going live
Saving writes to your draft. Edits do not reach callers until you publish.
Drafts and versions
Every agent has versions. At most one version is published at a time: the live version callers actually reach. Everything you edit in the sections above edits a draft, which is the working copy.
The version control sits at the top of the rail, above every section. It reads
the current version and its status, for example Version 1 · Live, and it is
where you create and publish versions.
Publishing
Publishing promotes a draft to live.
- On a published version, the action is Create draft. A published version is read-only, so to change a live agent you create a fresh draft from it, make your edits, then publish again.
- On a draft, the action is Publish. This runs the validator first and, if nothing blocks, promotes the draft to live.
Versions are immutable once published, so each publish is a clean snapshot you can point back to.
What the validator checks
Before a draft can publish, the validator runs. Errors block the publish; risks flag weak spots you can acknowledge and ship past. Validation lists what it looks at.
The Builder Chat
The right rail is the Builder Chat. Describe what you want in plain language and it edits the agent through the same controls you would use by hand.
add a tool that looks up an order by reference numberThree modes
- Plan reads the agent and proposes a plan. It makes no changes.
- Review proposes each change and waits for you to approve it.
- Auto applies changes immediately.
Secrets
Secrets never reach the model. When a change needs a secret value, the Builder Chat asks you to type it into a passive dialog; the value goes straight to encrypted storage. Chat history is saved per agent.
Testing before you ship
Open the test panel and talk to the agent before any caller does. The agent greets you the same way it would answer a real call.
The test panel is never blocked by the validator, so you can test a half-finished draft freely. For repeatable, graded testing across many scenarios, see Evals.
Sharing a demo link
The Share section mints a public URL anyone can open without signing in. Visitors see the agent's name and description and can start a voice call. No phone number is needed.
The link serves the agent's published version, so edits reach the demo only after you publish. Revoking the link kills the URL; re-enabling mints a fresh slug, so any link that leaked stays dead.
Caps on a shared call
Calls from the link run under the Share section's caps (3 minutes and 30 turns by default). The same caps apply to the website voice widget and the typed conversation. See share links for the full list.
Archiving and deleting
Maintenance, under Settings in the agent's sidebar, holds the two lifecycle actions:
- Archive is reversible. It drops the agent out of the main list, and you can restore it later. Archiving unassigns the agent's phone number. The agent stops taking new calls shortly afterwards, not the moment you confirm. See Agent lifecycle for what that gap is.
- Permanent delete removes the agent for good. Use archive unless you are certain.