AI Voice Agent

Answer inbound calls with AI, qualify customers, warm-transfer to reps, and fall back to callback tasks.

Intermediateownermanagersales repUpdated 2026-03-14

AI Voice Agent

The AI Voice Agent lets CleanEstimate Pro handle customer phone calls with AI before a human jumps in. It can:

  • Answer inbound calls on your Twilio number
  • Ask qualifying questions one at a time
  • Share rough service and pricing guidance
  • Attempt a warm transfer to an available rep
  • Fall back to a callback task and follow-up SMS if nobody answers

You can manage it from Admin > AI > Voice Agent.

The voice agent also follows your saved Brand Voice & AI Training profile so its spoken replies match how you want the business represented.


What It Handles

The voice agent is designed for early-call qualification, not final job booking.

Good uses:

  • New lead intake
  • Service questions
  • Rough pricing conversations
  • After-hours or overflow call handling
  • Speed-to-lead fallback when a live rep is unavailable

Cases that should transfer to a person:

  • The caller asks for a human
  • The caller wants exact pricing or firm schedule promises
  • The caller is upset, confused, or discussing a problem job
  • The caller is ready for a detailed booking conversation

How The Call Flow Works

Inbound Calls

  1. Customer calls your Twilio number
  2. Twilio sends the call to CleanEstimate Pro's voice webhook
  3. The AI voice agent greets the caller and starts qualification
  4. If the call needs a rep, the system tries a warm transfer
  5. If no rep answers, CleanEstimate Pro creates a callback task and can text the caller automatically

Outbound AI Calls

Outbound AI calling currently works in two ways:

  • Manual test or follow-up calls from the Voice Agent page
  • Speed-to-lead fallback when the standard auto-dial flow cannot connect a live rep

Twilio Setup

Configure these URLs on the phone number you want the voice agent to use:

  • Incoming Voice Webhook: /api/webhooks/twilio/voice
  • Voice Status Callback: /api/webhooks/twilio/voice/agent-status
  • SMS Webhook: /api/webhooks/twilio

If your app runs on https://app.cleanestimate.pro, the full voice URLs would be:

https://app.cleanestimate.pro/api/webhooks/twilio/voice
https://app.cleanestimate.pro/api/webhooks/twilio/voice/agent-status

The Voice Agent page shows the exact URLs for your current environment.


Settings

The Voice Agent page includes:

  • Enable voice agent - global on/off
  • Answer inbound calls - route incoming Twilio calls into AI
  • Outbound AI fallback - use AI when speed-to-lead cannot reach a live rep
  • Warm transfer - bridge the caller to an available rep
  • Follow-up SMS - text the caller after callback fallback
  • Twilio voice - the text-to-speech voice name used in <Say>
  • Max AI turns - how long the AI should keep talking before wrapping up
  • Greeting - your opening message

Warm Transfer Behavior

When warm transfer is enabled, CleanEstimate Pro checks rep availability and tries to connect the caller live.

If a rep answers:

  • The call is marked as transferred
  • The rep takes over the conversation

If no rep answers:

  • The call is marked as needing callback
  • An internal follow-up task is created
  • A high-priority AI alert is created
  • An optional SMS confirms that your team will follow up

Where Call History Appears

Completed voice sessions create a call summary in the shared inbox. That means your team can see:

  • The call direction
  • The qualification summary
  • Whether the AI requested follow-up
  • Whether a warm transfer connected

Callback fallback also creates an internal task-style note in the conversation thread.


Important Limits

  • The voice agent speaks with short AI-guided turns, not full free-flowing human conversation.
  • It can discuss rough pricing only.
  • It should not promise exact availability or commit a crew without human review.
  • The legacy automation builder's Make Call step is still separate. Voice Agent works today even though the older builder step remains unavailable.

Was this article helpful?

Still need help? Contact support