The Demo Ran on Demo Data
The AI booked the appointment flawlessly. It was talking to a calendar that doesn't exist.
A vendor got on a call with me to show off an AI receptionist. It answered a ringing phone, understood a customer asking for a Tuesday appointment, checked the calendar, found a slot, booked it, and fired off a confirmation text. Smooth. Nobody stuttered. The rep leaned back like he'd just landed a plane. So I asked him to point it at my actual calendar, the one with real jobs on it, and the demo was over. Not the call. The demo. "That version isn't set up yet," he said. "This one runs on sample data."
That sentence is the whole game. This one runs on sample data. Every AI demo you have ever been shown ran inside a sandbox that had no idea your business exists. Clean fake customers. A calendar with three fake events on it. A product list somebody typed in by hand the night before. Of course it worked. It was a stage set. The hard part, the only part that was ever hard, is the wire between that stage and the messy real thing you actually run.
Because the magic in the demo was never the AI. The AI is a commodity now, the same handful of models wearing a hundred different logos. The thing you are actually paying for is the plumbing that connects it to your calendar, your phone number, your customer list, your invoicing. That plumbing is almost never in the price you were quoted, because it is different for every business, and it is where all the labor lives.
I build these connections for a living, so let me tell you what the demo skips. Your booking software has an API, but the endpoints that actually let something write to your calendar are locked behind a tier that costs more per month than the AI does. Your phone number lives with a carrier that will not hand over call data without a business account upgrade. Your customer list is in three places and none of them agree on the spelling. The webhook that is supposed to tell the AI a job got moved fires sometimes and stays silent other times, and the company whose platform it is will not get on a call to explain why. I have lost more hours to a webhook a vendor would not stand behind than to any model being dumb.
The AI was never the product. The wire to your business was, and nobody put it on the quote.
So the number you were shown is a down payment. The demo cost them nothing because it touched nothing. Your version has to touch everything, and every one of those touches is a negotiation with a system that predates the AI and does not care that it showed up. Sometimes that negotiation is a weekend of my time. Sometimes it's a developer the vendor never mentioned, at a rate they never quoted. Sometimes the integration the salesperson swore was ready is a checkbox on a roadmap marked "coming soon," which in this business means it is a wish someone typed into a slide.
Here is the part that bites hardest at five-employee scale. A big company has an IT person to absorb this. When the integration turns into a project, they have someone whose entire job is to run that project. You do not. You are the owner, the estimator, and now the unpaid systems integrator, on hold with your booking software's support line trying to learn why the AI can read your calendar but can't write to it. That is the cost nobody put in the pitch. Not the subscription. The weeks of your attention the subscription quietly assumes it is allowed to have.
So before you sign anything, before you let yourself be impressed by anything, say one sentence out loud: "Connect it to my data, live, on this call." Your real calendar. Your real number. Your real customer list, misspellings and all. Then watch the rep's face. If the answer is "we'll set that up during onboarding," the honest translation is "we haven't built the part you're paying for and we're not sure how long it takes." That's not automatically a reason to walk. It's a reason to make them name the integration in writing, with a date and a dollar figure, before a cent moves.
A working demo proves the AI can talk. It proves nothing about whether it can talk to you. Make them show you the second thing on your own data, or assume it does not exist yet. Usually it doesn't.