Explainer

"Where's my order?" is the one question an AI must not improvise

It is the single most common Tier-1 ticket, and it is also the one where a confident-sounding guess does the most damage. A wrong shipping estimate is not a bad answer — it is a promise your customer will hold you to. Here is exactly what Glassdesk reads from your Shopify store, what it deliberately cannot do, and what happens when the lookup fails.

Last updated 14 August 2026 · ~6 min read

The failure mode this exists to prevent

An AI agent with no order data still answers order questions. It has read your shipping policy, so it produces something fluent: "Standard delivery usually takes 3–5 business days, so your order should arrive shortly!"

That sentence is generated from a policy page, not from the order. The order might be unfulfilled, refunded, or stuck. The customer now has a delivery date from your brand that nothing in your business is committed to, and the ticket you avoided arrives next week, angrier.

The fix is not a better prompt. It is refusing to answer the question without the record.

What actually happens on a WISMO ticket

  1. The order is identified from the ticket. Glassdesk looks for a #1234-style number in the subject or body. If there is none, it falls back to the address the ticket was sent from and takes that customer's most recent order. Neither matches, no lookup.
  2. Your store is queried, read-only. A single call to Shopify's Admin API, using your credential, for that one order.
  3. The order becomes a source document. The record is turned into a passage — payment status, fulfillment status, items, tracking — and dropped into retrieval alongside your help-centre content.
  4. The reply has to cite it. This is the important step. Live order data is not handed to the model as trusted background; it competes as a citable source like everything else, and any citation the agent did not actually retrieve is stripped out.
  5. Nothing left to cite means escalation. If the order data does not survive that check, the ticket goes to a human with context rather than out to the customer.
Why route order data through the citation check at all? Because the alternative is a second, unverified channel into the answer. If live data bypassed the check, every guarantee we make about citations would carry a silent exception for the highest-stakes ticket type on the site. One path in, one set of rules.

What it can see

FieldWhat the customer gets
Payment statusPaid, pending, refunded, partially refunded
Fulfillment statusFulfilled or unfulfilled — the difference between "it's coming" and "it hasn't shipped"
Line itemsWhat was actually ordered, and how many
TrackingTracking number, carrier and link when one exists — and explicitly "none on file" when it doesn't
Order dateWhen it was placed

Note the fourth row. "No tracking number yet" is recorded as a fact rather than left blank, because a blank field is exactly what a language model fills in helpfully.

What it deliberately cannot do

Four limits worth knowing before you buy, not after.

When the lookup fails

Connections break. Staff remove apps, plans lapse, Shopify has an incident. What matters is what the system does next.

What went wrongWhat the customer seesWhat we do
Rate limitNothing — it retries with backoffNothing. Transient.
Shopify outage or errorAn answer without order data, or an escalationLogged. The connection is not touched.
Token revokedAn answer without order data, or an escalationConnection cleared, we're alerted, and you get an email asking you to reconnect

That last row is the one that took real work. A revoked token is the only disconnection you did not choose — nobody clicked anything — so it is the only one where silence is dangerous. Without an alert, the agent would carry on answering order questions slightly worse, forever, and the first person to notice would be a customer.

The other two rows matter just as much in the opposite direction. Treating a Shopify outage as a revocation would disconnect every merchant at once during an incident, and each of them would have to reconnect by hand. Only a genuine authentication failure counts.

Honest status: this is a capability, not yet a track record. The lookup is live, and a real store has completed the connection end to end. But no merchant has yet run a live "where's my order?" ticket through it in production. We hold "order status" back from our marketplace listing's headline ticket types for exactly that reason, and it goes back in when a merchant has resolved them end to end — not before. We would rather publish the gap than a benchmark nobody can check.

What to ask any vendor about order lookups

Connect your store in a minute, in shadow mode

Install into Gorgias, connect Shopify with your own credential, and watch it draft WISMO replies without sending any of them. You will see the order data it read, the passage it cited, and the confidence it assigned — before a single customer does.

Start my flat-rate trial