AI receptionist · self-monitoring, self-repairing

An AI receptionist that audits and repairs itself.

Thousands of small businesses, each with its own agent, its own hours, its own rules. AllHours keeps every one of them good without a human retraining it: each call is scored, failures are clustered and diagnosed, the fix is replayed against real past calls before it ships, and the result is measured in jobs booked that would otherwise have gone to voicemail.

Every call scored on 7 checksFixes replayed before they shipHazard escalation is never relaxed
Quality pipelinefleet · 1,204 calls today06:12 · last ship
  1. 01
    MonitorEvery call transcribed, traced, and scored within 90 seconds of hang-up.
    1,204 / 1,204
  2. 02
    DetectScores below threshold are clustered by failure shape, not by business.
    3 clusters
  3. 03
    DiagnoseRoot cause traced to the prompt line, tool call, or knowledge entry that produced the turn.
    1 open
  4. 04
    RepairA candidate patch to the agent config is drafted and scoped to the affected businesses.
    2 drafted
  5. 05
    ReplayThe patched agent re-runs the failing calls and a regression set of passing ones.
    212 calls · 97.2 → 99.4%
  6. 06
    ShipCanary to 10% of the fleet, promoted when the live score holds for a shift.
    06:12 · promoted

The loop

How a bad call becomes a better agent.

Most voice-agent products ship a prompt and hope. Ours treats every call as a test case. The six stages below run continuously across the whole fleet, and no stage can widen what an agent is allowed to do.

01 · Monitor

Score every call, not a sample

Transcript, tool calls, latency and outcome are captured per turn. Seven checks run on each call: did it reach a booking or the correct escalation, was intake complete, did it state only real availability and real prices, did it handle interruptions, how long were the pauses, did the caller hang up early, did it follow the business’s policy.

02 · Detect

Cluster failures by shape

A single bad call is noise. Four calls across three businesses where the caller asked about Saturday and the agent said no is a signal. Failures are grouped by what went wrong, so one fix covers every business with the same problem.

03 · Diagnose

Trace to the cause

Each turn is linked to the prompt section, knowledge entry or tool result that produced it. The diagnosis names the line, not the vibe: “hours knowledge was stale after the owner edited Saturday hours; the sync job skipped the agent’s cached copy.”

04 · Repair

Draft the smallest patch

A candidate change is generated against the diagnosis: a prompt revision, a tool fix, a knowledge resync. It is scoped to the businesses in the cluster and may never relax an escalation rule, a booking cap, or a protected window.

05 · Replay

Prove it on real calls

The patched agent re-runs the failing calls and a regression set of calls that were already passing, with a simulated caller playing the transcript. It ships only if the failures pass and nothing that passed before now fails.

06 · Ship

Canary, then promote

The fix goes to a tenth of affected agents. If the live score holds for a shift, it is promoted and the owner reads one line in the morning digest: what was wrong, when it was fixed, which calls it touched.

What a score looks like

Seven checks on a Tuesday-night furnace call.

Scoring is specific enough to be actionable. A failing check points at a turn in the transcript.

Northline Heating & AirTue 23:42 · 3m 12s · no heat, infant in home
6 / 7 · booked
  • OutcomeBooked Tue 7 AM with a no-heat diagnostic tech. Correct: not an escalation case.
  • Intake complete8 of 8 required fields captured, including indoor temperature and who is home.
  • Truthful availabilityBoth offered windows matched ServiceTitan at the moment of offer.
  • Truthful pricingGave the diagnostic range the owner set; deferred the repair quote to the tech.
  • Interruption handlingAt 1:48 the caller cut in with the address; the agent finished its sentence first. Turn flagged.
  • LatencyMedian response gap 0.9s; longest 1.6s during the availability lookup.
  • PolicyDid not fill the protected emergency window; confirmed by text.

One incident, start to finish

Found at 2:14 AM. Fixed before the owner woke up.

  1. 02:14
    MonitorFour calls in 40 minutes score below threshold on truthful availability. Each caller asked about Saturday; each agent said the business was closed Saturdays.
  2. 02:20
    DetectClustered: all four businesses edited their Saturday hours in the last 72 hours. Common factor is the hours knowledge entry, not the trade or the prompt.
  3. 02:27
    DiagnoseThe agent reads hours from a cached knowledge copy. The nightly resync had run before the owners saved their edits, so the cache was one day stale.
  4. 02:31
    RepairTwo patches drafted: invalidate the agent’s hours cache on every hours edit, and have the agent cite the day it is quoting hours for so a stale answer is auditable.
  5. 02:58
    ReplayPatched agents re-run the 4 failing calls and 38 passing calls that mentioned hours. 42 of 42 pass. No regression in the other six checks.
  6. 06:00
    ShipPromoted fleet-wide after the canary held overnight. Each affected owner’s digest gets one line: “Your Saturday hours weren’t reaching the receptionist for about a day. Fixed at 6:00 AM; 1 caller was told you were closed and has been called back.”

Why it matters

Quality is the input. Captured revenue is the output.

The reason to keep agents good is not an abstract score. A small business that misses its after-hours calls loses the jobs to whoever answers. Here is the same fleet, same month, with the quality score and the booked value on one chart.

Fleet · September312 businesses · HVAC, plumbing, electrical, junk removal30 Days90 Days
Calls answered after hours18,420would have hit voicemail
Booked, no human touch6,11033% of after-hours calls
Correctly escalated4120 hazards booked into a slot
Fleet quality score98.7%up from 94.1% in June
Booked value captured$4.2Mmedian $1,980 per business

Quality score and booked value, weekly

JunJulAugSep
Fleet quality scoreBooked value per week

Fixes shipped this month

Stale hours cache4 businesses · 42/42 replaySep 3
Speakerphone interruptions6 businesses · 91 → 98%Sep 11
Spanish-language greeting fallbackfleet · 27 calls recoveredSep 18
Jobber slot hold timeoutcanary 10% · holdingSep 29

Held back by the pipeline

Shorter intake for repeat callersregressed intake completeness · rejectedSep 22

What is hard about this

Three problems nobody has solved for the small-business phone.

Evaluation on real calls, in place

Benchmarks don’t have a furnace out at 2 AM. Our scoring runs on production calls, inside the tenant, so recordings and transcripts never leave the business’s account to be graded.

Regression replay without a human caller

A simulated caller plays the original transcript back to the patched agent, adapting when the agent’s turn changes. It is what lets a fix be proven on 212 calls at 3 AM instead of spot-checked on five.

One pipeline, thousands of variants

Every business is its own agent: own hours, intake, knowledge, escalation rules. Clustering failures by shape across the fleet means a problem found at one HVAC shop is fixed at three hundred.

Safety boundary

The pipeline can make an agent better. It cannot make one bolder.

No automated patch may relax an escalation rule, raise a booking cap, open a protected window, or let the agent quote a price the owner didn’t set. Changes in those classes are proposed to a person and shipped only by hand. A hazard call is escalated the same way on the first day and the thousandth.

Auto-shippable

Turn-taking, phrasing, latencyHow the agent talks.
Knowledge freshness, tool retriesWhether the agent has the right facts.

Human-gated

Escalation, caps, windows, pricingWhat the agent is allowed to do.

Call it. Then read how it scored the call.

The demo line at (218) 774-4492 runs the same pipeline as every customer agent. Ask us for the scorecard of your own call afterwards.

This is going to call (218) 774-4492. The agent can walk you through any demo we have available and get you started on the platform if you’re ready.

Call