WISMO Automation with AI Agents: Order Lookup, Tracking, and Escalation (2026)
Quick summary: Monday again: where is my order. That pile is about 18% of helpdesk volume. Look up the scan. Do not invent a 2pm window. We are not publishing a tickets-down number.
Key Takeaways
- That pile is about 18% of helpdesk volume
- Do not invent a 2pm window
- Gorgias, reported via Redo, puts it at about 18% of incoming requests and the most common ticket type
- If it is not in your top three, start somewhere else on the 15-automations map
- Baymard still puts cart abandonment at 70

Table of Contents
Monday morning, the same question in different clothes. Where is it. Did it ship. Why is it stuck. The answer already lives in the order system and the carrier feed. The work is opening both and pasting.
WISMO means where-is-my-order. Gorgias, reported via Redo, puts it at about 18% of incoming requests and the most common ticket type. Pull your own tag mix. If it is not in your top three, start somewhere else on the 15-automations map.
Baymard still puts cart abandonment at 70.22% (50 studies, updated Sep 22, 2025). That is checkout — shoppers who never paid. WISMO is people who did. Do not pitch this bot as a conversion program.
This is post 3 in the series. The control plane (tools, handoff, hard blocks) is in the support-agent post. Warehouse holds and payment exceptions are order-exception management — keep those tools off this harness.
The job. Stop the associate alt-tabbing the order system (OMS) and the carrier portal for every “where’s my stuff.”
This week. Look up the order and the shipment. Quote last scan and carrier ETA fields. Send a delay notice when the carrier exception lands. Hand off “delivered but I don’t have it.”
A person still signs. Reship, refund after delivered, address change after label, chargeback language, returned-to-sender.
Skip it when status email already closes the ticket, when you have no order or shipment lookup as a signed-in tool, or when the only goal is an automatic refund on a delivered box.
We are not publishing a tickets-down or repeat-purchase number. A bounded lookup agent can take status copy-paste off associates. That only holds if the answer comes from the carrier field. It does not hold if you invent a Tuesday window.
Copy the state machine — States, notify rules, and ten golden evals:
wismo-state-machine.md. Series folder:ecommerce-ai-agents-series/. Week plan:monday-checklist.md.
Our take: quote carrier tool fields only. Never interpolate a clock time from “out for delivery.” That feels less helpful than a confident 2pm. The alternative is a bot that invents windows and then eats the reship.
What WISMO automation is for
Three jobs:
- Identify the order (id, email + last-4, guest token).
- Read fulfillment + carrier state without opening five tabs.
- Notify or hand off — including before the ticket, when an exception lands.
That is it. A model that “sounds empathetic” while inventing a ship date is a CX defect.
There is no native Shopify connector for the hosting stack. getOrder and getShipment are your OMS and carrier (or aggregator) APIs behind a signed-in gateway. Shopify, custom OMS, Magento — same contract.
flowchart TD
WISMOTicket --> OrderLookup
OrderLookup --> FulfillmentState
FulfillmentState --> CarrierTracking
CarrierTracking --> DelayOrETA
DelayOrETA --> NotifyOrEscalateIf order lookup returns two open orders, stop and ask which. If it returns none, request the order number. Do not search by first name across the whole tenant.
Finding the order
Allowed identifiers: order id, email plus last-4 of phone or postcode if that is how you already authenticate in the helpdesk, plus a signed guest link.
Not allowed: “I’m Jane in Austin, it was a blue sweater.” That is a fishing prompt. Hand off to a person who can run your existing PII-safe search.
Guest checkout with no email match → request order number. Preorder / future ship → policy snippet, not a carrier ETA. Cancelled order → do not quote tracking from a stale shipment object.
Split shipments: return both tracking ids. The most common “your bot is wrong” screenshot is one of two boxes.
Fulfillment vs carrier (keep them separate)
The state machine keeps these separate on purpose.
| State | Customer-visible meaning | Agent action |
|---|---|---|
paid_unfulfilled | Order received, not packed | Quote your SLA. Do not invent a ship date |
fulfilled_no_scan | Label created, no carrier scan | Wait window per carrier; then ops ticket |
in_transit | Scans moving | ETA from carrier tool only |
exception | Delay / customs / weather | Last scan; offer notify-on-change |
out_for_delivery | Same-day window | No clock time the carrier did not give |
delivered | Carrier delivered | If “not received” → hand off |
returned_to_sender | RTS | Returns / reship playbook with a person (HITL) |
fulfilled_no_scan is where stores lie with “it’s on the way.” It is not on the way until a scan exists. A wait window, then an ops ticket, is the honest path. That ops ticket is adjacent to order exceptions — the WISMO agent opens it; it does not cancel or split.
Set the wait window per carrier, not as a store-wide “48 hours.” Some labels scan at pickup; some scan at the first hub the next morning. Encode the window in config, not in the system prompt. When the window expires, the agent files ops with order id, label time, and last (empty) scan — it does not tell the shopper the warehouse “probably forgot.”
Delays, ETA, notifications
ETA. One field, from the shipment lookup (getShipment). Missing field → say missing. Do not average historical transit days in the prompt.
Delays. When the carrier exception lands, send a proactive delay notice if you can. That is the workload win: the 18%-shaped pile never becomes a ticket. We are not claiming your ticket rate will fall 18%. Gorgias’s mix is a prioritization hint.
Notifications. Never send a second “your order shipped” if the shipment lookup already triggered that email. Duplicate shipped mail is how shoppers decide the brand is noisy and then still open a WISMO chat.
International customs hold: last event only. Do not quote a clearance date the tool does not have.
Your carrier API will dominate how long the answer takes. Cache last-scan within a small TTL if the vendor rate-limits; do not cache a fake ETA.
When a person takes over
Human path, same queue as the support agent:
- Delivered + “I don’t have it” — no refund tool on this harness
- Chargeback language — stop tools, hand off
- Stalled scan past your SLA — exception copy and ops ticket
- Returned to sender — a person for reship vs refund
- Address change after label — usually too late; hand off, do not call address update (
updateAddress) from WISMO
Session id + tool trace on every handoff. Associates re-doing carrier lookup from a pasted chat is how you fail the speed thesis.
Browser off. You do not need a headless carrier site if you have a tracking API.
What broke — An early WISMO harness answered “out for delivery” with “by 2pm” because the prompt said “be specific” and the model interpolated a local courier pattern. The carrier tool had no appointment window. Detection: golden eval #4-equivalent failed in staging once we added an assertion: reply must not contain a clock time unless
getShipment.etaClockis set. Production would have shown it as angry “you promised 2pm” tickets. Recovery: strip clock-time from the instruction; add the eval; forbid free-text dates unless copied from the tool JSON. Lesson: specificity without a field is fabrication.
What to Do This Week
- Tag last month’s helpdesk for WISMO vs everything else. If it is not a top slice, stop.
- Implement
getOrder+getShipmentonly. No refund, cancel, or address write. - Encode the seven states from
wismo-state-machine.md. - Run the ten goldens in that file (two orders, guest, preorder, split, customs, cancelled, chargeback, delivered-not-received).
- Wire proactive delay notify on carrier exception — dedupe against existing shipped emails.
- Human queue for delivered-not-received and returned-to-sender. Attach traces.
- Price expected session volume on the AgentCore pricing calculator. Follow
monday-checklist.md.
If the blocker is a hard block on the adjacent refund path, contact us. For retail-shaped AWS work see AWS for retail / eCommerce and Generative AI on AWS. FactualMinds keeps the state machine in git so the argument is “which state is this order in,” not “what should the bot make up.”
For your technical lead
On June 17, 2026, AgentCore Harness reached general availability (What’s New). Agents Classic is in maintenance for new customers after July 30, 2026. A WISMO agent is a single-domain, read-heavy loop: Harness is the default. Do not start on Classic.
First-party signals we reuse (not eCommerce client outcomes) — Gateway server-side tools cut median tool round-trip ~180 ms → ~95 ms on a B2B CRM assistant (12 tools, ~8k turns/day) — Gateway post. Support-style AgentCore at 50K sessions/mo ~$791/mo platform + model (decision guide). Model WISMO volume on the AgentCore pricing calculator.
What this post doesn’t cover
- General support policy / product Q&A — AI customer support agent.
- Holds, splits, payment capture failures — order exceptions.
- Returns eligibility — shopper recommendation only. RMA writes and
createRefundstay on the refund investigation side. - Multi-carrier rate shopping or label purchase.
- Native marketplace (Amazon, eBay) A-to-Z claim flows.
- Percent reductions in WISMO ticket count or repeat-purchase rate presented as a measured client outcome.
- A Shopify-native AgentCore app (there isn’t one).
FAQ
When should we NOT automate WISMO with an AI agent?
Skip it when your order system and carrier emails already send accurate status and shoppers can self-serve tracking without a ticket. Also skip if you cannot look up the order and the shipment as signed-in tools (getOrder, getShipment) — a model guessing from a forwarded email is worse than the queue. Do not start on the older Agents Classic product for new bots after July 30, 2026.
What could go wrong if the agent invents an ETA?
Shoppers plan around a clock time the carrier never published. You then eat reships, refunds, and trust. Quote last scan and carrier ETA fields only. Out for delivery is not 2pm unless the tool said 2pm.
What could go wrong if delivered-not-received auto-refunds?
You train porch-theft and friendly fraud, and you skip the investigation the warehouse and carrier need. Hand off. A person still approves reship or refund after delivered. The support-agent tool policy forbids refunds (createRefund) in week one for this reason.
Is WISMO really about 18% of tickets?
Gorgias has described where-is-my-order — WISMO — as about 18% of incoming requests and the most common ticket type, as reported by Redo. That is not our measurement and not your store. Pull your own helpdesk tag mix before you staff the project.
Should we wait for the customer to ticket a delay?
No, if you have a carrier exception event. A delay notice before the ticket is the workload win: the ticket never opens. Do not send a second shipped email if the shipment lookup (getShipment) already triggered that notification.
How does WISMO fit the rest of the 15 automations?
WISMO is the highest-volume support slice. It is not order-exception management (holds, splits, payment) and not returns eligibility. Keep those tools off this harness. See the pillar map and the support-agent post for the shared lookups and the human queue (HITL = a person still approves).
AWS Cloud Architect & AI Expert
AWS-certified cloud architect and AI expert with deep expertise in cloud migrations, cost optimization, and generative AI on AWS.




