2026-06-06

Why your 86'd item kept selling for eleven minutes

Rate limits, polling intervals and webhooks decide how fast a voice agent learns your menu changed. What the delay is, and how to set expectations around it.

A cook calls out that the wings are gone at 7:12. Someone marks them unavailable on the register at 7:14. At 7:23 a caller successfully orders wings from your phone agent, and now you are making an apology call instead of a sale.

Nine minutes. That gap is not a bug in the ordinary sense, and understanding why it exists is the difference between configuring around it and filing a support ticket that comes back saying working as designed.

Two ways a system learns something changed

There are only two, and every integration is some combination of them.

The first is being told. Your POS fires a notification the moment a change is saved, and whatever is listening updates immediately. This is usually called a webhook, and when it is available and working, the delay is measured in seconds.

The second is asking. The outside system requests the current menu on a schedule: every minute, every five minutes, every fifteen. This is polling, and the delay is bounded by the interval. If the poll runs every ten minutes and your cook calls out wings one minute after a poll completes, the agent stays wrong for nine more minutes. Which is exactly the scenario above.

Most real integrations use notifications where the POS supports them and polling as the backstop, because notifications get dropped, delivered twice, or arrive out of order, and a system that trusts them completely eventually gets stuck believing something false.

Why the polling interval is not just set to five seconds

Because the POS vendor will not allow it. Every POS API has a rate limit: a cap on requests per minute or per hour, per account or per application. It exists so one badly written integration cannot degrade service for every restaurant on the platform.

That cap is a fixed budget, and everything competing for it has to fit. Menu reads, availability reads, order writes, order status updates, and whatever else you have connected all draw from the same allowance. Order writes are the ones you cannot afford to have throttled, since a rejected order is a lost sale in real time, so a sensibly built integration reserves headroom for them and spends what is left on refresh frequency.

Menu size matters here too. A menu with sixty items and simple modifiers is a small read. A menu with four hundred items, nested modifier groups and per-location pricing may take several requests to assemble, which means fewer complete refreshes fit inside the same budget. This is one of the quiet reasons a large multi-location operation sees slower propagation than a single pizzeria, and it is part of why multi-location menu management is a different problem from single-shop menu management.

The hop you may not know is there

X1 Voice writes directly into Square, Clover and OrderCounter, and reaches Toast, Lightspeed, TouchBistro, SpotOn, Aloha, Revel, PAR Brink and Micros through Deliverect. A direct connection has one link in the chain. A connection through middleware has two, and each link has its own sync behavior and its own limits.

That is not an argument against middleware. It is what makes broad POS coverage possible at all, and for most of those registers there is no realistic direct path. It does mean your expectations should match your topology: a Square shop and a Micros shop should not expect identical propagation times, and a vendor who quotes one number for every POS has not thought about it carefully.

The practical version of this question is in why integration depth matters more than voice quality. A pleasant-sounding agent selling an item you do not have is worse than a plain-sounding one that does not.

Measure your own number instead of asking for a benchmark

Take fifteen minutes on a slow afternoon.

You now have two numbers, a quiet-hour delay and a busy-hour delay, and the second is the one to plan around. If both are under a minute, you can treat 86ing as effectively immediate and move on. If the busy number is ten minutes, that is a fact about your operation to design around rather than to be surprised by twice a week.

Designing around a delay you cannot remove

You have a few options, and they are cheap.

The failure catalogue in 86 sync failure modes covers the cases beyond simple delay, including the nastier one where an item is marked unavailable in one system and available in another and neither is wrong from its own point of view.

What to ask a vendor, precisely

Not "is it real time." Everyone says yes to that. Ask these instead: does the integration receive change notifications from my POS, or does it poll? If it polls, what is the interval, and does it change under load? Is there a middleware layer between you and my register, and what is its own sync interval? What happens to in-flight orders if the POS returns a rate limit error?

That last question is the revealing one. The correct answer describes a retry with backoff and, if retries fail, an escalation that gets a human involved before the caller hangs up. An answer that describes the order silently failing is telling you about lost tickets you will not learn about until someone calls asking where their food is.

The part that is genuinely on you

Sync speed is a shared responsibility, and the half you control is menu hygiene. Items that exist twice under different names, modifier groups nobody has pruned in three years, and seasonal items left active year-round all inflate the size of every read and increase the number of places a change has to be made. Menu sync covers what a clean structure looks like.

Go run the 86 test this week and write the busy-hour number on the wall by the register. Once everyone knows the delay is, say, four minutes, marking an item out becomes something people do before the last one leaves the window rather than after, and that single habit change removes most of the problem without anyone touching an integration.

More on pos & integrations

All pos & integrations articles

Frequently asked questions

Hear it answer a real call.

Call the demo line and order like a customer would, or book time and we'll walk your team through it.