E-commerce
July 1, 2026
"The bot canceled the wrong order." "The AI only sees one order even though I have two identical ones." "Transferred without saying which one to keep, packages already shipped." Three bot failures where the AI confuses a duplicate and an order modification, cancels without checking the pair, or performs a blank handoff without fulfillment status.
A duplicate e-commerce order AI chatbot does not replace DUP-FLOW agents (#472). It detects bot_dup_* intents, looks up DUP-MAP pair criteria, reads both orders' fulfillment API, guides cancellation before shipping, and hands off the executed cancel refund with a complete payload.
This guide #473 covers bot_dup_* intents, the DUPBOT flow, and dup_bot KPIs. Distinct from the dup playbook (#472) and the order status bot: here, we focus on the AI use case for detecting and routing pre-shipping duplicates.
Summary
Why automate duplicate support with a bot?
Duplicates occur within the first 30 minutes post-checkout, a critical window where offline agents and generic bot route to order edit or refund #370.
Volume and bot dup opportunity
65 to 78% of dup_before_ship tickets are botifiable tier 1 if DUP-MAP pair detect and NO-CANCEL-WITHOUT-PAIR guardrails are active before agent handoff.
Three risks of uncalibrated bot dup
Cancel wrong order: bot cancels keep order customer wanted
Pair not verified: cancel without SKU overlap confirmation
Route order edit: two orders treated as modify single
Baymard estimates that checkout friction and double submission generate duplicate orders if async confirmation is not visible (Baymard, checkout 2025). Fin points out that an AI agent must lookup orders before action (Fin, AI agents 2026).
Angle #473 vs adjacent content
CS dup #472: DUP-FLOW agents execute. #473 = bot tier 1 detect guide handoff.
Order edit: single order modification. #473 = pair of two orders.
Bot order status: WISMO status. #473 = dup pair branch.
Refund #370: timeline processor. #473 = which order cancel first.
Fraud: high risk review. #473 = accidental dup exclude fraud.
DTC flash sales example
52 dup tickets/month baseline #472. After DUPBOT: dup_bot_auto_resolve 76%, dup_bot_wrong_cancel 0, dup_bot_cancel_before_ship 88%, dup_bot_csat 4.5/5.
Bot detects but does not execute cancel
DUPBOT-SUP: bot pair verify guide handoff, agents #472 DU-7 cancel refund execute.
Day 0 dup chat peak
71% of dup bot sessions within 2 hours of checkout: DUPBOT tier 1 critical before WMS pick cutoff.
Thank-you proactive widget
T1 chip "Ordered twice?" opens bot_dup_report with session order# prefill reduces time to pair verify.
Subscription dup reroute
Double subscription same product: route recurring not DUPBOT pair order cancel.
How does DUPBOT differ from DUP #472 and order status bot?
Human duplicate playbook, order status bot, and duplicate bot: three distinct order bot layers.
Bot → duplicate role matrix
#473 DUPBOT: pair detect fulfillment branch handoff
#472 DUP-FLOW: agents cancel refund return execute
Order status bot: single order tracking timeline
Guest lookup: auth order# email
Order edit bot: modify lines address single order
Shared DUP-MAP corpus
#472 defines DUP-MAP JSON. #473 bot consumes: detection_window match_criteria cancel_default shipped_path.
Four BOT-DUP-TYPE flows
bot_dup_proactive_detect: webhook second order alert customer
bot_dup_report_accidental: customer reports two orders
bot_dup_before_ship: both unfulfilled cancel guide
bot_dup_shipped_handoff: one or both shipped return path
Promise #473
DUPBOT-SUP Policy, 12 bot_dup_* intents, flow DUPBOT DB-1 to DB-8, guardrails, handoff payload, KPI dup_bot_*.
Bot ops 30-minute training
Module 1: dup vs edit vs status bot. Module 2: guardrail red team cancel. Module 3: handoff payload review. Quiz 90% before prod.
WMS hold signal bot
Pair verified unfulfilled both: bot triggers ops dup_hold flag API if integrated before agent cancel handoff.
Which bot_dup_* intents should be classified?
Twelve duplicate order bot intents before the DUPBOT flow.
Twelve bot_dup intents
bot_dup_report_two_orders: customer says two identical orders
bot_dup_which_cancel: which one to cancel / keep
bot_dup_proactive_nudge: bot detects pair, alerts customer
bot_dup_before_ship: none shipped, cancellation possible
bot_dup_one_shipped: one shipped, one unfulfilled
bot_dup_both_shipped: duplicate return, handoff
bot_dup_not_duplicate: different SKUs / addresses, reroute
bot_dup_double_charge: two captures for same order, reroute to finance
bot_dup_retry_payment: retry after declined, explain pair
bot_dup_guest_account: guest + account link challenge
bot_dup_fraud_exclude: high risk, reroute, not duplicate
bot_dup_self_cancel_guide: cancel link, unfulfilled portal
Bot execution tiers
Tier 1 auto: proactive_nudge, before_ship explain, not_duplicate reroute, self_cancel_guide, which_cancel default newer.
Tier 2 handoff: one_shipped cancel unfulfilled, both_shipped return label, double_charge finance, fraud_exclude.
Bot session fields
dup_intent, order_id_a, order_id_b, sku_overlap[], fulfillment_a/b, pair_verified Y/N, keep_order, cancel_order, handoff_reason.
Intent router dup keywords
"two orders", "double order", "ordered twice", "cancel one" route to DUPBOT before generic cancel macros.
Post-handoff bot silence
After cancel handoff DB-7: bot stops dup guidance in the same session to prevent contradictory cancel promises.
How does the bot consume DUP-MAP #472?
The bot reads DUP-MAP #472 for grounded pair detection without inventing duplicate criteria.
Lookup DB-4 bot
dup_detection_window_min: delta minutes between orders
dup_match_criteria: email ship_address line_skus
cancel_default: newer | client choice
unfulfilled_cancel_auto: handoff priority flag
shipped_path: return RMA free label macro
shipping_fee_dup: refund shipping duplicate Y/N cite
Pair detect DB-3 API
Email auth → query recent orders window → compare line_items SKU qty ship_address → pair_verified score.
Proactive webhook
orders/create webhook → DB-3 pair check prior order → bot_dup_proactive_nudge TPL-DUPBOT-PROACTIVE if match.
Fulfillment grounded
bot_dup_before_ship: both fulfillment_status null only. API read not LLM assume.
RAG /pages/duplicate-order
Corpus DUP-* macros #472 + FAQ self-cancel link every dup thread.
Stale DUP-MAP alert
Bot RAG hash mismatch #472: block pair answers handoff until sync.
Overlap score threshold
DB-3 pair_verified: SKU qty match 100 % + ship address + email + window all true not partial LLM guess.
Multi-order session lookup
DB-3 query last 3 orders 60 min same email: present list client pick pair if unsure order# both.
How to write the DUPBOT-SUP policy in eight rules?
The duplicate bot policy DUPBOT-SUP governs detect guide without cancel bot execute.
Eight DUPBOT-SUP rules
NO-CANCEL-WITHOUT-PAIR: DB-3 pair_verified before any cancel mention
NO-CANCEL-BOT-EXECUTE: handoff agents DU-7 cancel refund
DUP-MAP grounded: window criteria from map not LLM
Auth both orders: DB-2 email match order_a order_b
Default cancel newer: unless client specifies keep order#
FRAUD-EXCLUDE: high risk velocity reroute fraud not dup
Handoff payload complete: keep cancel fulfillment both ids
/pages/duplicate-order link: once per dup thread
Forbidden bot
Cancel order API bot. Promise cancel shipped order. Merge two orders fantasy. Route order edit single modify. Waive restocking fee bot execute.
Order edit reroute
Single order address change keywords without two order# : route order edit not DUPBOT.
Client keep preference capture
DB-6 ask "keep #A or #B?" if client explicit before handoff override default newer.
Double charge not dup pair
bot_dup_double_charge : single order two captures route finance not pair cancel two orders explain TPL distinct.
How to apply the DUPBOT DB-1 to DB-8 flow?
The DUPBOT DB-1 to DB-8 flow structures duplicate bot grounded maps triage.
Eight steps DB-1 to DB-8
DB-1 Intent classify: bot_dup_* from message
DB-2 Auth gate: email order# one or both collect second
DB-3 Pair detect: API recent orders DUP-MAP criteria overlap
DB-4 DUP-MAP lookup: window cancel_default shipped_path
DB-5 Fraud check: high risk bot_dup_fraud_exclude reroute
DB-6 Respond tier 1: TPL-DUPBOT-* grounded DB-3 DB-4 fulfillment
DB-7 Branch: close guide | handoff cancel | handoff return | reroute not dup
DB-8 Log: intent pair_verified keep cancel handoff csat
DB-6 bot_dup_before_ship
TPL-DUPBOT-BEFORE-SHIP: both unfulfilled, will cancel #[newer] keep #[older], handoff agent under 30 min.
DB-6 bot_dup_proactive_nudge
TPL-DUPBOT-PROACTIVE: detected similar order #[B] after #[A]. Reply KEEP A or B or BOTH within [X] h.
DB-7 bot_dup_one_shipped
Handoff agent cancel unfulfilled payload both fulfillment status tracking shipped order.
DB-7 bot_dup_both_shipped
Handoff return label duplicate order DUP-BOTH-SHIPPED-01 #472 macro cite.
DB-2 collect second order#
Client provides one order#: bot asks second or auto-detect recent pair DB-3 reduce friction.
SLA handoff dup P1
bot_dup_before_ship handoff acknowledgment under 10 s with ticket ref agent queue dup priority.
DB-5 velocity fraud examples
Same ship 5 orders 1 h different cards: bot_dup_fraud_exclude TPL honest reroute fraud queue not dup auto cancel.
Which TPL-DUPBOT-* templates and guardrails?
Eight duplicate bot templates and NO-CANCEL-WITHOUT-PAIR guardrails.
TPL-DUPBOT-PAIR-OK
"Identical orders #[A] and #[B] confirmed (same items, address). We will cancel #[cancel], #[keep] is retained. Agent to confirm within [SLA]."
TPL-DUPBOT-BEFORE-SHIP
"None shipped: cancellation of #[cancel] possible without fees. #[keep] is prepared. Immediate agent transfer."
TPL-DUPBOT-ONE-SHIPPED
"#[shipped] shipped tracking [tracking]. #[unfulfilled] will be cancelled and refunded. Agent is processing."
TPL-DUPBOT-NOT-DUP
"Different orders (items or address). Please specify modification: [order edit link]."
TPL-DUPBOT-PROACTIVE
"Two similar orders detected #[A] #[B]. Reply to keep A or B within [X] hours, otherwise #[newer] will be cancelled by default."
TPL-DUPBOT-SELF-CANCEL
"Cancel #[order] yourself if not shipped: [portal link]. Need help: stay in chat."
Guardrail NO-CANCEL-WITHOUT-PAIR-01
Block cancel language if pair_verified N or only one order_id known.
Guardrail NO-CANCEL-BOT-EXECUTE-01
Block Shopify cancel API bot role. Handoff only DB-7.
Touchpoints
Thank-you T1 proactive dup nudge if pair detect
/pages/duplicate-order T2 bot embed
Confirmation email chip « ordered twice? »
Handoff Gorgias dup_bot payload
TPL-DUPBOT-HANDOFF
"Transferring to an agent: cancellation of #[cancel] and retention of #[keep]. Processing time within 30 business minutes. Chat reference [id]."
Confirmation email dup chip
Second confirmation email within window: deep link chat ?intent=bot_dup_report_two_orders proactive reduce ticket lag.
Which proactive, retry, and gift cases should be processed?
Special bot dup cases require the DUP-MAP branch or immediate handoff.
Proactive detect thank-you
Second order webhook 15 min: bot_dup_proactive_nudge before client tickets reduce dup_double_ship by 25-35%.
Retry payment pair
bot_dup_retry_payment: check both captures paid before canceling first order finance path.
Gift duplicate
#205 gift same ship address: pair detect buyer not recipient contact.
Guest account split
bot_dup_guest_account: phone zip challenge #122 link orders.
Partial SKU overlap
Overlap 80% lines: TPL-DUPBOT-PAIR-OK partial. Below threshold TPL-DUPBOT-NOT-DUP.
COD dup pair
Two COD orders: link #469 cancel before SMS confirmation for both.
Preorder overlap
Preorder two same SKU: handoff allocation cancel one.
Flash sale scale
Pre-scale proactive webhook capacity 2x dup_pair_rate peak promo.
Mobile double tap context
62% dup mobile: bot_dup_report_two_orders empathetic no blame TPL-DUPBOT-PAIR-OK fast path.
Made-to-order dup handoff
Made-to-order production started: bot handoff note production status not auto before ship promise.
Third-party marketplace dup
Marketplace orders dup on platform: bot reroute not Shopify DUPBOT.
Which dup_bot KPIs should be measured?
The duplicate bot KPIs link auto-resolve, zero wrong cancel, and cancel before ship assist.
Eight key metrics
dup_bot_session_rate: bot_dup sessions / dup chats
dup_bot_auto_resolve: tier 1 closed / sessions
dup_bot_proactive_nudge_rate: proactive detects / dup pairs
dup_bot_cancel_before_ship_assist: handoff pre-ship resolved / eligible
dup_bot_wrong_cancel: guardrail violations (target 0)
dup_bot_pair_detect_accuracy: verified pairs / bot pair claims
dup_bot_handoff_quality: payload complete / handoffs
dup_bot_csat: post dup bot path satisfaction
DTC Benchmark
dup_bot_auto_resolve 70-80%, dup_bot_wrong_cancel 0, dup_bot_cancel_before_ship_assist > 85%, dup_bot_csat > 4.3/5.
Dup bot Dashboard
Intent breakdown, proactive vs reactive, not_dup reroute rate, handoff SLA minutes.
Agents dup_bot_ticket_delta
Measure dup agent tickets post-DUPBOT: target 55-70% tier 1 deflection, maintain handoff quality.
A/B proactive vs reactive
Test webhook nudge on vs off 4 weeks, measure dup_bot_cancel_before_ship_assist uplift.
dup_bot_proactive_response_rate
Track customer replies to TPL-DUPBOT-PROACTIVE within window: optimize copy and default cancel timing.
Which bot anti-patterns should be avoided?
Twelve duplicate bot anti-patterns to banish from production.
1. Cancel bot API
NO-CANCEL-BOT-EXECUTE-01 handoff agents.
2. Cancel without pair verify
NO-CANCEL-WITHOUT-PAIR-01 block.
3. Cancel wrong order
Rule 5 default newer client confirm option.
4. Route order edit
Two order# required DUPBOT not edit bot.
5. Treat fraud as dup
Rule 6 FRAUD-EXCLUDE velocity.
6. Promise merge orders
Shopify no merge explain cancel one keep one.
7. Skip fulfillment check
API fulfillment_status both before ship branch.
8. Empty handoff
Rule 7 payload keep cancel fulfillment.
9. Refund #370 without dup context
Cite which order canceled refund timeline.
10. Ignore proactive window
Webhook pair detect underused double ship driver.
11. Silent proactive cancel
TPL-DUPBOT-PROACTIVE client choice window required.
12. Skip /pages/duplicate-order
Rule 8 link once self-cancel guide.
13. WISMO dup mix
Tracking question + dup same session : status both orders + dup branch one response not WISMO only.
14. Restocking fee promise
Bot never cite restocking fee accidental dup : #472 rule 5 no penalty cite TPL only.
How does Qstomy implement DUPBOT?
Qstomy on Shopify runs DUPBOT: bot_dup_* classifier, DUP-MAP #472 pair detect, orders API fulfillment both, NO-CANCEL-WITHOUT-PAIR guardrails, proactive webhook nudge, handoff payload agents #472.
Qstomy dup bot capabilities
dup_intent_classifier: 12 bot_dup intents
dup_pair_detector: email SKU window API
dup_fulfillment_matrix: both orders status
dup_fraud_exclude_gate: high risk reroute
dup_proactive_webhook: orders/create nudge
dup_handoff_payload: keep cancel ids fulfillment
Pipeline #473 #472 #370
#473 bot tier 1 detect guide. #472 agents execute cancel. #370 refund timeline post-handoff.
Quantified DTC scenario
Flash sale 52 dup tickets/month, wrong cancel uncalibrated bot baseline.
After DUPBOT-SUP + Qstomy: dup_bot_auto_resolve 78%, dup_bot_wrong_cancel 0, dup_bot_cancel_before_ship_assist 90%, dup_bot_csat 4.5/5.
Explore customer support and request a demo.
AI order governance
DB-8 logs feed AI governance (#124) monthly dup_bot guardrail audit.
Weekly dup bot guardrail audit
Sample 25 sessions regex cancel language without pair_verified zero tolerance.
Integration thank-you Shopify
Checkout extensibility thank-you block Qstomy dup chip if recent order same session email detect.
What is the checklist for deploying DUPBOT?
DUPBOT Checklist (12 steps)
Sync DUP-MAP #472 JSON into bot RAG
Write policy DUPBOT-SUP 8 rules
Deploy 12 intents bot_dup_* classifier
Implement DB-1 to DB-8 + guardrails
Shopify orders API pair detect DB-3 read-only
orders/create webhook proactive nudge staging
TPL-DUPBOT-* + /pages/duplicate-order corpus
Handoff Gorgias payload keep cancel fulfillment
Test 8 scenarios: pair ok before ship, one shipped, both shipped, not dup, proactive, retry, fraud exclude, self cancel
Dashboard KPI dup_bot section 9
Thank-you proactive T1 if pair in session
Red team cancel without pair quarterly zero tolerance
In short
#473 = bot dup tier 1, does not execute cancel
DUP-MAP #472: shared corpus
Proactive detect: pre-ship window critical
NO-CANCEL-WITHOUT-PAIR: verify first
KPI dup_bot_wrong_cancel: target 0
FAQ
Bot cancels order?
No. Handoff agents #472 DU-7 execute. Bot guide pair verify.
Difference #472?
#472 agents cancel refund return. #473 bot detect classify guide handoff.
Proactive how?
Webhook second order → TPL-DUPBOT-PROACTIVE customer choose keep.
Which to cancel?
Default newer order. Customer can choose keep order# explicit.
Order edit confusion?
Single order modify route order edit not DUPBOT.
Go further
This week: import DUP-MAP into bot RAG, deploy bot_dup_* classifier, activate orders/create proactive webhook staging, configure NO-CANCEL-WITHOUT-PAIR guardrail, test 8 scenarios, launch dashboard dup_bot_wrong_cancel zero tolerance.
Share this #473 guide with bot ops and warehouse: a pair detected at thank-you is worth ten duplicate packages returned, a complete handoff payload is worth three "wrong order cancelled" tickets.
Black Friday bot scale
Pre-scale proactive webhook + dup bot capacity 2x dup_pair_rate Nov peak.
Go-live test matrix detail
8 scenarios staging: pair ok both unfulfilled handoff, one shipped, both shipped return handoff, not dup reroute edit, proactive nudge reply, retry payment, fraud exclude high risk, self cancel link guide.
DUPBOT Internal Documentation
Wiki ops: intents → templates → handoff triggers, DUP-MAP owner #472, guardrail owner bot ops, quarterly review red team cancel without pair.
Runbook agent handoff dup
Agents receive keep_order cancel_order fulfillment_a/b in Gorgias payload without re-asking for both order numbers.

Enzo
July 1, 2026





