Skip to content

Aurra Case study

An AI voice agent that calls leads and qualifies them

A voice AI platform we designed and built for a client, who runs it as a product for their own customers. It calls a list, holds a real conversation in Tamil, Hindi or English, qualifies the person and books the callback. It has placed 192,493 calls in production and answers in about two seconds.

Our role
Design, build, operate
Languages
Tamil, Hindi, English
Sectors
Property, education, motor
Status
Live and iterating
A session log for one call, showing the speaking timeline, 40 turns, response time percentiles and a bilingual transcript

One real call, as the platform recorded it. Names, numbers and brands are replaced; the latency, token and timing figures are not.

192,493

calls placed in production

456

hours of live conversation

1.9s

median response time

$204

cloud cost, busiest month

The agent

It holds a conversation

The agent listens and answers from a knowledge base the account supplies. It handles being interrupted, and has to reply in about two seconds; past three, people say “hello?” and hang up. It decides whether someone is interested, books a callback, and hangs up politely.

It can open a call in English and carry on in Tamil the moment the person answers in Tamil.

Mixing is the harder half. The transcript beside this is Tamil grammar carrying English nouns inside one sentence. That is how people speak in Chennai.

  1. 00:01.6 Agent

    வணக்கம் Arjun சார், நான் Preethi, Northline Homes-ல இருந்து பேசுறேன். நீங்க Facebook-ல எங்க property ad பார்த்து enquire பண்ணிருந்தீங்க, அதைப்பத்தி ஒரு நிமிஷம் பேசலாமா?

    spoke 9.2s · 5,357 tokens in / 45 out

  2. 00:14.2 Caller

    ஓகே.

  3. 00:15.1 Agent

    நன்றி Arjun. உங்க வயது என்னன்னு தெரிஞ்சுக்கலாமா?

    replied in 1,861ms · model first byte 892ms · spoke 2.7s

  4. 00:22.5 Caller

    29.

  5. 00:23.6 Agent

    ஓகே Arjun. இப்போ நீங்க எங்க இருக்கீங்க? எந்த ஊர்ல இருக்கீங்கன்னு சொல்ல முடியுமா?

    replied in 2,285ms · model first byte 964ms · spoke 4.2s

The opening of a production call. 40 turns over 2 minutes 51 seconds, two tool calls and no interruptions. Median response 1,885 ms, with 7,986 prompt tokens served from cache. It ended classified as interested.

The flow

From lead to result

No account’s business logic lives in the code. Their script, knowledge, voice and calling policy are settings. They are edited in the dashboard and live on the next call.

Control plane and voice plane

Two parts. The control plane decides who to call, when and with what. The voice plane runs one conversation and knows nothing about the others.

Inside the platform

A record of every call

Every call produces a full record on its own. Nothing has to be switched on first.

A session log for one call, showing a bot and user speaking timeline, 40 turns, response time percentiles, token counts, and a bilingual transcript with per-turn latency under each line

Per-call diagnostics

A full record of every call

A speaking timeline, and the response time for every turn. Time to first byte is split out for speech recognition, the model and speech synthesis. Token counts, the recording and the transcript sit alongside. When a call goes badly there is a cause to point at.

The outbound calls screen, listing calls with phone number, campaign, outcome, an inline recording player, and duration

Outbound calls

Every call recorded, transcribed and classified

Filter by campaign, lead, outcome or duration. The recording plays in the row, and each call links through to its full session log.

The prompts screen, showing agent personas grouped as global, account and user prompts, with a prompt editor and a version marker

Prompts

Changing what the agent says

Each persona is a versioned prompt, with a diff and a rollback. A change applies on the next call. Adding an account is a database row.

More of the platform

  • The dashboard, showing active campaigns, leads uploaded, credit balance and a 30-day calling activity chart

    Dashboard

  • One campaign’s detail view with its call outcomes and progress

    Campaign creation

  • The inbound calls view, listing calls answered by the agent on an account’s own number

    Inbound calls

  • The audit log, listing privileged actions with actor, action and timestamp

    Audit log

In production

456 hours of live conversation

No human placed any of these calls. On the busiest day the platform made 6,100 of them, starting 32 inside a single minute.

It produced 2,981 qualified conversations: interested prospects, booked callbacks, fixed appointments and requests for information.

Outcomes across 192,493 calls

No answer
109,162
56.7%
Connected
67,615
35.1%
Missed callback captured
10,565
5.5%
Failed
5,128
2.7%
Busy
23
0.0%

Clients

Businesses running it in production

None of them needed a code change. An account is a prompt, a knowledge base, a voice and a set of providers.

Need something like this built?

Tell us what the system has to do and what it has to connect to. Thirty minutes is usually enough to say what we would build first and roughly what it would cost.