
Retail Chain Agents: One Knowledge Source for Store Policy, Promos, and Member Questions
A retail-chain Agent makes headquarters, stores, and member chat read one published pack: store policy, the promo calendar, and member rules. Every answer cites a version. A store difference exists only on an exception table (store ID plus the clause). It is not a second script. Ecommerce payment reminders and shipping insurance are a different article (/blog/ecommerce-agent-conversion). Ticket and CRM architecture is another (/blog/custom-customer-service-agent). Sales-gallery leads and floor plans: /blog/real-estate-home-agent. How files are retrieved: /blog/enterprise-rag-knowledge-base-agent. GeonAI delivers the version and the write permission; /agents are capability references only (not a public trial of 363+ presets). Email [email protected] with the subject "Enterprise custom Agent inquiry."
One-sentence definition
A retail-chain Agent = policy, promo, and member answers share one knowledge source: read the current version, require an exception-table row for a local difference, and require a store manager to change a price, adjust points, or approve an above-threshold return. If store A and the app quote two return windows in the same hour, the source has split.
Three blocks in one pack
| Block | Who asks | Source of truth | Gate this post specifies |
|---|---|---|---|
| Store policy | Shoppers and store staff | HQ policy version plus the store exception table | No exception row means the HQ clause |
| Promo rules | Shoppers and store staff | Promo-calendar version (price, stacking, dates) | Refuse an expired tier |
| Member questions | An identified member, or staff | Member-rule version plus a points read | Do not state a balance the read did not return |
Store policy: HQ clauses and the exception table
| Step | Default gate | Note |
|---|---|---|
| Hours, return window, receipt rules (HQ version) | Auto | Cite the policy document ID and version |
| A clause on the exception table for that store | Auto | Name the store ID; if the table has no row, use HQ |
| A spoken "our store allows this" | Store manager | Do not generate a sentence that is not on the exception table |
| Above-threshold return, no-receipt exception | Store manager | The Agent does not edit the return in the POS |
Promos: calendar version and stacking
| Step | Default gate | Note |
|---|---|---|
| Current list price, threshold deal, and whether it stacks with member price | Auto | Read only the current promo-calendar version |
| Regional tier versus national tier | Auto | Follow the priority written on the calendar; if it is missing, hand off |
| An expired or not-yet-started tier | Refuse that price | You may say the tier is not current; do not quote the old price |
| Manager price change, short-dated exception | Store manager | The Agent does not write the POS price |
Members: explain the rules, read the balance
| Step | Default gate | Note |
|---|---|---|
| Tier benefits and how points are earned (published rules) | Auto | Cite the member-rule version |
| Points balance, points about to expire | Read-only | State the number only after identity checks out and the API returns it; otherwise hand off |
| Adjust points, upgrade a tier, backfill a purchase | Store manager | Do not write the loyalty ledger |
| Tell one member another member balance | Banned | Filter by member identity; see data classification |
POS stock reads and price writes go through an allowlist: /blog/agent-function-call-mcp-integration. Allowed and refused actions in the contract: /blog/custom-agent-scope-boundary-in-contract. Member phone numbers and points follow /blog/enterprise-ai-compliance-overview. "Is it in stock" is answered only after that store stock read succeeds. A failed read goes to a store associate. The model does not guess.
How this differs from ecommerce, support, and real estate
| Existing post | That post covers | Gate added here |
|---|---|---|
| Ecommerce conversion | Product questions, shipping insurance, payment reminders | One policy, promo, and member version across chain stores |
| Custom customer service | Tickets, CRM, handoff architecture | Exception table and promo calendar, not a second FAQ |
| Real estate and home | Leads, floor plans, showroom visits | Chain returns and stacking are not a gallery script |
| Knowledge-base RAG | Chunking, permissions, citations | Actions that still need a manager after the store-ID filter |
Decision rules
- Ship first: HQ policy FAQ plus the current promo calendar, every answer citing a version
- Customize before the exception table: store ID, exception rows, and fallback to HQ when a row is missing
- Do not automate yet: POS price changes, point adjustments, above-threshold returns
- A WeChat bot per store does not replace one knowledge source: return windows and stacking rules will diverge
Anti-patterns (stop the pilot)
- An expired promo is still quoted at the old price
- A store with no exception row is described as having a special policy
- A points balance is invented when login or the API failed
- The Agent changes a price or writes a return in the POS
- A 363+ preset is staffed as a store associate and allowed to promise "ask the manager for a discount"
Pilot acceptance
- Replies missing a policy or promo version = 0
- Expired promos still quoted = 0
- Two stores stating different HQ return windows in the same hour (sample audit) = 0
- Points balances stated without a successful read = 0
- Agent price changes, point adjustments, or above-threshold return postings = 0
How to log harm metrics: /blog/custom-agent-30-day-pilot-metrics. Do not use an unsampled "member-question resolution rose by X percent" figure as the business case.
What to send GeonAI
Name where policy, the promo calendar, and member rules live, who publishes a version, which columns the exception table has, and the POS and loyalty product names. Mark which steps may run automatically and which need a store manager. Email [email protected], open service plans, or use Live chat. The first-call pack: /blog/how-to-brief-ai-agent-vendor. Acceptance is one knowledge source and the write permission. Delivery does not include "every store changes prices with no human review."
Frequently asked questions
Each store already has its own WeChat auto-reply. Why one knowledge source?
Separate bots quote different return windows and stacking rules. One source is the current HQ version plus an exception table. No exception row means the HQ clause.
Can a manager verbal discount go live through the Agent?
No. Only the current tier on the promo calendar may be quoted automatically. A spoken discount or a short-dated price change is applied by the manager in the POS. The Agent does not write the price.
The member is not signed in. Can the Agent estimate their points?
No. Published tier benefits may be explained from the member rules. A balance or an expiry amount is stated only after identity checks out and the API returns it. On failure, hand off to a store associate.
How is this different from the ecommerce conversion post?
That post covers product questions, shipping insurance, and payment reminders. This post covers the shared store policy, promo calendar, and member rules, plus the price and return actions that need a store manager.
A regional promo conflicts with the national promo. Which one applies?
The priority written on the promo calendar. If the calendar does not state a priority, hand off. The model does not pick the lower price.
Can the 363+ presets act as store associates?
No. Presets do not include your policy version, promo calendar, store exception table, member read API, or price-change ban.