AI Customer Support Agent for eCommerce: Tool Access, Escalation, and Audit (2026)
Quick summary: Monday, the same order and policy tickets. An agent looks them up. Where-is-my-order is about 18% of the pile. Refunds stay with a person. We are not publishing a tickets-down number.
Key Takeaways
- Where-is-my-order is about 18% of the pile
- Gorgias, reported via Redo, puts where-is-my-order — often shortened to WISMO — at about 18% of incoming requests, and the most common ticket type
- Baymard still puts cart abandonment at 70
- 22% (50 studies, updated Sep 22, 2025)
- This is post 2 in the 15-automations map

Table of Contents
Monday morning, the queue is the same question in different clothes. Where is it. Can I return it. Did it ship. The answers are already in the order system, the carrier feed, and the return policy. The work is copying them.
Gorgias, reported via Redo, puts where-is-my-order — often shortened to WISMO — at about 18% of incoming requests, and the most common ticket type. That slice gets its own post. This one is the control around every support turn: what the agent may look up, when a person takes over, and how you prove what happened.
Baymard still puts cart abandonment at 70.22% (50 studies, updated Sep 22, 2025). That is checkout. Support is people who already paid.
This is post 2 in the 15-automations map.
The job. Stop the associate retyping tracking, the policy version, and “where is my order” for the tenth time today.
This week. Look up the order, the shipment, the product, the published return policy, and help articles. Cite the record. Hand off with the evidence attached. No refunds.
A person still signs. Refunds, cancellations, address changes, gift cards, chargebacks, and “it says delivered and I don’t have it.”
Skip it when a template already closes the ticket, when there is no human queue, or when the only goal is an automatic refund.
We are not publishing a client “tickets down X%” number. A bounded lookup agent can take repetitive status and policy questions off associates. That only holds if the answer comes from the record. It does not hold if you skip the approval block.
Copy the allow-list — Tool allow-list, forbidden writes, and a permission sketch live in
support-agent-tool-policy.md. Series index:ecommerce-ai-agents-series/. Ship gates:monday-checklist.md.
Our take: week one is lookups plus a handoff. Associates still handle refunds. That feels slower than a bot that “just refunds.” The alternative is an automated refund machine with a chat window.
What the agent is for
It is for:
- Working out what the shopper is asking — order status, product fit, policy, damaged-in-transit, account.
- Customer context: order id or email + last-4, not a full address dump unless policy allows.
- A reply that cites what the tools returned (order status, last scan, policy version id).
- A hard handoff with session id + trace when the case is an exception.
It is not for:
- Closing chargebacks, attorney letters, or regulator language.
- Inventing tracking events or clock-time delivery windows.
- Issuing refunds, gift cards, or address changes without a hard block and a person (HITL) above your cap.
- Replacing the order-exception playbook (holds, splits, warehouse misses).
flowchart LR
CustomerQuestion --> AISupportAgent
AISupportAgent --> UnderstandIntent
UnderstandIntent --> OrderProductShippingTools
OrderProductShippingTools --> GenerateResponse
GenerateResponse --> ResolveOrEscalateIf the ask is “chargeback” or “I got a lawyer letter,” skip tools that write and go to handoff immediately. Do not “just check the order first” on legal language — you will still need the human, and you will have extra tool noise in the trace.
Lookups the agent may run
Week-one allow-list from the policy artifact:
| Tool | Purpose | Evidence to return |
|---|---|---|
getOrder | Order by id / email + last-4 | status, items, ship-to city |
getShipment | Carrier events | last scan, ETA from carrier, exception code |
getProduct | Title, inventory, size chart | SKU, in-stock boolean |
getReturnPolicy | Store policy snippets | policy version id |
searchHelpArticles | Public help center | article id + excerpt |
Forbidden until a person and a block sit on writes: createRefund, cancelOrder, updateAddress, issueGiftCard, unrestricted SQL, Browser on every conversational turn.
There is no native Shopify connector for the hosting stack. Your helpdesk and order system (OMS) are signed-in API targets. Guest checkout with no email match → ask for order number. Two open orders on one email → ask which. Do not pick the expensive one and refund it.
When the tool catalog grows past ~10 operations, use semantic search so the model sees a shortlist — same failure mode as the Gateway server-side tools post. Support bots rot by accruing “maybe useful” writes.
If this is ≤5 tools, one team, no hop caps, a simple managed loop is enough. If support must route to a WISMO specialist and an exceptions specialist with a hop cap, that is Runtime + supervisor — see also the Harness + Strands ship map. Do not pick the heavier host “for flexibility” if one loop covers the workflow.
When a person takes over
Hand off immediately:
- Chargeback, attorney, or regulator language
- “Delivered but not received” after the carrier shows delivered — porch theft / misdelivery is fraud-adjacent; it is also a CX landmine. Auto-refund trains the wrong behavior.
- Personal-data correction and access paths
- Discount or price-match above store rule
- Order system / carrier conflict the model cannot reconcile
HITL is a queue (helpdesk, Slack, or an ops dashboard), not a prompt that says “ask a human if unsure.” Attach:
- Session id
- Tool trace (which operations, which ids)
- Who is signed in (shopper vs associate)
Associates who cannot see why the bot stopped will reopen the ticket from zero. That is how you fail the workload thesis without ever measuring a fake KPI.
Context the agent may keep
Documents hold size charts, return policy, shipping FAQs. Memory holds this shopper’s session and, if you opt in, long-term preferences. Namespace Memory by shopper id. Do not dump the catalog into Memory.
Identity: shopper vs associate. A support specialist invoked by mistake must still block stock writes or over-cap refund for a shopper token. Policy sees claims. The model does not.
PII: return city, not full street, unless your policy and logging story allow it. Support transcripts are a data store. Treat them that way.
Security, accuracy, and the audit trail
Security. Named lookups are the only path to the order system. Default-deny writes. Browser off. Code Interpreter off. Your order system and helpdesk APIs dominate how long the answer takes.
Accuracy. Every customer-visible fact needs a tool field or a policy version id. “Usually takes 3–5 days” from pretraining is not a delivery window. If the shipment lookup has no ETA, say so.
Auditability. Log tool errors and ALLOW/DENY on writes. Run a golden set before you scale session volume — published platform cost shapes are planning floors, not a promise your store will land there.
Eval suite (minimum):
- Valid order id → status + last scan
- Email with two orders → clarify
- Guest, no match → request order number
- Chargeback language → escalate, stop writes
- Policy question → article or policy version, not a vibe
WISMO-specific goldens live in post 3. Reuse them; do not fork a second truth.
What broke — A support harness attached
createRefund“for CSAT” with no Cedar. Prompt said refunds under $50 were fine. The model refunded a delivered fixture because the shopper said the box was empty. Detection: Gateway traces showedcreateRefundon a delivered order; finance saw a refund with no RMA. Policy was not even inLOG_ONLY. Recovery: strip write tools; add default-deny Cedar; require HITL for delivered-not-received; replay the turn in evals. Lesson: CSAT prompts are not refund authorization.
What to Do This Week
- Read the pillar map and pick support or WISMO — not both as two write-capable bots.
- Copy
support-agent-tool-policy.mdinto the RFC. Strike any write tool that is still on the list. - Implement
getOrder/getShipment/getProduct/getReturnPolicy/searchHelpArticlesonly. - Identity claims: shopper vs associate. Prove associate-only DENY with a shopper token.
- Ten goldens + three must-escalate. Alarm on unexpected tool mix (Browser, refund).
- HITL queue with session id + trace.
- Price sessions on the AgentCore pricing calculator. Run
monday-checklist.md.
Need a hard block on refunds before chat goes public? Contact us. Architecture help sits under Amazon Bedrock consulting and AWS for retail / eCommerce. FactualMinds already published the tool-policy artifact so you can argue about gates in the RFC instead of in production traces.
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 new storefront bot should not start on Classic action groups.
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 your mix on the AgentCore pricing calculator.
What this post doesn’t cover
- The WISMO state machine (carrier delays, proactive notify, delivered-not-received).
- Warehouse holds, splits, and payment exceptions — order-exception post.
- Full supervisor + four specialists sample (store-agents).
- Helpdesk vendor bake-offs (Gorgias, Zendesk, Salesforce). We cite Gorgias only for the public WISMO share.
- Voice / phone IVR.
- Ticket-volume or CSAT lifts presented as a client outcome. We did not measure those here. We have no published agent case study that claims tickets fell by a percentage.
FAQ
When should we NOT deploy an AI customer support agent for eCommerce?
Skip it when an order-status email or a carrier template already closes most tickets, when you have no person to hand off to (HITL = a person still approves), or when the only win leadership wants is an automatic refund. Also skip the older Agents Classic product for new bots after July 30, 2026. A help-center bot that cannot look up the order (getOrder) is search — ship it as search.
What could go wrong if the refund tool has no Cedar Policy?
The model will issue the refund because the prompt said to be helpful (createRefund). Amount, whether the order already arrived, and who is asking are not stopped by instructions. Log attempts first, then block them (Cedar). Alarm when blocks spike. A sentence in the prompt is not a permission.
What could go wrong if Browser stays enabled on every support turn?
You pay for a browser session on questions that only needed the order and the carrier, and you lose a clean record of what was looked up. Support-shaped pilots have run about 3× the platform spend when that browser stayed on. Leave it off. Add a carrier lookup instead.
What should the agent be allowed to do in week one?
Look up the order, the shipment, the product, the return policy, and help articles. Hand off chargebacks, attorneys, regulators, “it says delivered and I don’t have it,” personal-data fixes, and over-rule discounts. Do not attach refund, cancel, address change, or gift card tools (createRefund, cancelOrder, updateAddress, issueGiftCard) until a person and a hard block sit on writes.
How do we keep answers accurate when the catalog and OMS disagree?
Cite the record, not training data. OMS means the order system. If the order lookup and the shipment lookup disagree (getOrder, getShipment), say so and hand off. Do not average delivery windows. Policy PDFs live in a document store; the shopper session lives in Memory. Do not dump the catalog into Memory.
Can shoppers and associates share the same support agent?
They can share an entry door. Who is signed in (shopper vs associate) must flow into the write block. Associate-only writes must stay blocked for shopper tokens even if the wrong specialist is invoked.
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.




