E-commerce
July 1, 2026
"-20% in store, the bot honors the online discount." "The AI does not mention the eligible stores." "Chatbot ignores the web alternative and leaves the customer stuck." Three failures where a poorly calibrated store offer bot violates channel_scope or omits web_alternative.
An AI chatbot for store-only offers in e-commerce does not replace STOREONLY agents (#965). It reads STOREONLY-MAP, explains the store_only channel, cites store_list web_alternative_url map, and hands off goodwill to humans.
This guide #966 covers bot_storeonly_* intents, STOREONLYBOT flows SOB-1 to SOB-8, and the storeonly_bot KPI. A bot counterpart of the STOREONLY playbook (#965). Usecase: explaining channel-specific promos and tier 1 web alternatives.
Summary
Why botify only in-store offers?
The customer attempts a POS code on Shopify before an agent ticket. Without a channel promo registry, the bot honors the online discount or rejects it without channel_explain_copy. CHANNEL-REGISTRY-GATE aligns the checkout widget and agents #965.
What the bot resolves at tier 1
Explain channel: channel_scope channel_explain_copy map cite
Web rejected code: promo_code_store exclusions POS grounded
Eligible stores: store_list store_locator_url map
Web alternative: web_alternative_offer url if map
Both channels: online_url + store_list if channel_scope both
The bot intercepts bot_storeonly_code_reject_detect before honoring store_only online or a dead end without WEBALT.
Omnichannel retail example
Retail mode 45 stores, 12 storeonly_ tickets/month. Bot sync STOREONLY-MAP D-0. storeonly_bot_deflect +44 %, storeonly_bot_online_honor_violation 0 in 8 weeks.
STOREONLYBOT #966 vs STOREONLY #965, PRXDIFFbot #748, OFFADBOT #960, ONLINEONLY #967 and PROMO
Seven bot channel promo contents, seven distinct roles.
Quick Matrix
#966 STOREONLYBOT: tier 1 bot store-only offer, web widget alternative channel
STOREONLY #965: goodwill ops agents, execute channel
ONLINEONLY #967: web-only offer, inverse distinct from store_only
PRXDIFFbot #748: price difference, same SKU, distinct channel-specific promo
OFFADBOT #960: print flyer online conversion, distinct from POS promo
PROMO sync #886: active promo sync, distinct from store_only channel
POPUP: temporary pop-up online_url, distinct from permanent store
Pipeline: bot explain web_alt channel cite → #965 goodwill ops handoff execute.
Which bot_storeonly_* intents should be configured?
Eight store-offer intents mapped to storeonly_* typologies #965.
Eight bot_storeonly intents
bot_storeonly_code_reject_detect: detect POS code rejected at web checkout
bot_storeonly_channel_explain: map channel_scope channel_explain_copy
bot_storeonly_store_list: cite store_list store_locator_url
bot_storeonly_web_alternative: web_alternative_offer url map
bot_storeonly_both_channel: online_url + store_list if both
bot_storeonly_scope_verify: Shopify promo_code_store exclusions live
bot_storeonly_popup_reroute: pop-up exception online_url map
bot_storeonly_handoff: goodwill ops → #965
Tier 1 auto: code_reject_detect, channel_explain, store_list, web_alternative, scope_verify if code entered + STOREONLY-MAP + guardrails.
bot_storeonly_handoff, storeonly_goodwill_request, storeonly_ops_flag → agents #965 payload storeonly_id.
How do I consume STOREONLY-MAP #965?
The bot reads STOREONLY-MAP #965: storeonly_id, offer_name, channel_scope, store_list, store_locator_url, promo_code_store, web_alternative_offer, web_alternative_url, channel_explain_copy, expiry_date, goodwill_rules_summary, agent_handoff_url.
Lookup grounded channel
Code lookup: promo_code_store entered → STOREONLY-MAP row
Offer name detect: offer_name keywords → storeonly_id
CHANNEL-GROUNDED-BOT: channel_explain_copy map only, do not invent
Shopify Discount API: store_only channel exclusions verify
NO-ONLINE-HONOR-BOT: never honor store_only online outside map
WEB-ALT-BOT: web_alternative systematic if map exists
Checkout widget: entry "Store code does not work" + error chip promo code field.
STOREONLYBOT-SUP policy in six rules
Six bot rules offer secure store.
CHANNEL-REGISTRY-GATE: lookup STOREONLY-MAP before offer response
CHANNEL-GROUNDED-BOT: channel_explain_copy from map only
NO-ONLINE-HONOR-BOT: bot does not honor store_only online
WEB-ALT-BOT: web_alternative_offer url if map exists
STORE-LIST-BOT: store_locator_url if stores requested
PRXDIFF-REROUTE-BOT: price discrepancy same SKU → PRXDIFFbot #748, web only → #967
Flow STOREONLYBOT SOB-1 to SOB-8
Eight-step flow: ingest detect lookup verify answer reroute handoff log.
SOB-1 Ingest: message store code shop offer city
SOB-2 Code detect: bot_storeonly_code_reject_detect entered promo
SOB-3 Registry lookup: CHANNEL-REGISTRY-GATE STOREONLY-MAP
SOB-4 Shopify verify: promo_code_store exclusions live channel
SOB-5 Tier 1 answer: channel_explain store_list web_alternative
SOB-6 Reroute: PRXDIFFbot #748 OFFADBOT #960 ONLINEONLY #967
SOB-7 Handoff: goodwill ops → agent #965
SOB-8 Log: deflect channel_explain web_alt KPI
TPL-STOREONLY-CHANNEL Example
« Offer {{offer_name}} valid in-store only. {{channel_explain_copy}}. Stores: {{store_list}}. »
TPL-STOREONLY templates and touchpoints
Four short templates offer in-store embed checkout widget.
TPL-STOREONLY-CHANNEL
[channel_explain_copy map.] [offer_name.] CHANNEL-GROUNDED.
TPL-STOREONLY-CODE
[promo_code_store map.] Valid in-store POS. Not applicable on the web. NO-ONLINE-HONOR.
TPL-STOREONLY-WEBALT
[web_alternative_offer map.] [web_alternative_url.] WEB-ALT-BOT.
TPL-STOREONLY-HANDOFF
[agent_handoff_url.] Request [goodwill / ops] forwarded. Offer [storeonly_id]. Delay [handoff_sla].
Touchpoints
"In-store code not working": code_reject_detect + channel_explain
Checkout error chip: scope_verify + CODE template
"Which stores?": store_list + locator
"Online equivalent?": web_alternative + url
Edge cases: both channels, loyalty card, pop-up, web-only promo
Five cases out of tier 1 bot standard store offer.
channel_scope both: both_channel online_url + store_list applicable
Promo web only inverse: reroute future ONLINEONLY #967
Same SKU price gap: reroute PRXDIFFbot #748
Online ephemeral pop-up: popup_reroute + pop-up store
Commercial gesture request: handoff #965 goodwill not auto bot
Bot does not add offer out of STOREONLY-MAP: handoff #965 register brief if frequent new POS code.
Essential store-only bot KPIs
Five STOREONLYBOT steering metrics and correlation #965.
storeonly_bot_deflect: store offers clarified without a storeonly_ ticket
storeonly_bot_channel_cite_rate: % channel_explain sessions provided tier 1
storeonly_bot_web_alt_rate: % web_alternative sessions proposed
storeonly_bot_handoff_rate: % goodwill routed #965
storeonly_bot_online_honor_violation: store_only discounts honored target web 0
Target: online_honor_violation at zero and web_alt_rate above 80% post sync STOREONLY-MAP D-0.
STOREONLYBOT anti-patterns
Five frequent mistakes target store bot.
Honor store_only online: NO-ONLINE-HONOR-BOT mandatory
Ignore web alternative: WEB-ALT-BOT if map exists
Forget eligible stores: STORE-LIST-BOT systematically use locator
Confuse PRXDIFF #748: #966 channel promo, not SKU price gap
Duplicate OFFADBOT #960: #966 POS channel distinct from print flyer
STOREONLYBOT with Qstomy
Qstomy on Shopify: detect bot_storeonly intent, STOREONLY-MAP RAG code index, Shopify discount verify, templates CHANNEL WEBALT CODE, handoff #965 goodwill payload storeonly_id.
Pipeline: #966 bot explain canal web_alt → #965 goodwill ops execute.
Scenario: retail mode 45 stores. Registry D-0. storeonly_bot_deflect +44%, online_honor_violation 0.
Explore AI support and request a demo.
Checklist, FAQ and going further
STOREONLYBOT Checklist (8 steps)
Sync STOREONLY-MAP #965: RAG bot promo_code channel index
Policy STOREONLYBOT-SUP: 6 rules REGISTRY-GATE CHANNEL-GROUNDED NO-ONLINE-HONOR
8 intents bot_storeonly_*: flow SOB-1 to SOB-8
4 templates TPL-STOREONLY-*: CHANNEL CODE WEBALT HANDOFF
Store checkout chip code: code_reject_detect entry
Reroutes PRXDIFF ONLINEONLY: #748 #967 gates
Red team 10 codes: honor online without WEBALT test
Dashboard KPI: storeonly_bot_* section 9 + delta storeonly_
FAQ
Difference #965?
#965 = agents goodwill ops channel execute. #966 = bot tier 1 explain widget.
Does the bot honor store offers online?
No if channel_scope store_only. NO-ONLINE-HONOR-BOT. Handoff goodwill #965.
Difference ONLINEONLY #967?
#967 = reverse web only offer. #966 = store only offer.
Difference PRXDIFFbot #748?
#748 = price difference for the same SKU. #966 = channel promo not applicable online.
Is a web alternative mandatory?
Yes if web_alternative_offer map. Systematic WEB-ALT-BOT.
Go further
This week: sync STOREONLY-MAP #965, store checkout chip code, CHANNEL WEBALT templates, measure storeonly_bot_deflect.

Enzo
July 1, 2026





