Residential plumbing · San Francisco, Oakland, Berkeley · v0
The fulfillment index for AI agents.
Give Tallyho a job spec. It ranks the businesses most likely to keep their promises on that exact job, books it through the business’s own systems, and learns from what actually happened.
Every likelihood is printed with its effective sample size, an 80% interval, and how fresh its evidence is.
Example response to find for the job: Tankless water heater, no hot water, Rinnai · today · under $600 · Oakland 94610. Three candidates, ranked: Example Plumbing Co., 1.8 mi; Example Rooter & Drain, 3.0 mi; Example Bay Plumbing, 4.4 mi.
For the first, the likelihood it keeps every promise in scope for this job is 68%, effective sample size 9.2, 80 percent interval 52–81%, evidence checked two days ago. The agent’s gate is 0.65, so it books it.
01 · The problem
A directory can’t say who will do the job.
4.6 (212)
A listing and an average of opinions. Nothing about this job: whether they work on tankless units, can come today, or what it will cost.
Example · Rinnai tankless, no hot water, today, under $600
- Keeps this job as specified
68%n 9.252–81%
The likelihood this business keeps every promise that matters for this job, with its sample size and the evidence behind it.
An attempt either succeeded or it didn’t. Tallyho counts attempts, not opinions.
02 · How it works
Find, book, report.
01
Find
The agent sends a job spec: the system, the issue, when, the price ceiling, where. It gets businesses ranked by the likelihood each keeps the promises that matter for that job, with the evidence and its age behind every number.
02
Book
The job goes through the business’s own scheduler, receptionist or booking page, and the agent gets a confirmation. Tallyho calls the shop itself only when there’s no system to book through.
03
Report
After the job, the agent reports a verdict per promise (kept, broken or unobserved) and the actual price and time. One job is several data points, and the next ranking moves.
03 · The promises
Can do the job, at the time, for the price.
Tallyho defines the promises, businesses say which ones they make, and outcomes score whether they keep them. A promise enters the vocabulary only if its outcome can be observed without asking the customer. Businesses can’t write their own; that would make them impossible to compare. A license, a bond and workers’ comp aren’t promises: they’re facts, checked against the state record and shown on every candidate.
P01universal
Every trade 3
Can do the job
Accepts the booking for this system, brand and issue, and doesn’t turn it down on arrival.
At the time
Offers a slot inside the window the agent asked for.
For the price
Quotes at or under the price ceiling in the job spec.
P02plumbing · v0 vocabulary
Plumbing adds 4
Arrives in the window
The technician checks in inside the booked window, from the platform or the agent’s report.
The quote holds
The invoice lands within 10% of the quote, from the platform or the receipt.
Job completed
The job is marked done, by the platform, the agent’s report or the invoice.
No upsell
No invoice line beyond the job spec that the customer didn’t ask for.
04 · Evidence
Every claim has a source and a price.
Tallyho gathers what businesses can do, and what happened when they tried, from every channel it can reach, and uses the cheapest source that settles the question. Every record carries its source, timestamp, confidence and cost, so a license record counts for more than a services page, and a confirmed booking for more than both.
- Public records · ≈ free
- Existence, license class, bond and workers’ comp, discipline history (CSLB, permits).
- Contractor websites · ≈ free
- Services and brands worked on. Low confidence until something confirms it.
- Booking pages · low
- Service menus, sometimes live availability.
- Text replies · low
- What the business says it does. A reply is a claim, at medium confidence.
- Partner platforms · integration
- Field-service software and AI receptionists: the strongest claims, and the only confirmed bookings.
- Agent reports · free
- What happened after the booking. The only source that says.
- Tallyho’s own calls · 30–75¢, to be measured
- An attempt with a known outcome: the backstop for evidence, reached for last. Until platforms integrate, also how bookings are made.
05 · For agents
Three tools over MCP.
find(job_spec, promises?)- ranked candidates, each with a likelihood per promise in scope, the joint likelihood for the job, confidence, freshness, the evidence behind it, and how to book it. Free
book(candidate, job_spec, window)- a confirmation or a decline, routed through the business’s own scheduler, receptionist or booking page. Where there’s no system to book through (for now, most of the time), Tallyho books by a supervised phone call. The customer’s details go to the business and aren’t stored
report(booking_id, verdicts, actuals)- a verdict per promise (kept, broken or unobserved) plus the actual price and time. Nothing reported is published as a review; it moves the likelihoods
{
"business": "Example Plumbing Co.",
"joint": { "p": 0.68, "n": 9.2, "interval": [0.52, 0.81] },
"promises": {
"can_do": { "p": 0.97, "n": 18.0, "interval": [0.91, 0.99] },
"at_time": { "p": 0.84, "n": 12.4, "interval": [0.71, 0.93] },
"for_price": { "p": 0.90, "n": 9.6, "interval": [0.78, 0.97] },
"quote_holds": { "p": 0.93, "n": 7.1, "interval": [0.80, 0.99] }
},
"fresh": "2026-10-27",
"book_via": "supervised_call"
}joint- The likelihood the business keeps every promise in scope for this job, not just one of them.
fresh- When the strongest evidence behind the numbers was last checked. Claims decay as they age.
In development: this contract replaces the prototype’s tools. The hosted endpoint and npm install @tallyho/mcp come first; email hello@asktallyho.com for early access. Your agent signs with its own key, which is its identity. Reports are attributed to it, and agents that report will get higher rate limits and priority routing.
06 · Audience
Who it’s for.
A01agents
Agents
Find is free, and consumers never pay. An agent that books through Tallyho and reports what happened makes the next answer better for every agent.
A02platforms
Platforms
Field-service software and AI receptionists: expose your customers’ capability profiles, and agent-booked jobs arrive through your receptionist and calendar. Revenue share, not a fee.
A03businesses
Businesses
Pay only when an agent-booked job is completed, through the platform you already use. Never for placement: rank isn’t for sale, because selling it would break the calibration that is the product.
07 · Status
Where this stands.
- Wedge
- Residential plumbing in San Francisco, with Oakland and Berkeley as the service area. HVAC is next.
- Built
- The likelihood engine (every number with its sample size and interval), the ledger, and a supervised voice caller run end to end on a prototype. Plumbing coverage loads next from state license records, so
findis useful on public data alone. No job has been booked through Tallyho yet. The first 10–20 will be booked by Tallyho’s own agent for property managers and short-term-rental hosts in San Francisco, by supervised call. - Revenue
- A per-job fee, paid by the business when an agent-booked job is completed, through its platform. A direct billing pilot with a handful of plumbers tests the price first. No paid placement, ever.
- North star
- Calibration per promise: when Tallyho says a plumber arrives in the window 80% of the time, they do.
08 · Contact
Talk to us.
Building an agent, running a field-service platform, fixing pipes, or investing.
Email only. No forms, no sales sequence.