Skip to main content
Esc
Browse docs

Voice agent builder

Use the Slovio voice agent builder to design a call flow, add HTTP API and transfer tools, extract data from calls, tune call settings, test and deploy.

5 min readUpdated

The voice agent builder is where you design what your AI agent says and does on a call. Open Calling → Voice Agents, select Edit flow on an agent, then add call steps (nodes), connect them with transitions, attach tools, test with Test Agent and publish with Deploy.

Call steps (nodes)

Node Use
Start Call Where every call begins: the greeting and first question.
Agent A conversation step with its own Prompt. It can use Tools and Extract data.
Global Prompt Rules for the whole call: persona, language, escalation, things never to say.
End Call Closes the call with a final line. Hang-up delay (seconds) defaults to 1.
Inbound Trigger Settings for incoming calls, such as the Inbound path.
Quality Check Criteria to check the call against, with a Pass threshold (%) (default 70).

Start Call and Agent have Allow interruption (whether the caller can talk over the agent) and Apply global prompt. Start Call also has Wait for the caller, so the agent listens before it speaks.

Connect steps with transitions

Drag from one node to the next, then open the line to set the Transition:

  • Condition: when the agent should take this branch, for example the caller says they are interested.
  • Label (optional): a short name shown on the canvas, for example Interested.
  • Say something while moving: Speak text or Play a recording.

Select Save transition.

Use variables in prompts

Write {{name}} in any prompt to insert a value given when the call is placed, for example Confirm the appointment on {{appointment_time}}. The built-in templates use {{business_name}}, {{customer_name}}, {{offer}} and {{appointment_time}}. Send the values in variables with the Calls API. A token with no value becomes empty, and the agent is told not to make one up.

Extract data from the call

On a Start Call or Agent node:

  1. Switch on Extract data.
  2. In What to extract, describe the fields in plain words, for example whether the patient confirmed, cancelled or rescheduled, and any new preferred date.

After the call, one pass over the full transcript fills these values. You see them in the call's details in Call Logs, as columns in a campaign's results, and in extractedVariables on the call.ended webhook.

Tools

Tools are actions the agent can take mid-call. Create them in Calling → Tools → New tool, then tick them in an Agent node's Tools list. Every tool has a Name and a Description (when should the bot use this?). The agent reads the description to decide when to use it, so be specific.

Tool type What it does
HTTP API Calls your own API mid-call, for example to look up an order.
Transfer Call Hands the caller to a person or another number.
End Call Ends the conversation, with an optional Goodbye message.
Calculator Does arithmetic reliably, such as totals and discounts.

HTTP API tool fields

Field Notes
Method GET, POST, PUT, PATCH or DELETE. Default POST.
URL Your endpoint, for example https://api.yourapp.com/orders/{{query}}.
Query params Key and value pairs, for example orderId = {{query}}.
Headers Key and value pairs, for example Accept = application/json.
JSON body For example { "orderId": "{{query}}" }.
Timeout (ms) 500 to 8000. Default 5000.
API token Optional. Sent as a Bearer token and stored sealed.

{{query}} is the one value the agent fills in: the lookup key it heard from the caller, such as an order or booking number. Put it in the path, a query param or the body. It can't be used in the host name. Don't put secrets in Headers: Authorization, Cookie and API-key headers are dropped there. Use API token instead.

Transfer Call tool fields

Field Notes
Transfer to Phone number, Department, Teammate or IVR menu.
Phone number International format, for example +919876543210.
Ring (seconds) 5 to 120.
Before transferring None, Speak text (default line Please hold while I connect you.) or Play audio with an Audio file link.

Call settings

Call settings in the toolbar applies once you publish:

  • Limit call length: Max call duration (seconds) and the Closing line used when it is reached.
  • Silent caller: Silence before a reprompt, Reprompts before ending, the Reprompt and the Goodbye line.
  • Turn detection: Smart turn (works out when the caller has finished) or Speech timeout, with Longest pause on an unfinished sentence.
  • Voicemail detection: When a machine answers, Hang up or Leave a message with the Message to leave.

Select Save settings.

Voice, language and models

The language model, voice and transcriber are set for your whole account in Calling → AI Models, not per agent. Pick a Call stack, or set LLM, Voice and Transcriber yourself with your own provider keys. For Hindi and other Indian languages, choose a voice and transcriber that support them; see Build a Hindi voice agent.

Test and deploy

  1. Validate checks the flow for errors. Save keeps your changes.
  2. Test Agent → Test Chat → Start chat lets you type as the caller to check the flow.
  3. Phone Call rings a real phone so you can hear the agent.
  4. Deploy saves and makes the agent live. After later edits the button reads Update; when everything is published it reads Live.

Common questions

Why does my agent say nothing where a {{variable}} should be?

The call was placed without a value for it. Pass it in variables with the Calls API, and check the name matches exactly, including capitals.

Can I set a different voice for each agent?

Not at the moment. Voice, transcriber and language model are set once for the account in AI Models.

Can the agent use a value it extracted later in the same call?

No. Extraction runs once after the call ends. Use it for reporting and your own systems, not for later prompts in the same call.

Why is my Authorization header missing from the HTTP tool request?

Secret headers are removed from Headers for safety. Put your token in API token; it is sent as Authorization: Bearer.

Do edits go live straight away?

No. Changes go live when you select Deploy (or Update for a live agent).

Stuck, or is something here out of date? Tell the team — we reply within a working day.