← All research

Heyfield Research · Published 2026-05-21

AI Answering Service Stress Test 2026

Heyfield put its AI answering system through a 1,000-call stress test across 11 home-service trades — every call was handled without a failure, no call records were dropped, and the scheduler never double-booked.

Headline findings

Calls fired back-to-back

1,000

All 1,000 simulated calls across 11 trades and 8 call types were accepted and fully processed — zero failures, zero dropped calls.

Incomplete records

0 of 1,000

Every call produced a complete, correctly-structured record under load — nothing was dropped, truncated, or mis-filed.

Double-bookings

0

Across 689 booking attempts aimed at deliberately overlapping time slots, the scheduler booked only open slots and refused every conflict.

Trades covered

11

Plumbing, HVAC, electrical, locksmith, roofing, restoration, general contracting, garage door, pest control, lawn care, painting.

Call types covered

8

Emergency dispatch, routine booking, quote request, follow-up, scheduling change, spam, voicemail hangup, wrong number.

Abstract

Home-service trade owners lose an estimated 27% of inbound calls to voicemail and missed pickups (HouseCall Pro benchmark). An AI phone receptionist only helps if it stays standing when the phones light up — so we stress-tested ours. We fired 1,000 realistic call events through Heyfield's live intake system, back-to-back, across 11 home-service trades and 8 call types, to see whether it would drop calls, lose details, or double-book the calendar under heavy volume. It didn't: all 1,000 calls were processed with zero failures, every call filed a complete record with nothing dropped, and the scheduler refused every double-booking. This is a load-and-handling test, not a voice-accuracy test — the methodology and full raw data are below and published openly.

How we ran the test

We generated 1,000 realistic home-service phone-call scenarios with a large language model, spread across a controlled mix of 11 trades (plumbing, HVAC, electrical, locksmith, roofing, restoration, general contracting, garage door, pest control, lawn care, painting) and 8 call types (emergency dispatch, routine booking, quote request, follow-up, scheduling change, spam, voicemail hangup, wrong number). Each scenario carries a caller identity, a service intent, and an expected outcome. All caller names, addresses, and phone numbers are synthetic — invented by the model, not real people.

Each scenario was then fired through Heyfield's live intake webhooks — the same lifecycle events the phone layer emits when a real customer calls — with valid signatures, back-to-back, in two batches of 500. This drives the real production pipeline end to end: the same workers, the same database, the same scheduling logic a live call would hit.

Importantly, the voice layer and the post-call AI analysis were stubbed with pre-generated data rather than exercised live. That is a deliberate scope choice: this test measures whether the system handles heavy call volume without dropping, delaying, or corrupting anything — not how accurately the voice AI transcribes or interprets a live call. We state that plainly because it changes what the numbers mean (see Limitations).

After the async workers finished, we queried the production database to confirm that every call produced a complete record and that the scheduler created appointments only for open time slots. The full scenario set, per-call results, and analysis are published openly (see Sources).

  • 1,000 scenarios generated across 11 trades and 8 call types with a controlled distribution
  • Replayed through the live intake webhooks in two back-to-back batches of 500
  • Real production workers, database, and scheduler exercised end to end
  • Voice + post-call AI-analysis layers stubbed by design — this is a load/handling test, not a voice-accuracy test
  • Every scenario, run result, and analysis file published openly on GitHub

The system took all 1,000 calls

Every one of the 1,000 call events was accepted and fully processed by the live pipeline — 1,000 out of 1,000, with zero failures and zero dropped calls. The two batches of 500 ran back-to-back without a single error, timeout, or rejected event.

For a trade business, the practical translation is simple: when the phones all ring at once — a storm-driven roofing rush, a cold-snap HVAC spike — the intake system does not fall over or start silently dropping calls.

Nothing got dropped or garbled

Under that back-to-back load, every single call produced a complete, correctly-structured record — caller, service, urgency, and voicemail status all landed in the right fields, on all 1,000 calls. Not one call came through with a missing or malformed record.

This is the failure mode that quietly hurts operators: a call that half-lands, a record with the service field blank, a lead with no name. Across 1,000 calls under load, that count was zero.

  • 1,000 / 1,000 calls filed a complete record
  • 0 dropped calls
  • 0 malformed or partial records
  • Consistent across all 11 trades and all 8 call types

No double-bookings under load

The 1,000 scenarios included 689 booking attempts, and — by design — many of them aimed at the same handful of time slots to pressure-test the calendar. The scheduler's atomic booking lock held: it created appointments only for genuinely open slots and refused every attempt that would have collided with an existing appointment.

That refusal is the point. A receptionist that cheerfully books two jobs into the same 2 p.m. slot is worse than one that misses a call. Under 689 colliding attempts, Heyfield produced zero double-bookings.

Why this matters for home-service trades

Home-service trade owners typically lose 20-30% of incoming calls to voicemail (HouseCall Pro 2024 benchmark). At an average industry job ticket between $165 (lawn care) and $4,800 (restoration), that missed-call rate is thousands of dollars per technician per month in unrecovered revenue — and the case for an AI receptionist is recovering those calls.

But recovery only counts if the system is still standing when volume spikes. A tool that works in a quiet demo and then drops calls, blanks out records, or double-books during a rush is a liability, not an asset. This stress test was built to probe exactly that failure surface — and across 1,000 back-to-back calls, it held.

Per-trade results

Call counts reflect the deliberate scenario weighting, not real-world call volume. Every trade processed cleanly with no dropped or incomplete records.

TradeCallsProcessedComplete records
Plumbing236100%100%
HVAC223100%100%
Electrical126100%100%
Restoration81100%100%
Roofing67100%100%
General contractor61100%100%
Locksmith57100%100%
Garage door48100%100%
Pest control43100%100%
Lawn care35100%100%
Painting23100%100%

Processed = call event accepted and fully handled by the live pipeline. Complete records = call filed with all structured fields present and well-formed.

Call-type mix

The 1,000 scenarios were deliberately weighted toward high-stakes call types (emergencies, bookings) and lighter on spam, to pressure-test the paths that matter most.

Call typeCallsShare of run
Routine booking34734.7%
Quote request20420.4%
Emergency dispatch18518.5%
Follow-up717.1%
Scheduling change676.7%
Spam / solicitation626.2%
Voicemail hangup414.1%
Wrong number232.3%

Limitations

We disclose constraints up front so the findings can be evaluated fairly.

  • This is a load-and-handling stress test, not a voice-accuracy test. The voice transcription and post-call AI-analysis layers were stubbed with pre-generated data, so these results do NOT measure how accurately the voice AI transcribes or interprets a live phone call — only that the system handles heavy call volume without dropping, delaying, or corrupting records, and without double-booking. Live voice/interpretation accuracy is a separate measurement and is not claimed here.
  • Scenarios were generated by a large language model, not pulled from real customer calls. Caller names, addresses, and phone numbers are synthetic. Dialogue patterns are realistic but may underrepresent regional speech, sustained interruptions, or callers speaking under duress.
  • Booking conversion is intentionally not reported as a success metric. The two batches ran back-to-back against a shared test calendar and reused overlapping time slots, so most second-batch booking attempts collided with existing appointments and were correctly refused. Those refusals are the desired behavior, not failures — which is exactly what the double-booking result measures.

Try the receptionist behind the numbers

7-day free trial. No credit card. 90-second setup. Cancel anytime.