Skip to main content
After creating an agent you land in the agent editor - this is where you configure everything that determines call quality. The editor is organized into tabs.

The Role tab (most important)

The heart of the agent. Here you set:
  • The agent’s name, description and avatar. The avatar is uploaded from your machine - click the pencil on the picture and pick an image (PNG, JPG, WEBP or SVG). It is cropped to a square, scaled down and stored with the agent, so it shows up everywhere the agent does: the app, the website widget and a shared link. Nothing has to be uploaded to a server and no URL is needed.
  • The system prompt - full instructions: who the agent is, what it knows about the company, how it runs the conversation, what it must not do. The editor highlights {{variables}} and suggests their names when you type {{ (see Template variables).
  • The first message in two modes:
    • Static - the exact text spoken at the start,
    • Dynamic - an instruction for the LLM on how to generate the greeting (e.g. personalized with data from initial_context).
  • Who speaks first - the agent opens the conversation, or waits for the caller to speak.
  • Improvement suggestions (AI) - a panel with prompt improvement proposals generated from real calls. You review each suggestion and apply it with one click - nothing changes without your approval (see Post-call analysis).

Phonetic spelling (added automatically)

Whatever the agent generates goes straight into a speech synthesizer - and the synthesizer reads “24/7” as “twenty four slash seven”, spells “e.g.” out letter by letter, and only gets “0.4” right by accident. So the platform appends a hard phonetic-spelling rule to every system instruction: numbers, amounts, times and dates spelled out (“at nine o’clock”, not “at 9:00”), no abbreviations (“for example”, not “e.g.”), symbols as words (“at” for ”@”, “dot” for ”.”), phone numbers and codes dictated in groups. The rule is added at call time rather than to the prompt text, so:
  • it also covers prompts written by hand or pasted in from elsewhere,
  • it cannot be deleted by editing the prompt,
  • you do not need to repeat it in your own instructions (and if you already have it there, it is not duplicated).
Tool arguments are the exception - a booking date reaches book_appointment in its normal format, because nobody speaks it. The platform picks the language of the rule (Polish or English) from the transcription language set in the Transcriber tab.

Saving

The whole editor has one Save button - the green one in the top right. It saves everything at once: name, description, prompt, first message and the settings on the other tabs. ⌘S does the same. While you have unsaved edits the header shows a yellow Unsaved changes marker.
The Variables, Tools and Knowledge tabs keep their own buttons (“Save variables”, “Save tools”, “Save documents”). That is not a duplicate - those three are stored separately from the agent configuration. Everything else goes through the header button alone.

The other tabs

The Integrations tab carries a search box and an All / On / Off filter above the cards, so finding out what this agent has wired up does not mean scrolling it. Cards that are off sit two to a row; the one you switch on spans the full width along with its settings. In the post-call SMS text, Insert variable offers a ready list of what will be filled in, the counter under the box shows how many paid messages the text costs, and Suggest a text drafts a few options from the agent’s system prompt - see The after-call SMS.

Duplicating an agent

The fastest way to build a second agent for the same company is to start from the one that already works. In the ⋯ menu next to an agent - on the Voice agents list and in the editor’s sidebar - choose Duplicate. The copy opens straight away. Everything that defines how the agent behaves comes across: the prompts, the voice, the transcription, the integrations, the in-call actions and the collected variables.
The phone number and the embed token are not copied. A number answers for one agent, and a copy that claimed it would take the original off the air. Assign a number to the copy on the Telephony page (side menu) with Assign to agent, and enable its widget with its own embed snippet.

Testing

From the editor you can launch a web call (from the browser) or a phone call right away - and after each call you’ll see an AI analysis and an execution trace that point out what to improve. In the transcript - live and in the call history - every tool call is its own card: the tool’s name, whether it came back, and the time. Expanding the card shows Request (the arguments the agent called it with) and Response (what the tool returned). That is what answers “why did the agent say it found nothing” - you can see what it searched for and what it got back. A call that never came back stays in the transcript, marked as still running.

What runs underneath

Under the hood, the agent is a graph of nodes (start, conversation stages, ending). The flow canvas is hidden in the app for now - you don’t need to touch it, because templates and the editor configure the graph for you. To see what actually happens underneath, and where the settings that used to live on the canvas are configured today, see Conversation flow (under the hood).