---
title: WISMO Automation with AI Agents: Order Lookup, Tracking, and Escalation (2026)
description: 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.
url: https://www.joinhorizon.co/blog/wismo-automation-ai-agents-ecommerce-2026/
datePublished: 2026-08-27T00:00:00.000Z
dateModified: 2026-10-28T00:00:00.000Z
author: palaniappan-p
category: AI Agents
tags: ai-agents, ecommerce, wismo, amazon-bedrock, bedrock-agentcore, order-tracking
---

# WISMO Automation with AI Agents: Order Lookup, Tracking, and Escalation (2026)

> 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.

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](https://redo.com/resources/articles/order-editing/what-is-wismo), 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](https://www.joinhorizon.co/blog/ai-agents-for-ecommerce-15-automations-2026/).

[Baymard](https://baymard.com/lists/cart-abandonment-rate) still puts cart abandonment at **70.22%** (50 studies, updated Sep 22, 2025). That figure counts 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](https://www.joinhorizon.co/blog/ai-customer-support-agent-ecommerce-2026/). Warehouse holds and payment exceptions are [order-exception management](https://www.joinhorizon.co/blog/ai-order-exception-management-ecommerce-2026/). 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`](https://www.joinhorizon.co/examples/architecture-blog-2026/ecommerce-ai-agents-series/wismo-state-machine.md). Series folder: [`ecommerce-ai-agents-series/`](https://www.joinhorizon.co/examples/architecture-blog-2026/ecommerce-ai-agents-series/README.md). Week plan: [`monday-checklist.md`](https://www.joinhorizon.co/examples/architecture-blog-2026/ecommerce-ai-agents-series/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:

1. **Identify the order** (id, email + last-4, guest token).
2. **Read fulfillment + carrier state** without opening five tabs.
3. **Notify or hand off**, including **before** the ticket, when an exception lands.

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.

```mermaid
flowchart TD
  WISMOTicket --> OrderLookup
  OrderLookup --> FulfillmentState
  FulfillmentState --> CarrierTracking
  CarrierTracking --> DelayOrETA
  DelayOrETA --> NotifyOrEscalate
```

If 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](https://www.joinhorizon.co/examples/architecture-blog-2026/ecommerce-ai-agents-series/wismo-state-machine.md) 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](https://www.joinhorizon.co/blog/ai-order-exception-management-ecommerce-2026/). 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](https://www.joinhorizon.co/blog/ai-customer-support-agent-ecommerce-2026/):

- 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.etaClock` is 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

1. Tag last month's helpdesk for WISMO vs everything else. If it is not a top slice, stop.
2. Implement `getOrder` + `getShipment` only. No refund, cancel, or address write.
3. Encode the seven states from [`wismo-state-machine.md`](https://www.joinhorizon.co/examples/architecture-blog-2026/ecommerce-ai-agents-series/wismo-state-machine.md).
4. Run the ten goldens in that file (two orders, guest, preorder, split, customs, cancelled, chargeback, delivered-not-received).
5. Wire proactive delay notify on carrier exception. Dedupe against existing shipped emails.
6. Human queue for delivered-not-received and returned-to-sender. Attach traces.
7. Price expected session volume on the [AgentCore pricing calculator](https://www.joinhorizon.co/tools/amazon-bedrock-agentcore-pricing-calculator/). Follow [`monday-checklist.md`](https://www.joinhorizon.co/examples/architecture-blog-2026/ecommerce-ai-agents-series/monday-checklist.md).
8. To scope this as one first workflow rather than a fleet, start from the [AI customer support agent](https://www.joinhorizon.co/ai-agents/customer-support/) page.

If the blocker is a hard block on the adjacent refund path, [contact us](https://www.joinhorizon.co/contact-us/). For retail-shaped AWS work see [AWS for retail / eCommerce](https://www.joinhorizon.co/industries/aws-retail-ecommerce/) and [Generative AI on AWS](https://www.joinhorizon.co/services/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](https://aws.amazon.com/about-aws/whats-new/2026/06/amazon-bedrock-agentcore-harness-generally-available/)). **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); see [Gateway post](https://www.joinhorizon.co/blog/amazon-bedrock-agentcore-gateway-server-side-tool-execution-2026/). Support-style AgentCore at **50K sessions/mo ~$791/mo** platform + model ([decision guide](https://www.joinhorizon.co/blog/aws-bedrock-agentcore-vs-amazon-q-enterprise-decision-guide-2026/)). Model WISMO volume on the [AgentCore pricing calculator](https://www.joinhorizon.co/tools/amazon-bedrock-agentcore-pricing-calculator/).

## What this post doesn't cover

- General support policy / product Q&A: [AI customer support agent](https://www.joinhorizon.co/blog/ai-customer-support-agent-ecommerce-2026/).
- Holds, splits, payment capture failures: [order exceptions](https://www.joinhorizon.co/blog/ai-order-exception-management-ecommerce-2026/).
- Returns eligibility: [shopper recommendation only](https://www.joinhorizon.co/blog/ai-returns-eligibility-agent-ecommerce-2026/). RMA writes and `createRefund` stay on the [refund investigation](https://www.joinhorizon.co/blog/ai-refund-investigation-agent-ecommerce-2026/) 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).

## How the WISMO lookup stays bounded

Resolve where-is-my-order from order and shipment tools only.

- **Maturity:** Level 2 — reference architecture
- **Risk:** medium
- **Oversight:** monitored
- **Starts when:** A status question that includes an order identifier.
- **Tools:** Reads only, through named tools. No shell, no unrestricted SQL, and no undeclared API.
- **Stops for a person:** This lookup does not cancel, refund, or change an address.
- **Checked by:** Status text matches the order and shipment tools. A missing id is a question, not a guess.
- **Untrusted data:** Email and chat that try to rename the order or demand a refund.
- **If it fails:** If the WISMO lookup stops, name the reason: completed, budget_exceeded, timed_out, cancelled, guardrail_blocked, approval_required, tool_failure, verification_failed, or partial_completion. Retry a timeout at most twice. Back off on rate limits. After repeated verification failure, escalate. Stop when the budget is exhausted or a permission is denied. No unbounded loop. This lookup does not cancel, refund, or change an address.
- **Lifecycle:** Explore, then act, then confirm, then verify. Explore gathers the context for the WISMO lookup. Act stays reversible. Confirm stops before an irreversible step. Verify is a separate check of the outcome.

Reference architecture, not a published production deployment. The shared contract is the [AWS store-agent architecture](https://www.joinhorizon.co/blog/aws-ai-agents-for-ecommerce-factualminds-2026/#operating-contract).

## 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).

---

*Source: https://www.joinhorizon.co/blog/wismo-automation-ai-agents-ecommerce-2026/*
