Home/Agents/Voice
Voice Agent · Production · v1.8

Inbound calls answered, qualified, routed — in six languages, sub-second.

Twilio inbound number → Claude Haiku (sub-300ms first-token) → outcome captured. Qualifies leads against your criteria, books callbacks, escalates urgent calls to your phone via WhatsApp. Speaks English, Arabic, Hindi, Portuguese, Spanish, French. $8 per qualified lead. Voicemail is free.

  • $8per qualified lead
  • $8per callback booked
  • $15per urgent escalation
  • $0for voicemail / hangup
How it runs

The loop, end to end.

01

Answer

Twilio routes the inbound call. Claude Haiku 4.5 with streaming voice plays a greeting in <300ms first-token. Detects caller language from first utterance and switches if needed.

02

Qualify

Asks 3-5 qualification questions from your criteria sheet. Captures structured answers (company size, role, intent, timeline). Detects 'not a real lead' (cold caller, wrong number) and exits cheaply.

03

Route

Qualified → books a callback on your calendar OR transfers live if you're available. Urgent → WhatsApp + SMS your phone with summary. Otherwise records voicemail with transcript.

04

Log

Full transcript, outcome classification (qualified/unqualified/voicemail/callback/dropped), call recording, and audit-chain entry. Synced to your CRM. Outcome billed to ledger.

Inside the agent loop

The tools Claude actually calls.

→ inbound: twilio.call.start(from='+97150...', to='+15558881212')
→ tool_use: voice_session.create(tenant='cust_482', call_id='ca_8a3f')
→ tool_use: claude_haiku.greet(lang='auto', voice='warm_f')
← 'Hello, you've reached Acme Sales. How can I help?'  (latency 287ms)
→ caller: 'Hi, looking for pricing on the enterprise plan'  (Arabic)
→ tool_use: claude_haiku.qualify(criteria=jd_42, lang='ar')
← extracted: {company_size: '500+', role: 'CTO', timeline: 'Q3', intent: 'evaluation'}
→ tool_use: calendar.find_slots(tenant='cust_482', within='48h', duration=30)
← 3 slots returned
→ tool_use: claude_haiku.offer_slots(slots=..., lang='ar')
← caller picks slot 2
→ tool_use: calendar.create_event(slot=2, attendees=[caller, owner])
→ tool_use: hubspot.create_lead(name=..., source='inbound_call', score=82)
→ tool_use: outcome_ledger.record(event='qualified_lead', value=8)
→ tool_use: audit_chain.append(event='voice.qualify', actor='agent.voice', tenant='cust_482')

Real tool-call sequence from a recent production run. Names redacted.

Integrations included

Native MCP. No custom wrappers.

  • Twilio Voice (inbound + outbound)
  • Vonage (alternative)
  • Google Calendar / Cal.com / Calendly
  • HubSpot / Salesforce / Pipedrive
  • WhatsApp Business API (escalation)
  • Slack (live transfer routing)
  • Zendesk / Intercom (support tickets)
  • Custom IVR via webhook
  • Multilingual TTS (ElevenLabs, Cartesia)
  • Multilingual STT (Deepgram, Whisper)
  • Call recording (S3 / GCS, encrypted)
  • CRM lead enrichment (Clearbit, Apollo)
What this agent will NOT do
  • Outbound cold-call campaigns (use a dedicated outbound tool — compliance reasons)
  • Voice cloning of a named person (consent + liability issues)
  • Live therapy or medical advice (clear scope reasons)
Before · After

Your voice-agent process, redrawn.

Before

Manual qualification: 5 steps, wasted reps

  1. 01
    Caller reaches IVR / receptionist
    👤 Receptionist · 30 sec
  2. 02
    Transferred to sales rep queue
    👤 Sales rep · 1 min
  3. 03
    Rep answers, discovers caller is unqualified 60% of time
    👤 Sales rep · 5 min
  4. 04
    Rep collects notes, tries to salvage or exit
    👤 Sales rep · 3 min
  5. 05
    Logs to CRM, moves to next call
    👤 Sales rep · 30 sec
Total time
10 min / call
Handoffs
2
Humans
2
After · with rpa-automate

Agentic qualification: 4 steps, sub-second

  1. 01
    Twilio routes call → Claude Haiku greets in <300ms
    🤖 Voice agent · 280 ms
  2. 02
    Asks 3–5 qualification questions from your criteria
    🤖 Voice agent · 40 sec
  3. 03
    Qualified → books slot. Unqualified → voicemail. Urgent → WhatsApp.
    🤖 Voice agent · 12 sec
  4. 04
    Full transcript + outcome logged to CRM + audit chain
    🤖 Voice agent · 1 sec
Total time
~60 sec / call
Handoffs
1
Humans
1
ROI · voice-agent

Do the math with your numbers.

calls
$

Model assumes 40% of inbound calls qualify (typical for warm inbound). Voicemail / unqualified / hangup are free.

In-house monthly cost
$7,500
500 × $15
With rpa-automate
$1,600
200 × $8.00 per qualified lead
You save
$5,900
79% cheaper / month

Assumes linear scaling and no ramp-up. Real deployments hit steady-state around week 3–4. Outcome yield modeled at 40% — override at the audit call if your data suggests different.

Also see: Automate Lead Qualification — the same math from a process-first angle, for buyers thinking "we need to fix our lead qualification process" before shopping for an agent.

FAQ

What's the actual latency?

First-token: ~280-330ms in the AWS region matched to your Twilio number. Full sentence-to-sentence: 800-1200ms. That's faster than most humans on cold calls. Specs published per region — ask for current numbers.

Can it handle six languages mid-call?

Yes. Claude Haiku detects language change in the caller's audio (Deepgram + secondary classifier) and switches generation language. Common in GCC where callers code-switch English/Arabic. Latency penalty: ~120ms on switch.

How is this different from Bland, Vapi, or Retell?

Bland, Vapi, and Retell are voice infrastructure — you build the agent yourself. We're the agent. Outcome-priced ($8/qualified lead) instead of per-minute. With WhatsApp escalation + multilingual + the same audit chain as the rest of our system. Best for inbound; we don't position for outbound.

What about hallucinations on a live call?

Claude Haiku with extended thinking + a tight system prompt has a sub-1% hallucination rate on factual claims in our internal eval — and we hard-bound the agent to your published pricing, your stated availability, and your CRM data. Anything outside that scope → 'let me get someone who can answer that' + transfer.

Will it pass an AI disclosure law (e.g., California SB 1001)?

Yes. Configurable disclosure at call start: 'You're speaking with an AI assistant — say "human" anytime to transfer.' Required in California, Utah, and increasingly elsewhere. We default to disclosure on.

Want to see it run on your data?

A $0 outcome audit takes 3 minutes. We'll show you the outcome math, the integrations, and what week-one looks like — with your real systems.

Book the audit →