Vocalis

Build the agent, hear it, ship it

An agent is five decisions: which engine runs it, which voice it speaks in, what it collects, what it can call, and what it is told to do. The wizard walks all five, and you can talk to the result at any point along the way.

VoiceEnglish · US
Marin
Warm, unhurried
Cedar
Low, steady
Sage
Calm, reassuring
Kore
Clear, professional
Benefits agent · v7DraftSave
  1. Engine
  2. Voice
  3. Fields
  4. Tools
  5. Prompt
System promptComposeVariables

You are the benefits line for {{plan_name}}.

Greet {{member_first_name}} by name. Answer only from the plan documents.

If the member asks about an open claim, call lookup_claim before answering.

Never quote a dollar amount you did not read from the record.

Test by voice in your browser
ToolsOpenAPI
lookup_claimClaims system
check_eligibilityEnrollment
book_callbackScheduling
create_ticketOpenAPI import

An agent is a configuration, not a script

The same agent answers an inbound line, runs an outbound campaign, sits behind a branch of a phone menu, and staffs a chat widget on your site. You build it once. Where it gets used, and what data it is handed when it starts, is a separate decision.

That is why the wizard asks about the agent itself and nothing about the campaign. Retry policy, calling window, which number it answers on, which contact list it runs against: none of that lives on the agent, so changing any of it never means rebuilding one.

The five steps

Navigation runs down the left of the dialog rather than across the top. That gives the content the full width and leaves each step room to say what it currently holds, so you can see the whole configuration without opening every step.

Engine
Vocalis Realtime, a custom pipeline you assemble yourself, or a third-party speech-to-speech model.
Voice
The voice the agent speaks in, auditioned in the browser and filtered to voices that serve the language you picked.
Fields
The values that change from one call to the next: a member name, a claim number, an appointment date.
Tools
What the agent can do rather than say. Transfers, lookups, bookings, anything behind an API.
Prompt
What the agent is told to do, written with the fields and tools available to insert as you type.
Completed steps stay clickable, so you can jump back without unwinding your work. Once an agent is live, every step is reachable directly.

Engine

Vocalis Realtime is the default and the one most lines should run. It is our speech-native stack, managed end to end, tuned for sub-second responses and natural turn-taking on phone audio.

The other two are escape hatches for teams with a specific reason to assemble their own. A custom pipeline lets you choose transcription, reasoning and speech separately, from six vendors. Speech to speech runs a third-party realtime model with its own built-in voice and no transcription hop. The catalogue behind both is on the models page.

Fields, and where they come from

A field is anything the agent should say differently from one call to the next. Fields can be filled from a contact list column, from the API request that started the call, or by a step earlier in a workflow. A field can also be static, which is how a plan name or a department gets in.

Write {{claim_number}} in the prompt and the fields step notices, offers to add it, and the prompt stops being a promise the agent cannot keep. Connect a contact list and its columns are offered the same way, so the fields you add always match data that exists.

Personalization3 fields
Found placeholders in your prompt

These look like personalization fields. Add the ones you want.

+ DEDUCTIBLE_REMAINING+ CLAIM_NUMBER
FieldSourceOn this call
MEMBER_FIRST_NAMEContact listRosa
PLAN_NAMEStaticMeridian PPO
APPOINTMENT_DATEContact listMar 14, 2:00 PM
The fields step, showing placeholders it found in the prompt and what each field will resolve to on a call.

Tools

Tools are what turns an agent from something that answers into something that acts. Point it at an OpenAPI document and each endpoint arrives as a callable tool, with the description the agent uses to decide when to reach for it. A claims lookup, an eligibility check, a callback booking, a ticket.

Transfers are tools too. Warm and cold transfer take a set of named destinations rather than a number, so the prompt can say who to reach instead of hardcoding a phone number that will change. Knowledge base queries are tools as well, which is what lets an agent decide it needs to look something up rather than answering from memory.

Tools can be tested on their own before an agent ever calls one, and some are gated behind an integration so they cannot be switched on before the thing behind them is connected.

Grounded in your own documents

Attach a knowledge base and the agent answers from your plan documents instead of from what it happens to know. Upload the evidence of coverage, the formulary, the prior authorization policy. The content is indexed by section, and the answer comes back with the section it was read from.

Grounding is the difference between an agent that is plausible and one that is correct. It is also what makes an answer checkable after the fact: someone can go and read what the agent read.

Knowledge base · BenefitsIndexed
Meridian PPO 2026 EOC.pdf
412 sections
Formulary Tier Table.xlsx
1,208 rows
Prior Auth Policy v4.docx
96 sections
Answer

Advanced imaging needs prior authorization. Standard review is three business days.

EOC §4.3Prior Auth Policy §2

The prompt

The composer inserts fields and tool names rather than making you remember them, and it warns on the things that break calls quietly: a field that does not resolve, a transfer target with no description for the agent to route on, a knowledge base referenced but not attached.

Underneath whatever you write, every call carries a fixed set of safety instructions that a prompt cannot override. They are what keeps a caller from talking the agent out of its own rules, and they are not editable, on purpose.

Hear it before a member does

Every step has a test bar. Press it and you are on a call with the agent exactly as configured, in the browser, with the fields filled in. Change a line of the prompt, press it again. It is the fastest way to find out that an instruction that reads well is unusable out loud.

Versions, diffs and rollback

Every save is a version, attributed and timestamped, with a reason if you gave one. The history panel shows what changed between any two: prompt text, but also the model, the voice, the fields and the tools, since those break a call just as easily as wording does.

Rolling back restores an earlier version as the live one without deleting anything that came after it, so a bad afternoon costs you a click rather than a rebuild.

Version history · Benefits agentCompare
v7Live
2 hours ago · Rojitha G.
Tightened the refusal on dollar amounts
v6
Yesterday · Sam D.
Added lookup_claim before answering
v5
3 days ago · Rojitha G.
Switched to Deepgram Nova-3
v6 to v7
-Quote the member’s cost share.
+Never quote a dollar amount you did not read from the record.
Roll back to v6Model, voice and tools diff too

Where the agent runs

Once an agent exists it can be pointed at work in four ways, and none of them change the agent.

Outbound campaign
A contact list, an objective, a calling window and a retry policy. The list supplies the fields.
Inbound number
The agent answers on one of your numbers, alone or behind a branch of a phone menu.
API
Your systems start a call with one request and pass the fields in the body. Useful when the trigger lives in a claims or scheduling system rather than a list.
Help desk chat
The same agent in writing, on a widget embedded in your site, answering from the same knowledge.
POST /v1/callsAPI key
{
"agent": "benefits-v7",
"to": "+15550142200",
"fields": { "MEMBER_FIRST_NAME": "Rosa" }
}
202{ "callId": "CALL-8852" }
Starting a call from your own systems. The fields in the request are the fields the agent was configured with.

Campaign settings live with the campaign, which is why the same agent can run inside quiet hours in one and a wider window in another. The window is evaluated in the contact’s local time, and retries back off rather than redialling immediately.

Calling windowAmerica/Chicago
Mon9:00ato6:00p
Tue9:00ato6:00p
Wed9:00ato6:00p
Thu9:00ato8:00p
Fri9:00ato5:00p
SatClosed
Retries: 3 attempts, backing off from 30 minutes. Contact local time, not yours.

Templates and sharing

An agent that works can be saved as a template, so the next line starts from something proven instead of a blank prompt. Agents can also be shared to other workspaces directly, which keeps one canonical version instead of five copies drifting apart.

Who can edit a shared agent, and who can only run it, is decided by role. That is covered on the security page.

Developer documentation: agents in workflows, node reference, and the API for starting calls.

Make the front door intelligent