AI Voice Agent for Pre-Sales Calls: Call Every Lead in 60 Seconds, Qualify It, Book the Demo
- HBR's audit of 2,241 US companies found an average first response to a web lead of 42 hours, and the MIT and InsideSales study found contact odds fall 100 times between minute 5 and minute 30. An agent that dials within 60 seconds of the form fill closes that gap for about 12 cents a call.
- The saving is sales time, not call cost: first-touch calling for 1,000 leads a month takes about 168 SDR hours, roughly $9,250 at a loaded $54.95 an hour, and the agent hands back only the leads that qualify. Replace my 30% qualification rate with yours before you believe the total.
- In the US an AI voice is an artificial voice under the TCPA (FCC 24-17, February 2024), so a sales call to a mobile needs prior express written consent, a named caller, a time between 8am and 9pm local, and do-not-call checks. Put consent capture in the form before you write agent code.
- 1Form submittedt = 0 s
The lead fills the demo form, including a consent checkbox that names your company and covers automated and AI-voice calls. The CRM fires a webhook.
- 2Compliance gatet + 3 s
Consent on file, not on a do-not-call list, 8am to 9pm at the lead's location, not already on a call. Fail a check and the lead waits for the next permitted window or goes to a person.
- 3Dialt + 10 s
The dialer places a SIP call through Twilio or Telnyx and waits for an answer. Answering machine detection decides between a conversation and a short message.
- 4Qualify2 to 5 min
A state machine walks need, timing, authority and budget. The model phrases the questions and extracts the answers; code decides what happens next.
- 5Routeend of call
Qualified: book the account executive's calendar or warm-transfer now. Interested but early: nurture. Not a fit: close politely. Ambiguous: a person calls back.
- 6Write backunder a minute after hang-up
Slot values with evidence, a score, a short summary, the recording link and the next step land in the CRM. The salesperson reads a brief, not a transcript.
What does an AI voice agent for pre-sales calls actually do?
It phones every inbound lead within a minute of the form fill, when calling is allowed, asks four to six qualifying questions, answers product questions from approved material, and books a demo, transfers a hot buyer to a salesperson, or closes the lead politely. Your sales team starts the day with qualified meetings instead of a list to dial.
The problem it solves is old and well measured. When Harvard Business Review audited 2,241 US companies, 37% responded to a web lead within an hour, the average first response was 42 hours and 23% never responded at all (HBR, 2011). Firms that tried to reach a lead within an hour were nearly seven times as likely to qualify it as firms that waited even an hour longer. The MIT and InsideSales study of more than 15,000 leads and 100,000 call attempts was sharper: the odds of contacting a lead fall 100 times between a 5-minute and a 30-minute response, and the odds of qualifying it fall 21 times (Lead Response Management study).
Both studies are more than a decade old, and I have not found a newer primary study with a published method, so read the multipliers as direction rather than decimals. The direction has not changed. A lead is most reachable in the minutes after raising a hand, and a team of people with calendars, lunch breaks and time zones cannot answer every form within a minute. Software can, and that is the whole product.
It suits B2B companies with inbound demo requests, insurance and lending brokers, and education and home-services businesses: anyone whose leads arrive in bursts and out of hours. It is hard to justify a custom build below about 200 leads a month, where a salesperson with a response-time target or an off-the-shelf platform covers the need, and it does not suit enterprise sales where the first call is the relationship. For the research layer that briefs the salesperson before the meeting, see building an AI sales research agent.
How much sales time does a pre-sales voice agent save?
On the model below, about 118 hours a month per 1,000 leads, or roughly $6,500 of loaded SDR time, while the agent's own calls cost about $100. The larger gain is harder to price: every lead gets a call inside a minute, including the ones that arrive at 7:40pm or on a Saturday morning.
Start with what a sales development rep costs. The Bridge Group's 2025 benchmark puts median SDR on-target earnings at $80,000 ($55,000 base plus $25,000 variable), ramp at 3.0 months, tenure at 1.9 years and annual attrition at 40% (Bridge Group, 2025). Wages are 70.0% of employer compensation cost in US private industry (BLS, June 2026), so $80,000 of pay is about $114,300 of cost, or $54.95 per paid hour. The same benchmark counts 4.1 quality conversations a day; at 21 working days a month, divide a loaded month by them and each one costs about $110.
Now the first-touch workload, on assumptions you should replace with your own: three call attempts per lead at 1.5 minutes each for dialling and voicemail, a 60% connect rate with six-minute conversations, and two minutes of CRM notes. That is 10.1 minutes a lead, or 168 hours a month for 1,000 leads, about $9,250 of SDR time. If 30% qualify and each qualified lead still takes ten minutes of human attention, the human share falls to 50 hours. The agent's calls cost about 10 cents a lead: the 60% who answer get a 12-cent conversation and the average lead also gets 1.2 voicemail attempts at about 3 cents, using the per-call costs in the last section.
Two caveats. The saving only turns into money if the freed hours go to qualified conversations or you hire fewer SDRs next year, and that is a management decision, not a feature. And 30% is a placeholder: some funnels qualify 10% and some 50%, which moves the remaining human hours by a factor of five. Put your call volumes into the voice AI cost calculator, then price your version in the AI product cost estimator.
What is the architecture of an AI pre-sales calling system?
Eleven parts: a web form that captures consent, a CRM trigger, a compliance gate, a dialer on a SIP trunk, the voice pipeline, a qualification state machine, an approved knowledge base, calendar booking, warm transfer, CRM write-back, and recordings with QA. Only the pipeline and the state machine involve models. Most of the engineering is in the other nine.
The trigger is a webhook, not a poll. HubSpot, Salesforce and most form tools can post a new lead to your endpoint as it is created, while polling a CRM every five minutes throws away the minutes the product exists to save. The endpoint writes the lead to a queue with an idempotency key, because form tools retry and nobody wants two calls in thirty seconds. The compliance gate then checks consent, do-not-call status, the lead's local time and whether the number is already on a call, before anything dials.
The dialer is LiveKit's outbound SIP: the agent creates a SIP participant through the CreateSIPParticipant API over a Twilio or Telnyx trunk and waits for an answer (LiveKit outbound calls). LiveKit's docs point out that voicemail systems also answer with a SIP 200 OK, so you need answering machine detection: Twilio charges $0.0075 a call for it, Telnyx $0.002 standard or $0.0065 premium (Twilio, Telnyx). Carrier choice and the stacked cost of an outbound minute are in LiveKit SIP trunking with Twilio vs Telnyx.
The voice pipeline is the usual cascade of streaming speech-to-text, a language model and text-to-speech, with semantic turn detection. Sales calls punish interruptions more than support calls do, because a prospect's hesitation is often an objection forming, so tune for patience using turn detection and barge-in. Everything after the call (booking, write-back, the recording link) runs from structured output the state machine produces, never from parsing the transcript afterwards.

How do you build a BANT qualification script for an AI voice agent?
As a state machine in code, not a paragraph in the prompt. Each state owns one slot (need, timing, authority or budget), a way to ask for it and a rule for what counts as an answer. The model phrases questions and extracts values; your code decides the next state, the score and when the call ends.
BANT (budget, authority, need, timing) is a fine starting point with two changes for the phone. Ask about need first, because a prospect who hears a budget question in the first thirty seconds is likely to hang up. And make budget the last and softest slot: 'Is there budget set aside for this, or would it be new spend?' is a question, while 'What is your budget?' is an interrogation. MEDDIC or your own criteria work the same way. The slots, their order and the disqualifiers are data your sales leader can edit without a deploy.
Each slot gets two attempts. If the prospect deflects twice, the machine records 'unknown', moves on and lowers the score instead of asking a third time, which is how an AI agent becomes the pushy caller people complain about. Disqualifiers end the call early and politely: a student project, a company size you do not serve, a region you cannot sell into. Hot signals (an active evaluation, a deadline inside 30 days, the decision maker on the line) jump straight to booking or transfer, because nobody wants three more questions after saying 'we need this by month end'.
The model never decides that a lead is qualified. It returns each value with a verbatim quote from the transcript as evidence, and deterministic code computes the score. It is the same design as the confidence gate in the AI customer support agent, for the same reason: a model grading its own conversation tracks fluency, not truth. It also gives you an audit trail when a salesperson asks why a lead was booked.
type Slot = "need" | "timing" | "authority" | "budget";
type SlotResult = {
value: string | null; // extracted by the model, normalised to an enum
evidence: string; // verbatim quote from the transcript
attempts: number; // how many times we asked
};
type Slots = Record<Slot, SlotResult>;
const ORDER: Slot[] = ["need", "timing", "authority", "budget"];
const MAX_ATTEMPTS = 2;
const MAX_CALL_SECONDS = 420;
const DISQUALIFY: ((s: Slots) => boolean)[] = [
(s) => s.need.value === "no_use_case",
(s) => s.authority.value === "student_or_personal",
];
export function nextStep(s: Slots, callSeconds: number) {
if (DISQUALIFY.some((rule) => rule(s))) return { action: "close_politely" };
const hot = s.timing.value === "under_30_days" && s.authority.value === "decision_maker";
if (hot) return { action: "book_or_transfer" };
const open = ORDER.find((k) => s[k].value === null && s[k].attempts < MAX_ATTEMPTS);
if (open && callSeconds < MAX_CALL_SECONDS) return { action: "ask", slot: open };
// a slot only counts if the model quoted the prospect saying it
const score = ORDER.filter((k) => s[k].value !== null && s[k].evidence.length > 0).length;
if (score >= 3) return { action: "book_demo" };
if (score === 2) return { action: "human_callback" };
return { action: "nurture" };
}The agent briefs the AE in a side room, then bridges the call. Falls back to booking if nobody answers in 30 seconds.
Round robin across AE calendars, confirmation by email and SMS, a CRM deal created with the slot values.
An SDR calls within the business day with the summary in hand. Cheaper than a wrong booking.
Tagged for email sequences. No second AI call without a new trigger from the lead.
Do-not-call flag written before the call ends. The FCC allows 10 business days; there is no reason to take more than 10 seconds.
How does the agent answer product questions without making things up?
From a small, approved knowledge base loaded into the prompt rather than retrieved, with a rule that anything outside it gets 'I'll have the specialist confirm that on your call.' Prospects ask about pricing, integrations, security and contracts, and a wrong answer to any of them is a commitment your sales team has to walk back.
Pre-sales knowledge is small. Pricing tiers, the integration list, security statements, implementation timelines and the ten objections your best salesperson answers every week often fit in 10,000 to 20,000 tokens; count yours before choosing. At that size, put it in the system prompt behind a cache breakpoint instead of building retrieval: Claude Haiku 4.5 bills cached input at $0.10 per million tokens against $1 uncached (Anthropic pricing), and you remove a search hop from a turn budget with nothing to spare. Retrieval is the next step only when the corpus outgrows the prompt.
Write the knowledge base as spoken answers, not documents. 'Do you integrate with Salesforce? Yes, a native app with two-way sync of contacts and deals, set up in under an hour' works in a voice turn; a twelve-page integration guide does not. Tag every answer with an owner and a review date, and let the agent say only what is there. Pricing gets its own rule: list prices from an approved table, never a discount and never 'I can probably get you a better deal', because a recorded AI making offers leaves your sales team an offer to honour or explain.
Test it the way prospects will. Build 50 hard questions from real call recordings (competitor comparisons, 'are you HIPAA compliant', 'can I cancel any time') and score the agent weekly on three outcomes: a correct answer from the knowledge base, a correct deferral to a specialist, or an invented answer. The target for the third is zero, because one invented security claim on a recorded line costs more than a month of the agent's calls.
- 10,000 to 20,000 tokens of approved answers, cached
- No retrieval hop inside the turn budget
- Cached input billed at a tenth of the base price
- Every answer reviewable in one file by the sales leader
- Needed for large catalogues or many product lines
- Adds a search call you must fit inside the turn
- Brings freshness and permission rules you now own
- Right for support; usually wrong for a qualification call
How do calendar booking, CRM write-back and warm transfer work?
Through three tool calls with idempotency keys: read open slots, book one, and write the outcome to the CRM. Warm transfer is a fourth path, used in business hours when an account executive is free: the agent briefs the salesperson privately, then bridges the call and leaves.
Booking goes through the scheduler your sales team already uses. Calendly's Scheduling API books with a POST to /invitees carrying an event type, a UTC start time and the invitee's name, email and time zone, after a GET to /event_type_available_times for open slots; it needs a paid Calendly plan, and each availability query spans at most 31 days (Calendly docs). Cal.com's v2 API has an equivalent create-booking endpoint. Read slots at the moment you offer them, not at the start of the call, and book with an idempotency key so a retried request cannot create two meetings.
CRM write-back is the part the sales team actually sees, so design it with them. One structured record per call: each slot with its evidence quote, the score, a three-sentence summary, objections raised, the recording link, and the next step with an owner. Queue the writes rather than firing them inline: HubSpot limits private apps to 190 requests per 10 seconds on Professional and Enterprise (HubSpot API limits), and a burst of end-of-call updates after a webinar reaches that faster than you expect.
Warm transfer is where a good agent feels like part of the team. LiveKit ships a WarmTransferTask that puts the caller on hold, dials the account executive into a private consultation room, has the agent summarise the conversation, then moves the salesperson into the caller's room and disconnects both agents (LiveKit warm transfer). Its docs are clear that the fallback when nobody answers is yours to build. Mine would be: after 30 seconds, return to the prospect, apologise, and book the earliest slot.
| Kind | Idempotency key | Timeout | If it fails | |
|---|---|---|---|---|
| get_open_slots | read | not needed | 1.5 s | Offer a callback window instead of exact times |
| book_meeting | write | lead ID plus slot start | 3 s | Confirm by email later; never book twice |
| write_crm_outcome | write, after hang-up | call ID | queued with retries | Retry from the queue; the call is already over |
| warm_transfer | call control | call ID | 30 s of ringing | Return to the prospect and book the earliest slot |
What are the TCPA rules for AI sales calls, and how do other countries differ?
In the US an AI-generated voice is an artificial voice under the TCPA, so a sales call to a mobile needs prior express written consent, a clear statement of who is calling, a time between 8am and 9pm at the lead's location, and do-not-call checks. The UK and Canada also require consent specific to automated calls.
The anchor is the FCC's declaratory ruling released on 8 February 2024, which confirmed that the TCPA's restrictions on artificial or prerecorded voices cover AI technologies that generate human voices, and that telemarketing calls using them need prior express written consent (FCC 24-17). The detail is in 47 CFR 64.1200: written consent for artificial-voice telemarketing to mobiles in (a)(2), identifying the business at the start of the message in (b)(1), no solicitation before 8am or after 9pm local time in (c)(1), the national do-not-call registry in (c)(2), and company do-not-call requests honoured within 10 business days in (d). A demo request creates a business relationship for three months under (f)(5), which helps with do-not-call, but it does not replace written consent for an AI voice on a mobile.
Three recent changes matter. The Eleventh Circuit vacated the FCC's one-to-one consent rule in January 2025 (Insurance Marketing Coalition v. FCC), but consent must still name you as the seller. On 9 September 2026 the FCC adopted changes that make one opt-out from a marketing call cover all your marketing calls and let you designate an exclusive opt-out method, effective 30 days after publication (Hunton). And since McLaughlin Chiropractic v. McKesson in June 2025, district courts are not bound by FCC interpretations (Cooley); do not read that as a loophole, because a synthetic voice is an artificial voice on the statute's plain words. The FCC's 2024 proposal to require AI disclosure on calls was still not final when I checked (Federal Register), so disclose anyway, in the first sentence.
States and other countries add layers, summarised in the table below. Florida limits commercial solicitation calls to 8am to 8pm and three calls in 24 hours on the same subject (Fla. Stat. 501.616), California requires every party's consent to record a confidential call (RCFP guide), and the UK, Canada, Australia and India each have their own consent rules, hours and number schemes. I am not your lawyer; a telecom lawyer's afternoon on your consent language is the best money in this project.
| Market | Consent for automated or AI sales calls | Calling hours | Lists and opt-outs | Source |
|---|---|---|---|---|
| United States (federal) | Prior express written consent for artificial-voice telemarketing to mobiles; FCC 24-17 confirms AI voices are covered | 8am to 9pm at the called party's location | National do-not-call registry; company opt-outs honoured within 10 business days | 47 CFR 64.1200 |
| Florida | Prior express written consent for automated or recorded sales calls | 8am to 8pm; at most 3 calls in 24 hours on one subject | Federal and state rules both apply | Fla. Stat. 501.059(8), 501.616(6) |
| United Kingdom | Specific consent for automated marketing calls; general marketing consent is not enough | No window in the cited ICO guidance | Live calls screened against TPS and CTPS | PECR regulations 19 and 21 (ICO) |
| Canada | Express consent before any automated (ADAD) solicitation call | 9:00am to 9:30pm weekdays, 10:00am to 6:00pm weekends | National Do Not Call List | CRTC Unsolicited Telecommunications Rules |
| Australia | Check the Do Not Call Register before telemarketing calls | 9am to 8pm weekdays, 9am to 5pm Saturday, none on Sundays or public holidays | Calling line identification must be enabled | Do Not Call Register industry standards (ACMA) |
| India | Promotional calls only from registered 140-series numbers | No window in the cited TRAI clarification | Customer preference (DND) rules; 1600 series reserved for regulated entities' service calls | TRAI TCCCPR, July 2026 clarification |
- Written consent on file that names your company and covers automated or AI-voice callsStore timestamp, form URL, consent text version and IP with the lead
- Number checked against the national registry and your internal do-not-call list at dial time
- Lead's local time between 8am and 9pm, or 8pm in FloridaArea code and form data can disagree; the stricter time zone wins
- State frequency caps enforced by a counter, not a promptFlorida: three calls in 24 hours on the same subject
- Opening line names the company and says the caller is an AI assistant on a recorded lineIdentification is required now; AI disclosure is not yet a federal rule, so do it anyway
- Opt-outs honoured during the call and written to the list before hang-up
- All-party recording consent handled for the states that require itCalifornia Penal Code 632 among them
How do you record and QA an AI agent's sales calls?
Record every call with consent, transcribe it, and score each transcript automatically on five checks: disclosure given, slots backed by evidence, no invented claims, correct routing, and opt-outs honoured. Then have a person listen to a sample every week. The automated scores find patterns; the person finds the thing you forgot to score.
Recording is cheap. Telnyx lists call recording at $0.002 a minute with free storage, and Twilio at $0.0025 a minute plus $0.0005 per stored minute per month (Telnyx, Twilio). Consent is the part to design. The opening line says the call is recorded, all-party-consent states are covered by that line and the form, and a prospect who objects gets the rest of the call unrecorded, or a person. Keep recordings as long as a sales dispute plausibly lasts and no longer: a year of voice recordings is personal data you chose to store.
Automated QA is a second model reading each transcript against a rubric, the same cold-verifier idea as a support agent's gate. It flags calls where a claim does not match the knowledge base, a slot has no supporting quote, a question was asked more than twice, or a prospect said 'stop calling' and no do-not-call flag was written. On a small model that is a few thousand tokens per call, well under a cent, so run it on every call rather than a sample.
The failures in the first month are rarely the model. Voicemail detection misfires both ways: the agent pitches to a greeting, or hangs up on a prospect who says 'hello?' slowly. Leads call the number back an hour later and reach nothing, so route inbound calls on that number to the same agent with the lead loaded. Area codes lie about time zones, calendars show slots the account executive has privately blocked, and carriers flag new numbers that make hundreds of short calls. Verified numbers and branded caller ID help; Retell, for comparison, charges $10 a month per verified number and $0.10 per branded outbound call (Retell pricing).
What does each AI pre-sales call cost, and what stays human?
About 12 cents for a four-minute qualification call on a self-built stack at list prices, and about 3 cents for a voicemail attempt. The same call on Retell's published rates is about 53 cents. People keep every conversation after the first: discovery, pricing, negotiation, multi-stakeholder deals and anyone who asks for a person.
The connected minute, at list prices checked on 23 September 2026: Telnyx outbound local $0.005, LiveKit's third-party SIP fee on the Ship plan $0.004, xAI streaming speech-to-text at $0.20 an hour or $0.0033 a minute, and xAI text-to-speech at $15 per million characters, which is $0.009 per minute of agent speech or $0.0045 per call minute if the agent talks half the time (xAI pricing, LiveKit pricing). Claude Haiku 4.5 at four turns a minute, each with 6,000 cached and 800 uncached input tokens and 80 output tokens, is $0.0072. Recording adds $0.002 and compute $0.0002, a $0.1785-an-hour c7i.xlarge shared by 15 calls. Total: $0.0262 a minute, in line with the 2.5 cents a minute I run in production on a custom LiveKit stack.
A four-minute call is four of those minutes plus $0.0065 of premium answering machine detection and a $0.0075 prompt-cache write: $0.119. On Retell's published rates it is $0.11 a minute for the default configuration, $0.015 for their telephony and $0.005 for the knowledge base, plus $0.005 per batch dial: $0.525, or $0.625 with branded caller ID (Retell pricing). Below a few hundred leads a month, pay the difference and ship this week; voice AI build vs buy has the break-even. What stays human does not change with the stack: the agent never negotiates, never discounts and never improvises on security or contracts, and it hands a salesperson a brief, not a deal.
If you want this built with the consent gate, state machine and CRM write-back working from the first call, that is voice AI development, with voice agents from $12,000. It is built at $0: the work is split into checkpoints with acceptance criteria agreed before work starts, and each is invoiced only after you have seen it and accepted it.
AI voice agents for pre-sales calls: common questions
→How fast should an AI voice agent call a new lead?
Within 60 seconds of the form submission, inside permitted calling hours. The MIT and InsideSales study found the odds of contacting a lead fall 100 times between a 5-minute and a 30-minute response, and HBR's audit of 2,241 companies found an average first response of 42 hours. A webhook-triggered agent can dial within seconds; any extra delay is a policy choice.
→Is it legal to use an AI voice agent for sales calls in the US?
Yes, with the right consent. The FCC ruled in February 2024 that AI-generated voices are artificial voices under the TCPA, so telemarketing calls to mobiles need prior express written consent naming your company. Calls must identify the caller, stay between 8am and 9pm local time, respect do-not-call lists and honour opt-outs. Florida and other states add stricter hours and caps.
→How much does an AI pre-sales call cost?
About 12 cents for a four-minute qualification call on a self-built LiveKit stack at September 2026 list prices: roughly 2.6 cents per connected minute plus answering machine detection and a prompt-cache write. The same call on Retell's published rates is about 53 cents. Both are small next to loaded SDR time of about $55 an hour, so the case rests on hours saved.
→Should the AI agent decide whether a lead is qualified?
No. The model should extract an answer for each qualification slot, such as need, timing, authority and budget, with a supporting quote from the transcript. Deterministic code then computes the score and the next step. That keeps the policy readable and editable by your sales leader, and gives you an audit trail when someone asks why a lead was booked or dropped.
→What should stay human in pre-sales?
Every conversation after the first: discovery with a qualified buyer, pricing and discounts, multi-stakeholder deals, anyone who asks for a person, and every lead the agent scored as ambiguous. The agent's job is to make the first call instantly and consistently, then hand a salesperson a brief. It should never negotiate, discount or improvise about security or contracts.
Open the article in your assistant with one click and ask it how this applies to your product.