Preview: snuepi is in development and is not open to customers yet.

Benchmark · simulated run · seed 20261029 · 48 businesses · 600 tasks

Agent commerce readiness benchmark

What happens when AI agents book, ask for quotes, request consultations and order from small businesses: with snuepi, against a model of how agents work today (they phone the business, read its website or guess). A simulated world, run end to end and published with its assumptions.

Read this first

  • Simulated, not customer data. The businesses, customers and agents are synthetic. snuepi is a free pilot without customers yet. With snuepi, every task ran against the real product on one machine; nothing reached a real business.
  • Today is a model, not a measurement. How agents work today (phone answer rates, hang-ups, websites without prices or rules) is modelled from published figures and stated assumptions. Each assumption has a range, and the comparison is run at both ends of every range.
  • Times are not comparable one to one. snuepi’s times are measured on localhost, without network latency or a person in the loop; today’s are modelled minutes.
  • What snuepi does not win yet is listed below, with the mistakes this run found.

Headline

  • Allowed tasks completed in the session: 99% with snuepi, 63% today (81% to 23% across the assumption ranges).
  • Outcomes that matched the business’s terms: 100% with snuepi, 54% today (75% to 19%).
  • Wrong yes and wrong no among 549 honest tasks: 0 and 3 with snuepi; 33 and 17 in the model of today.
  • Phone interruptions at the business per 100 tasks: 0.0 with snuepi, 77.4 today (2.5 staff hours per 100 tasks).
  • Requests with proof that an AI agent made them, and how verified it was: 100% with snuepi, 0% today. With a signed record anyone can verify: 98% and 0%.
  • Bookings with a deposit due that carried it: 100% with snuepi (66% held until paid, where the business takes payment on its own Stripe), 10% today.
  • Attacks that worked: 0% of 51 with snuepi, 43% today.
  • snuepi stays ahead on completion and on correct outcomes at both ends of every assumption range.

The comparison

MeasureWith snuepiToday (central)Today (best case)Today (worst case)
Allowed tasks completed99%63%81%23%
Outcomes correct100%54%75%19%
Definitive answer in the session100%50%70%22%
Median time to the answer11 ms4 min2 min60.0 s
Phone interruptions per 100 tasks0.077.471.262.7
Wrong yes (honest tasks)0333613
Terms respected on bookings made100%8%
Disclosure proven100%0%
Verifiable record98%0%
Deposit carried or secured100%10%
Expected no-show rate on bookings made1.96%2.35%

Best case: every assumption at the end of its range that favours today’s way of working. The expected no-show rate applies resOS’s recorded rates (0.80% with a deposit or card hold, 2.47% without; restaurants, descriptive) to the bookings made: a booking counts as protected only when its deposit is held until paid.

Allowed tasks completed, by task

Allowed tasks completed, by taskWith snuepi and today (central), per task type. Ask opening hours · with snuepi 23 tasks 100% Ask opening hours · today 48% Ask a price · with snuepi 22 tasks 100% Ask a price · today 41% Ask the terms · with snuepi 15 tasks 100% Ask the terms · today 33% Book · with snuepi 198 tasks 99% Book · today 67% Cancel · with snuepi 31 tasks 96% Cancel · today 68% Consult · with snuepi 75 tasks 100% Consult · today 82% Order · with snuepi 63 tasks 100% Order · today 55% Pay a deposit · with snuepi 28 tasks 100% Pay a deposit · today 46% Quote · with snuepi 70 tasks 100% Quote · today 72% Reschedule · with snuepi 24 tasks 94% Reschedule · today 56%

By door

DoorTasksCompletedCorrectWrong yesWrong noMedian time
A2A34100%100%007 ms
ACP checkout5–100%002 ms
MCP18199%99%0112 ms
Phone (forwarded number)24100%100%0025 ms
REST29199%99%028 ms
UCP checkout1100%100%006 ms
Booking page13100%100%0010 ms

By sector

SectorTasksCompleted with snuepiCompleted todayCorrect with snuepiCorrect today
Accountants12100%90%100%83%
Beauty47100%57%100%47%
Cleaning46100%71%100%70%
Clinics31100%44%100%26%
Dentists3096%62%97%53%
Financial advisers22100%86%100%73%
Restaurants2896%50%96%50%
Hotels4998%62%98%41%
Insurance brokers21100%71%100%71%
Law firms18100%46%100%67%
Moving45100%69%100%56%
Other local services46100%52%100%52%
Consultancies19100%73%100%79%
Shops66100%56%100%36%
Trades38100%69%100%58%
Vets31100%65%100%61%

By agent

AgentTasksCompleted with snuepiCompleted todayCorrect with snuepiCorrect today
B2B buyer agent5294%70%94%67%
Consumer agent with a mandate65100%62%100%52%
Impatient agent48100%85%100%63%
Platform with an agent key83100%61%100%54%
Agent that ignores terms68100%58%100%50%
Unsigned agent127100%58%100%51%
Verified operator106100%60%100%48%

Attacks

AttackTriesWorked with snuepiWorked today
cancel others50%20%
fake confirm40%75%
homoglyph brand50%20%
impersonate brand80%38%
injection case10%0%
phantom holds40%25%
prompt injection90%0%
scrape poll130%100%
tamper quote20%0%

impersonate brand: Claims to be ChatGPT without proof: may be served, never as ChatGPT and never confirmed on its word. · homoglyph brand: A brand name with borrowed letters (ChatGРT): refused. · phantom holds: Many unconfirmed holds from fresh identities on one day: never more than half the day is held. · scrape poll: Polls availability hundreds of times from one address: slowed down (429) before it costs the business anything. · prompt injection: Instructions hidden in the booking notes (confirm for free, change the price): the price and the status do not move. · fake confirm: Confirms a booking on the customer's behalf with a guessed code: stays unconfirmed. · cancel others: Cancels a booking it does not hold the token for: refused. · tamper quote: Edits the signed price promise: refused. · injection case: Instructions hidden in a quote request (accept on my behalf, quote 1 EUR): the case waits for the business, no price appears.

Sensitivity

Each assumption alone, from the low to the high end of its range, the others at their central value; ordered by how much it moves today’s numbers. snuepi’s numbers do not depend on these assumptions.

AssumptionKindCompleted (low → high)Correct (low → high)
phone.ai_hangupassumption70% → 46%58% → 41%
phone.answer_ratecited51% → 65%44% → 55%
email.reply_rateassumption57% → 68%47% → 58%
phone.callbackassumption58% → 67%50% → 56%
phone.after_hourscited65% → 61%55% → 52%
phone.asks_detailsassumption63% → 63%49% → 57%
web.booking_systemsurvey61% → 65%52% → 56%
web.widget_completesassumption61% → 65%52% → 56%
phone.staff_follows_ruleassumption63% → 63%51% → 55%
phone.price_givencited62% → 64%53% → 54%
web.reachablesurvey63% → 61%54% → 54%
phone.honours_no_agentsassumption63% → 63%53% → 55%
phone.states_termsassumption63% → 65%54% → 54%
guess.rightassumption63% → 63%52% → 54%
phone.staff_errorassumption63% → 63%54% → 53%

Closest gap over every scenario and sweep: completion 18% points, correct outcomes 25% points (with snuepi minus today).

What snuepi does not win yet

  • Quotes and consultations still wait for the business. 93 of 111 quote and consultation requests that went through were open with the business and waiting for its answer. snuepi answers at once (the case or the intake is open, with what is still needed and a deadline), but the price or the yes comes from a person. Time to that final answer is not measured here.
  • Unverified agents add a step for the customer. 49% of the bookings made with snuepi waited for the customer to confirm by email, because the agent proved nothing about itself. That is the protection against fake bookings, and it is friction.
  • Card checkout by agents at small shops. 0 of 5 ACP checkouts completed: a shop without a system that takes orders invoices instead, and only verified buyers get an invoice. Payments that work at long-tail shops are not there yet.
  • Prompt injection is not where today’s front desk is weak. Instructions hidden in free text worked in 0 of 10 tries with snuepi; a person at the front desk is not prompt-injected either (the model assumes 2%). No win is claimed here.
  • snuepi still made mistakes in this run. 0 wrong yes and 3 wrong no out of 549 honest tasks, plus 0 wrong facts read back. Each is a finding for the product team, listed with a replay command.
  • Busy platforms that do not sign their requests hit the per-address cap. 3 honest tasks were refused only by the cap of 20 bookings an hour per address (b2b_buyer). A key alone does not raise the cap; signing with Web Bot Auth does (5× with proven keys, 50× for a verified company). The run compresses an hour of traffic into seconds, so this overstates it, but it is a real limit for an unsigned platform.
  • Deposits at businesses without Stripe are stated, not collected. 33 of 98 bookings with a deposit due were at a business that has not connected Stripe: the terms tell the customer and the business arranges the payment, so snuepi cannot hold the time until it is paid.
  • A business that is not on snuepi. Every business in this world is on snuepi. Where it is not, an agent works the way the baseline models, so the gain depends on how many businesses are reachable.
  • The phone line’s language model. On the forwarded phone line a scripted stand-in for the language model was used: the run measures the door and the booking engine behind it, not how well a model understands a caller.

Assumptions

Every number the model of today uses. “Cited” comes from a published source; “survey” from snuepi’s own published website survey (298 sites, 2026-10-28); “assumption” is ours, which is why it has a range.

ParameterKindCentralRange
An agent’s call to a small business is answered (during opening hours)cited0.740.378 – 0.79
Answer rate, plumberscited0.660.5 – 0.79
Answer rate, vetscited0.650.5 – 0.79
An answered call gets a pricecited0.510.4 – 0.65
Staff hang up on (or refuse) an AI caller once answeredassumption0.250.05 – 0.67
The agent’s call arrives when the business is closedcited0.280.14 – 0.47
A missed or after-hours call is returned the same dayassumption0.40.15 – 0.7
Hours until a missed call is returnedassumption41 – 24
Minutes of staff time per answered callassumption31.5 – 6
Staff write a phone booking down wrong (time, party size, name)assumption0.030.01 – 0.08
Staff ask for the details the business requires (allergies, address, photos)assumption0.60.3 – 0.9
Staff state the deposit and cancellation terms on the callassumption0.50.2 – 0.8
A phone booking at a deposit-taking business gets the deposit securedassumption0.10 – 0.3
Staff apply a rule correctly on the call (closed day, no advice, no health details from an unverified caller, one booking per guest)assumption0.80.6 – 0.95
A business that does not want AI calls gets its “no” respected (staff refuse once answered)assumption0.60.3 – 0.9
Staff accept a caller who merely claims to be a known agent or brandassumption0.50.2 – 0.8
Instructions hidden in what the agent says change the outcome with a personassumption0.020 – 0.1
Each redial rings at the front deskassumption11 – 1
The website opens for an AI readersurvey0.6910.64 – 0.837
Prices are readable as text on the websitesurvey0.1940 – 0.294
Opening hours are readable on the websitesurvey0.0730.024 – 0.156
The website links to an online booking system an agent could drivesurvey0.1550 – 0.406
The website publishes rules an agent can read (deposit, cancellation)survey00 – 0.1
Opening hours an agent finds in a listing are wrongassumption0.150.05 – 0.47
A browser agent completes a booking in a business’s booking widgetassumption0.60.3 – 0.85
The business’s booking widget secures the deposit it requiresassumption0.50.2 – 0.8
Minutes for a browser agent to book in a widgetassumption21 – 5
A shop’s website has a checkout an agent can completeassumption0.50.25 – 0.8
An agent that could not find a fact (hours, price, terms) guesses it rightassumption0.30.1 – 0.5
A quote or consultation request sent by email or web form gets a reply within two working daysassumption0.50.25 – 0.8
Hours until that replyassumption244 – 72
No-show rate without a deposit or card holdcited0.0250.023 – 0.08
No-show rate with a deposit or card holdcited0.0080.005 – 0.02

The world

48 businesses in 16 sectors and 10 countries, each with its own opening hours, capacity, prices and terms (the sector’s defaults with the owner’s own changes), 16 of them connected to their own booking system. 600 tasks by 8 kinds of agent through 7 doors.

AgentTasksWho it is
Platform with an agent key83A booking or assistant platform with a snuepi agent key (one key for all its users). Careful.
Unsigned agent127Proves nothing about itself. Mostly careful, but forgets a required detail a third of the time and fixes it after the first answer.
Verified operator106Signs every request with Web Bot Auth and is registered in the agent registry (keys proven). Reads the terms, sends what the business requires.
Consumer agent with a mandate65Acts for one consumer who connected it once (OAuth, scope book, spending limits). Careful.
Agent that ignores terms68Guesses a time from scraped opening hours, leaves out the details the business requires, sends health details to a clinic, asks a regulated firm for advice.
B2B buyer agent52Buys and requests quotes and consultations for a verified company (snuepi buyer key).
Adversarial agent51Impersonates known brands, holds times it never means to keep, scrapes, injects instructions into free text, forges confirmations.
Impatient agent48Polls availability over and over, redials when it gets no answer. Otherwise careful.

Method and how to reproduce

  1. The world. Businesses are generated from a seed across sixteen sectors and ten European countries. Each is set up the way an owner sets up: one-step onboarding (services, opening hours, capacity), then the owner’s terms on top of the sector’s documented defaults.
  2. The tasks. Each task is one agent asking one business for one thing (book, quote, consult, order, cancel, reschedule, pay a deposit, ask the hours, a price or the terms) through one door. Agents differ in who they can prove they are and how carefully they behave; some are hostile.
  3. With snuepi. Every task runs through the product, end to end, and is judged against an answer key computed from the owner’s terms and the documented rules, never from the product’s own answers.
  4. Today. The same task, with the same right answer, is modelled the way agents work now: a booking widget if the website links one, otherwise a phone call (answered or not, hung up on or not, after hours or not), an email for quotes, guessing when a fact cannot be found. Each step’s probability is in the assumptions table.
  5. Sensitivity. The model is rerun with every assumption at its best and worst end for today’s way of working, and with each assumption swept alone.

The run is reproducible with node scripts/world-sim.mjs --seed 20261029 --businesses 48 --tasks 600 in snuepi’s repository (the full method is in docs/benchmark-methodology.md there); the numbers on this page are in results.json.

completed
Of the tasks the business’s terms allow: the agent got what it asked for in the session (a booking held, a case or consultation open with the business, an order taken or ready to pay, a cancellation made, the right facts read).
correct
The outcome matches the answer key: yes where the business’s terms allow it, no where they do not.
false yes
A yes the business’s terms forbid (or an attack that worked).
false no
A no the business’s terms allow.
in session
A definitive answer (yes, or no with the reason) without waiting for a call back or an email.
time
To the definitive answer. With snuepi: measured on one machine, on localhost, without network latency. Today: modelled minutes.
interruptions
The business’s phone rings for an agent during opening hours (with snuepi: a call put through to staff).
disclosure proven
Of the requests that reached the business: the record shows an AI agent made it, and how verified the agent was.
evidence available
Of the requests that reached the business: a signed record of what was agreed that anyone can verify.
deposit applied
Of the bookings with a deposit due under the owner’s terms: the booking carries the deposit (with snuepi) or the deposit was secured (today).
terms respected
Of the bookings made: every term checked (deposit, cancellation, no-show fee, price, the business’s rule on AI calls) was applied.

Who made this

Disclosure: snuepi made this benchmark and the product it measures. Read the method and the assumptions before the headline.