Voice AI platform · inbound and outbound

Voice agents that speak like a local.

Agents that answer and place real phone calls in 30+ languages. Build one in an afternoon, put it on a number, pay per minute. Run it on our cloud — or inside your own, when the audio cannot leave your network.

Self-serve · pay per minute · live today

Ava · Northside Dental

Inbound · +1 (555) 010-0142

Call status:RINGING · 0:00

Connecting…

Ringing…

  • Interrupt it. It stops.
  • Says it’s an AI, up front
  • Books against your real calendar
  • Inbound and outbound
  • 30+ languages
  • Connects to your existing telephony
  • Your cloud or ours
  • No monthly commitment
Is this for me?

Built for the calls small teams get every day

One platform, five jobs it already does well. Start with one line and one agent, and grow from there.

  • Customer support

    Answers the questions you get every day from your own material, and hands over to a person when it should.

  • IVR replacement

    Replace “press 1 for…” with a conversation that routes by what the caller actually says.

  • Outbound sales and collections

    Follow-ups, reminders and collections from a list or your CRM, with every outcome written back.

  • Appointments

    Books, reschedules and cancels against your real calendar, with time zones handled.

  • Multilingual service

    One agent, 30+ languages, switching mid-sentence when the caller does.

Chapter 01 of 05

Sounds right

The part callers notice first: spoken sentences, a delivery chosen per reply, and an agent that stops the moment you speak.

Sounds like a personLive

It sounds like a person, not a phone tree

Every reply is written to be heard rather than read, and the way it is spoken is chosen per reply rather than fixed once per agent.

  • Speaks in short, spoken sentences: the length a person actually uses on a call, not a paragraph read aloud.
  • Warmth, calm or urgency is chosen for each reply and carried into the voice, so the delivery matches what is being said.
  • Natural hesitations and acknowledgements where a person would use them, and none where they would not.
  • Reads numbers, dates, codes and amounts the way a person says them aloud, and reads important ones back for confirmation.
  • Register, courtesy forms and openers follow the language being spoken, not a translation of English phrasing.

How it works

The delivery instruction is generated per reply and mapped to whatever the selected voice can actually perform: pauses, emotion, rate or a spoken-style prompt. Anything the engine cannot perform is stripped rather than spoken aloud. Every call is scored afterwards on reply length, speaking rate, repeated sentences, stock phrases and filler use, and those numbers sit on the call record.

Reply composer · per reply, not per agent

Composing reply

Sure, let me pull that up for you.pause One moment.

Tone · WarmPace · RelaxedShort acknowledgement

This voice can perform

  • Pauses
  • Emotion
  • Rate
  • Spoken-style prompt

Stripped, not spoken aloud

[laugh]

Anything the engine cannot perform never reaches the caller.

Scored after the call · on the record

Reply length · shortSpeaking rate · naturalRepeated sentences · noneStock phrases · noneFiller · light
Knows when to speakLive

It knows when to speak, and when to stop

Interruption and end-of-turn are decided from how the caller’s voice actually ends, which is what makes a phone conversation feel like a conversation.

  • Interrupt it mid-sentence and it stops to listen, the way a person does.
  • When you talk over it, its own voice drops out of your way instead of competing with you.
  • A pause mid-thought is treated as a pause, not as your turn ending. It waits instead of talking over the end of your sentence.
  • If a call goes silent it re-engages once, and ends the call cleanly rather than holding an empty line.
  • If the caller says goodbye, the call ends there. No last word after the farewell.

How it works

End-of-turn is an acoustic decision, how the voice trails off, rather than a fixed silence timer or a keyword list, with barge-in gated so a one-word backchannel does not derail a sentence. Turn-taking is tuned for phone audio specifically, which behaves nothing like a laptop microphone.

Turn-taking · one exchange on a phone line
Agent
Caller
  1. 1Caller interrupts

    Agent stops mid-sentence and drops out of the way.

  2. 2Mid-thought pause

    Treated as a pause, not a turn. The agent waits.

  3. 3Turn ends acoustically

    The voice trails off. Now the agent replies.

Barge-in gated for one-word backchannelsSilence: re-engage once, then end cleanlyGoodbye ends the call

Chapter 02 of 05

Does the work

Answers from your documents, books and updates your systems mid-call, remembers the last conversation, and hands over with context.

Answers from your materialLive

It answers from your material, and says so when it cannot

Upload the documents an agent should answer from, and it answers from them, or admits it does not know rather than inventing something plausible.

  • Price lists, policy documents, product sheets, FAQs, scripts: uploaded, and used on the call.
  • Answers are grounded in the retrieved passage, so they reflect the document rather than the model’s general knowledge.
  • When nothing in the material covers the question, the agent says so and offers a next step instead of guessing.
  • Product names, place names and industry terms can be taught to the recogniser, so they are heard correctly on a noisy line.
  • Updating a document updates what the agent says. There is no prompt to rewrite.

How it works

Retrieval runs per turn and starts while the caller is still speaking, so the lookup is already in hand when the reply is composed. A miss is a hard block on answering rather than a soft hint, which is what stops a confident wrong answer.

Knowledge · grounded, or honest

Sources

  • price-list.pdf

    Used on calls · updated today

  • cancellation-policy.docx

    Used on calls

  • help.yourdomain.example

    Crawled · re-checked nightly

Taught to the recogniser

InvisalignDr. OkonkwoBallard clinicperiapical
Caller: Do you take the Aster dental plan?

Retrieved · insurance-policy.pdf · section 2

Retrieved while the caller was still speaking

Agent: Yes, we’re in-network with the Aster plan. Bring your member card to the first visit.
Remembers the last callPer agent

It remembers the last conversation

When memory is switched on, an agent recognises a returning caller and picks up where the last call ended.

  • Recalls what the caller asked for, agreed to, or was promised.
  • Removes the “as I mentioned last time…” gap that makes automated calls feel like starting over.
  • Off by default and enabled per agent, because not every use case should remember a caller.

Memory · this agent

Off by default

Returning caller recognised

Jordan L. · last call: about a moved appointment

  • Asked to move Thursday to the following week
  • Agreed to a morning slot
  • Was promised a text with directions
Agent: Welcome back, Jordan. Are you calling about the appointment we moved, or something new?
Does the workLive

It does the work, not just the talking

Agents call your systems mid-conversation, booking, looking up, updating, creating, and speak the result back.

  • Book, reschedule and cancel against a real calendar, with time zones handled.
  • Look a customer up, check an order or a balance, and answer with what the system actually returns.
  • Create or update a record in your CRM while the call is still running.
  • Any internal API can be given to an agent as an action, with the words it should use while it waits.
  • Actions that change something can be made to require the caller’s spoken confirmation first.

How it works

Each action is described to the agent with its own parameters and a natural “while I check that…” line, so a slow backend sounds like a person checking rather than dead air. Sensitive actions sit behind a read-back-and-confirm gate.

Actions · called mid-conversation
  • calendar.book(slot, patient, timezone)

  • orders.lookup(order_id)

  • crm.update(record, fields)

  • your.api(any parameters you define)

  • calendar.cancel(booking_id)

    confirm first

While the backend works

Agent: Let me get that booked for you…
Booked · Wednesday 08:00, caller’s time zone
Hands to a personLive

It hands over to a person properly

A caller can reach a human at any point, and the human arrives with the context rather than asking the caller to start again.

  • Ask for a person, press a key, or simply sound like you want one. All three route the call.
  • The person receiving it is briefed on what the caller wanted before they speak.
  • Transfer to a desk, a mobile, or a queue.
  • Calls that end in a handover are marked as such, so you can see what your agents are handing over and why.
Handover · the person arrives briefed
  • Asks for a person

    “Can I speak to someone?”

  • Presses a key

    0 pressed

  • Sounds like they want one

    Frustration detected in tone

  • Desk
  • Mobile
  • Queue

Brief for Dana · read before you answerWarm transfer

Jordan is calling about the cleaning booked for Wednesday at 8 and wants to know if the practice offers payment plans for a crown. Identity verified. Calm, in a hurry. The agent has already offered the following Wednesday and Jordan said no.

Call record · ended: transferredReason · asked for a person

Chapter 03 of 05

Fits your setup

Your languages, your phone lines, your channels and your outbound lists. Nothing to replace.

Speaks your languagesLive

It speaks your customers’ languages

One agent covers 30+ languages with code-switching mid-sentence, rather than a separate deployment per market.

  • Callers switch language mid-sentence and the agent follows.
  • Regional accents and dialects are supported within a language, not flattened into one.
  • A library of voices to choose from, or a custom voice cloned for your brand.
  • A language we do not yet cover can be added, typically in three to four weeks.

How it works

The language of the reply follows the caller turn by turn; it is not pinned at the start of the call.

Languages · follows the caller, turn by turn

Hello, how can I help?

EnglishAccents · en-GB · en-US · en-IN

Code-switching mid-sentence

Caller: Hi, I’m calling about the ceramic crown… perdón, ¿podemos seguir en español?
Agent: Claro, sigamos en español. ¿Es para una consulta o para agendar la colocación?

Voice library

  • Ava · Warm
  • Kai · Calm
  • Riley · Upbeat
  • Your brand · Cloned

Coverage

30+ languages today. One you need that we do not cover yet can be added, typically in three to four weeks.

Your phone linesLive

It runs on your phone lines

Agents connect to the telephony you already have, over SIP. No replacement of your phone system.

  • Connects over SIP to your existing setup, including major cloud and on-premise platforms.
  • Or take a number from us: call destinations in 180+ countries, numbers available in 20+.
  • Inbound and outbound from the same agent. One build, both directions.
  • Bring your own carrier account if you have one, and keep your rates.
  • Recording, transcripts and per-number routing included.

How it works

Inbound routing is per number, so one account can run different agents on different lines, and an agent can be swapped on a number without touching the carrier.

Telephony · SIP into what you already run

Your phone system

Cloud or on-premise PBX · your carrier

CallWhiz AI agents

Inbound and outbound

NumberLineAgent
  • +1 (555) 010-0100Front deskAva
  • +1 (555) 010-0142BillingKai
  • +1 (555) 010-0177After hoursRiley

Swap the agent on a line without touching the carrier.

Same agent, both directionsNumbers from us in 20+ countriesDestinations in 180+ countriesBring your own carrier · keep your rates
Beyond the phoneLive

It is not only a phone agent

The same agent answers on the web, on WhatsApp and in your mobile app, with one set of instructions and one set of knowledge.

  • An embeddable voice widget for your website. The caller clicks and talks.
  • The official WhatsApp Business API, including tap-to-answer menus that fill in details without a round trip.
  • Mobile: route a call to a teammate’s phone when they are available, and let the agent take it when they are not.
Channels · one agent, one set of instructions

Front desk agent

One set of instructions · one set of knowledge · every channel

  • Phone

    Inbound and outbound on your lines, over SIP or a number from us.

    • Front desk lineInbound
    • Renewals campaignOutbound
  • Web widget

    yourdomain.exampleTalk to us

    The visitor clicks and talks.

  • WhatsApp

    Hi Jordan, want to book, move an appointment, or talk to a person?
    BookMove appointmentTalk to a person

    Official Business API. Tap-to-answer fills in details without a round trip.

  • Mobile

    • Dana · availableRings her phone
    • Dana · in a meetingAgent takes it
Outbound campaignsLive

It makes the calls you never get around to

Run outbound campaigns from a list, a sheet or your CRM, with retries, pacing and per-call outcomes written back.

  • Upload a list or connect a CRM; the campaign dials, talks, and records what happened.
  • Failed and unanswered calls retry on their own schedule instead of being lost.
  • Outcomes and extracted fields are written back to the source record.
  • Pre-recorded campaigns with personalised details spliced in, where a full conversation is not needed.
  • A campaign can be paused platform-wide, immediately, including calls that are ringing.
Outbound · campaign from your CRM list

September renewals

Source: CRM list · paced · caller’s time zone · outcomes written back

Pause everything
  • PPriya S.Renewal dueDialing
  • MMarcus T.Renewal dueNo answer · retry scheduled
  • EElena R.Reminder · pre-recorded, name spliced inQueued · 10:00 local
  • TTom W.Renewal dueOpted out · honoured live
  • AAisha K.Renewal dueDone · callback booked

Pausing stops the platform-wide campaign immediately, including calls that are ringing. Every outcome and extracted field lands back on the source record.

Chapter 04 of 05

You can trust it

Rules that are enforced rather than hoped for, tests before release, a full record of every call, and a build you can read.

Compliance and controlLive

It stays inside the rules you set

Compliance is a setting on the agent, not a paragraph in the prompt hoping to be obeyed.

  • Say it’s an AI

    The agent states it is an AI before it starts.

    On
  • Calling hours

    Per agent, in the customer’s own time zone, enforced before a call is placed, not after.

    09:00–18:00 · caller’s time zone
  • Daily cap per number

    So nobody is called five times in a day by accident.

    1 attempt per day
  • Opt-out honoured during the call

    A caller asking not to be called again is recorded as such the moment they say it.

    On
  • Sensitive details protected in speech

    Long numbers and one-time codes are masked rather than read aloud, and identity can be required before any account detail is discussed.

    On
  • Policy pack

    Ready-made packs for regulated work, with the stricter rules locked on rather than left to configuration.

    Regulated · floors locked
  • Retention and erasure

    Recordings and transcripts age out on your schedule, and a caller’s data can be erased on request.

    On your schedule
  • Audit trail

    Who changed what, tamper-evident.

    Tamper-evident

How it works

The guard sits between the model and the voice, so a rule breach is stopped before it is spoken, not flagged afterwards. Floors in a regulated pack cannot be relaxed from the console; relaxing one requires an audited override.

Test before customers doLive

You can test it before your customers do

Agents are tested against written scenarios the same way software is, so a prompt change is checked before it reaches a caller.

  • Write a scenario, an awkward caller, a refund demand, a wrong number, and run the agent against it.
  • Turn a real call that went badly into a test case in one click.
  • Compare two versions of an agent head to head before switching.
  • A weekly improvement pass proposes changes, and a person approves or rejects each one. Nothing edits itself into production.
Tests · written scenarios, run before release

Front desk · candidate version

Compared with current
  • Awkward caller asks the same thing three timespass
  • Refund demand outside policypass
  • Wrong number, wants to leave anywaypass
  • Caller switches to Spanish mid-sentencefail
  • Asks for legal advicepass

Not switching yet

The candidate answered in English after the caller switched. Made from a real call in one click; fixed before any customer hears it.

Weekly improvement pass · proposals awaiting approvalNothing edits itself into production
See every callLive

You can see exactly what happened on every call

Every call leaves a full record: recording, transcript, outcome, who ended it and why, what the agent did, and how it sounded.

  • Recording and searchable transcript.
  • Outcome and end reason on every call: resolved, transferred, callback, abandoned, opted out.
  • The actions the agent took, and what came back.
  • A post-call summary that quotes the call rather than paraphrasing it.
  • How it sounded: speaking rate, reply length, repeated sentences, filler use, so “it sounds robotic” becomes something you can point at and fix.
Call record · everything that happened
Outcome · resolvedEnded by · callerEnd reason · goodbye
recording · transcript

Actions taken

  • calendar.find_slots 3 slots
  • calendar.book booked

Summary · quotes the call

Caller asked for “a cleaning sometime next week, ideally in the morning”; booked “Wednesday at 8” and confirmed by text.

How it sounded

Speaking rate · naturalReply length · shortRepeated sentences · noneFiller · light
Build in an afternoonLive

Building one takes an afternoon

Describe the job in plain language and the agent is drafted for you, section by section, with the gaps flagged before it goes live.

  • Describe the job; the instructions are written for you, then edited by you.
  • A lint pass catches the mistakes that cause bad calls: missing boundaries, a tool the agent cannot actually call, a rule that contradicts the compliance pack.
  • Every version is kept, with who changed it and when, and any version can be restored.
  • Test by phone or in the browser before it goes anywhere near a customer.
Builder · describe the job, edit the draft

Describe the job

“Answer calls for a dental practice. Book and move appointments, answer questions about prices and insurance from our documents, take messages after hours, and put anyone who asks through to the front desk.”

Drafted section by section, then yours to edit

  • Greeting and who it isdrafted

  • What it can help withdrafted

  • Boundarieslint

    Missing: what to do when asked for legal advice

  • Actionslint

    “refund_order” is not attached to this agent

  • Handoverdrafted

  • Compliancelint

    Calling hours contradict the regulated pack

Versions

  • v12 · Dana · todaylive
  • v11 · Sam · yesterdayrestore
  • v10 · Dana · last weekrestore
Test by phoneTest in browser

Chapter 05 of 05

You can afford it

An API for developers, a deployment that fits your data rules, and pricing a small team can start on today.

DevelopersLive

Developers get the whole thing as an API

Everything the console does is an API call, and every call can push events to your systems.

  • Create and manage agents, place calls and read call records programmatically.
  • Web SDK with signed tokens and domain allow-listing for browser calling.
  • Webhooks before a call (to look the caller up) and after it (to file the result).
  • Published OpenAPI description; bearer-token auth.

Before the call

call.started

Look the caller up and hand the agent what you know.

After the call

call.completed

File the outcome, the summary and the extracted fields.

Published OpenAPI descriptionBearer-token auth · signed web tokens · domain allow-list
agent.ts
import { CallWhiz AI } from "@callwhiz/sdk";

const callwhiz = new CallWhiz AI({ apiKey: process.env.CALLWHIZ_API_KEY });

// Draft an agent from a plain-language description of the job
const agent = await callwhiz.agents.create({
  name: "Front desk",
  job: "Dental front desk: book and move appointments, take messages after hours.",
  voice: "ava",
  languages: "auto",
  knowledge: ["kb_pricing", "kb_policies"],
  actions: ["calendar.find_slots", "calendar.book", "crm.create_note"],
  compliance: { discloseAi: true, callingHours: "09:00-18:00" },
});

// Put it on a number you own or one you bought from us
await callwhiz.numbers.assign("+1 555 010 0100", { agentId: agent.id });

// Place an outbound call
const call = await callwhiz.calls.create({
  agentId: agent.id,
  to: "+1 555 010 0142",
  metadata: { leadId: "L-2291" },
});

console.log(call.id, call.status);
webhook · call.completed
{
  "event": "call.completed",
  "call_id": "call_01J9",
  "agent_id": "agt_frontdesk",
  "direction": "inbound",
  "outcome": "resolved",
  "ended_by": "caller",
  "end_reason": "goodbye",
  "actions": [
    { "name": "calendar.book", "status": "ok" }
  ],
  "summary": "Asked for a cleaning next week; booked Wednesday at 8.",
  "recording_url": "https://…",
  "transcript_url": "https://…"
}
Deploy anywhereLive

Run it where your data has to live

The same platform runs as SaaS, inside your own cloud account, or on your own hardware, with the same features either way.

  • SaaS

    Sign up and be live today.

    Self-serve · pay per minute

  • Your cloud

    The platform inside your own AWS, Azure or GCP account, so call audio never leaves your boundary.

    Scoped, then live in about 30 days

  • On-premise

    Bare metal or Kubernetes, for networks with no cloud at all.

    Scoped, then live in about 30 days

Available when you need them, not required to start

  • SSO and role-based access
  • Data residency by region
  • Multi-tenancy
  • 99.9% uptime SLA

The same features in every mode. In-cloud and on-premise deployments are scoped first, then live on real calls in about 30 days.

PricingLive

Pricing that a small team can start on

Pay per minute from credits, with no platform fee, no per-seat charge and no monthly commitment.

  • One credit is US$0.01.
  • A standard-voice minute is about five credits; premium voices about seven; realtime models eight to fifteen.
  • No platform fee, no seat licences, no minimum.
  • Larger deployments are quoted separately.

Estimate your month

1,000 min
Voice

About

$50a month

5,000 credits · 5 credits a minute · one credit is US$0.01

An estimate. Billed per minute from credits. No platform fee, no seat licences, no minimum. Larger deployments are quoted separately.

Questions

Objections, answered without being asked

Short answers that stand on their own.

No. Sign up, build an agent, put it on a number, be live today. Scoping applies only when you want it running inside your own infrastructure.

No. Most customers are small and mid-sized teams paying per minute. The controls large companies need exist; they are not required to start.

No. It connects to your existing telephony over SIP. You keep your numbers, your carrier and your setup.

It does not have to. The same platform runs inside your own cloud account or on your own hardware.

Interrupt it and it stops. It speaks in spoken sentences with a delivery chosen per reply, and every call is measured for the things that sound wrong so they can be fixed.

It says so and hands to a person, with the context. It is built to admit a gap rather than invent an answer.

Credits. One credit is one cent; a standard-voice minute is about five. Nothing else on the bill.

Start today

Put an agent on a number this afternoon.

Sign up, describe the job, attach a line, and pay per minute. When you want a walkthrough, or the audio has to stay inside your network, book a demo and we’ll scope it with you.

No platform fee · no seat licences · no minimum

Book a demo

Tell us what the agent should handle. We reply from a person.

Where should it run?

No sales gate for self-serve. This is for when you want a walkthrough.