MCP connector: https://oddballs-agent.demos.42a.ai/mcp

RUN OF SHOW · 42a

OddBalls × 42a: demo run-of-show

The script for the person driving the demo. Every scenario here runs on a tool that really exists (src/core/tools/shop-tools.ts, src/core/tools/store-tools.ts, src/core/storefront/live-tools.ts) and on real products from www.myoddballs.com, OddBalls' UK store: 2,622 products, read from the store (UK market, pounds) on 5 October 2026. 560 of them are committed to the worker; the live search reaches the rest.

The sentences to type are the blockquotes. Everything else is for you, not for the shopper.

Before you start

SurfaceURL
MCP connectorhttps://oddballs-agent.demos.42a.ai/mcp?token=tom
Hosted assistant, no installhttps://oddballs-agent.demos.42a.ai/preview
Operator consolehttps://oddballs-agent.demos.42a.ai/dashboard
Flow editorhttps://oddballs-agent.demos.42a.ai/dashboard/flows-app
Customer journeyshttps://oddballs-agent.demos.42a.ai/journeys
This pagehttps://oddballs-agent.demos.42a.ai/scenarios
Chrome extensionload unpacked from oddballs/oddballs-extension/

Identities (the token is the name):

What is real and what is sandbox:

Four facts to know before you walk in:

  1. Two published lines, one unpublished fee. Free UK delivery over £35, and over £40 a free product worth up to £20 (sunglasses, quick-dry towels or a bobble hat) chosen in the store's own cart. The fee below £35 is not published anywhere, so the cart says "Calculated at checkout".
  2. No general discount code, no loyalty page, no exchanges. The store's own discount page says there is no code right now; returns are refunds only.
  3. Sizes are never guessed. The size comes from the store's own chart and a measurement the shopper gives; the cart refuses to pick one.
  4. Every charity line is a quote. The assistant repeats what a product page says ("10% of every pair sold online") and never works out what an order donates.

Before every demo: say "reset the demo" (the reset_demo tool).


Running order

#ScenarioPersonaTimeWhat it proves
1"What size am I?"tom2 minThe store's own chart, then only what is in his size
2Cotton, loose fit or bamboo?tom2 minIt explains in the store's own words, with real prices
3"Do I get free delivery?"tom1 minIt knows the two lines and the fee it cannot know
4A present for him and their 8-year-oldpriya3 minTwo sizes on one set, gifts, and the returns fine print
5"Which designs give to charity?"gareth2 minThe charity line of every design, quoted, never summed
6"Any discount codes?"guest1 minThe honest answer, and what the store does offer
7Fat Cow bralette in XLguest1 minSold out, said out loud, and what is in
8The cart goes hometom2 minThe real OddBalls checkout, exact sizes, no payment
-The console (/journeys, /dashboard)-3 minThe half that is not a chatbot

Short run (5 minutes): 1 → 3 → 8. His size, his cart, and a cart that ends in OddBalls' real checkout.

Seasonal colour: October is in the store. The operator banner is OddBalls' own home-page line, word for word: "This October we're donating 20% of all bralette sales to CoppaFeel!, the charity on a mission to get everyone checking their chest." The Halloween shelf (71 products) is searchable ("halloween boxers").


1 · "What size am I?"

Persona: tom

Real: the size chart, the stock per size.

Sandbox: nothing written. Read-only.

What to type

I'm a 34-inch waist, what size am I in OddBalls boxers?

Show me boxers in my size

What runs

StepToolWhat happens
1size_guidechart: mens, measurement: 34 → Medium (32–34"), from the store's own chart
2search_productsquery: boxers, size: Medium, audience: men → only products in stock in Medium, live

What you see

The size answer quotes the chart row. The grid that follows is boxers with Medium in stock right now; each card's size picker greys out the sizes that are not. Boogie (£12.00) has every size in; Fat Cow (£12.00) is sold out in XXS and XS only.

What to say

"It did not guess from a photo or a height. It used OddBalls' own chart and the number Tom gave it, and then it only showed what Tom can actually buy in Medium, today."

What not to say


2 · Cotton, loose fit or bamboo?

Persona: tom

Real: the store's own guide copy (/pages/mens-underwear-guide), prices.

Sandbox: nothing written.

What to type

What's the difference between your cotton, loose fit and bamboo boxers?

What runs

StepToolWhat happens
1store_infotopic: fabrics → the store's own guide, quoted, with its URL
2search_products (several)"cotton boxers", "loose fit boxers", "bamboo boxers", merged live

What you see

Three rows. The store's guide says the classic cotton boxers are "soft cotton" with "excellent breathability and a relaxed fit"; the loose fit cotton boxers are "100% soft cotton" for "a relaxed, airy feel"; the bamboo boxers are "naturally breathable, moisture-wicking, and ultra-soft". The Tartan Loose Fit boxers are on sale at £7.80, was £13.00.

What to say

"The answer is the store's own guide, not a model's opinion of fabric, and the cards beside it are live prices, including a real markdown."


3 · "Do I get free delivery?"

Persona: tom

Real: the store's published lines (announcement bar, /pages/faqs).

Sandbox: the cart.

What to type

Do I get free delivery?

What would get me there?

What runs

StepToolWhat happens
1view_cart£29.60: £5.40 away from free UK delivery, £10.40 away from the free product
2check_personal_offermatching pieces for his Boogie and Fat Cow boxers, at shelf prices

What you see

Two progress rows: delivery (£35) and the free product (£40). Delivery reads "Calculated at checkout", never "£0.00" and never an invented fee. The suggestions are the same designs in other pieces (socks first).

What to say

"It knows both lines, and it knows the one thing OddBalls does not publish, the fee below £35, so it does not make one up."

What not to say


4 · A present for him and their 8-year-old

Persona: priya

Real: the Dad & Lad set's 40 size combinations and their stock, the kids' chart, the gift cards, the returns page.

Sandbox: the cart.

What to type

I want a present for my husband and our 8-year-old. He's a Large.

Is there anything they can match in?

What if it doesn't fit, can I swap it?

What runs

StepToolWhat happens
1view_cartPriya already has the Magic Garden Dad & Lad set, Large · 7/8 Yrs (£19.00, was £21.00) and kids' long pyjamas 7-8 Yrs (£30.00)
2search_products"dad and lad" / "kids pyjamas": matching sets and pyjamas; gift cards (£10 to £100) if unsure
3size_guidechart: kids: an 8-year-old is 7/8 Yrs (22–23" waist); the store spells it "7-8 Yrs" on pyjamas
4store_infotopic: returns → 90 days, unused, original packaging, refunds only, no exchanges

What you see

£49.00: free UK delivery, and the free product is unlocked (chosen in the store's own cart). A Dad & Lad set asks for both sizes; told only "Large" it answers with the kids' sizes in stock with Large.

What to say

"Two people, two sizes, one product: the assistant asks for the second size instead of guessing it, and it knows that OddBalls refunds rather than swaps."

What not to say


5 · "Which designs give to charity?"

Persona: gareth

Real: each design's own product page, the about page.

Sandbox: nothing written.

What to type

Which of your designs give money to charity?

Anything for prostate cancer?

What runs

StepToolWhat happens
1list_charity_designs71 committed designs that name a charity, one card per cause first, each with its quote
2list_charity_designscharity: Prostate → Prostate Cancer UK boxers (£14.00, 2XL sold out)

What you see

Quoted lines, for example: Prostate Cancer UK, "donate 10% of every pair sold online"; My Name'5 Doddie Foundation, 15% of each product sold; Hippy Jungle, "15% of every Hippy Jungle product sold is donated directly to The OddBalls Foundation"; the Bowel Cancer UK bobble hat, "£2.00 from every unit sold". The store-level line is the brand's own: "We are proud to have donated over £1,000,000 to charities since 2014!"

What to say

"Gareth already bought Hippy Jungle. The assistant can tell him, in OddBalls' own words, where 15% of that went, and show him the next cause, without inventing a number."

What not to say


6 · "Any discount codes?"

Persona: guest

Real: /pages/discount-codes, the sale shelf, the subscriptions shelf.

Sandbox: nothing written.

What to type

Have you got any discount codes?

What's on sale?

What runs

StepToolWhat happens
1store_infotopic: discounts → no general code right now; students 20% (Student Beans or UNiDAYS, full price only), Blue Light Card 20%, refer a friend 25% each
2list_dealsreal struck prices, deepest first: the Big Package 9-pack £76.50, was £108.00

What you see

The honest "no", then the store's real offers, then the sale shelf. A subscription (from £12 a month, free socks, free UK delivery, "No tie-ins") is mentioned, and handed off to its product page if wanted.

What to say

"The assistant never invents a code. 'There isn't one, but here is what there is' sells better than a fake 10%."

What not to say


7 · Fat Cow bralette in XL

Persona: guest

Real: live stock per size.

Sandbox: the cart attempt.

What to type

I'd like the Fat Cow bralette in XL

What runs

StepToolWhat happens
1get_productFat Cow - Ladies Bralette, £15.00, live: Small, Medium and Large in stock
2add_to_cartRefused by name: sold out in XL, with the sizes that ARE in stock

What you see

"Sold out in XL" said out loud and the sizes in stock listed. Ask "does it run small?" and size_guide (chart: bralette) adds the guide's own note: "Customers recommend sizing up". The Boogie bralette (£15.00) has XL in stock, and it is the CoppaFeel! banner's spotlight this October.

What not to say


8 · The cart goes home

Persona: tom

Real: the cart permalink into OddBalls' own Shopify checkout.

Sandbox: the order record.

What to type

Take me to checkout

What runs

StepToolWhat happens
1checkouta sandbox order plus permalinkUrl: www.myoddballs.com/cart/<variant>:<qty>,…, one line per size

What you see

The order card and a button: "Check out on myoddballs.com →". Opened, it is OddBalls' own checkout with Boogie in Medium, Fat Cow in Medium and the deodorant already in it. Payment (card, Clearpay, Klarna or PayPal) happens there.

What to say

"Nothing is charged here. The link is the real store's checkout with the exact sizes, and the shopper pays on OddBalls' own site."

What not to say


The console


What not to say

Don't sayWhy
"Use code …" / "members get …"There is no general code and no loyalty page
"Rated 4.8 stars" on a productNo per-product ratings exist. The store's Trustpilot line is "Excellent", 62,336 reviews; quote no TrustScore number
"Delivery is £3.99" (or any fee below £35)Not published: "Calculated at checkout"
"You can exchange it"Refunds only, within 90 days, unused and in the original packaging
"I've added your subscription"Subscriptions are set up on their product page, never through the cart link
Prices in eurosThe demo is the UK market, in pounds; the EU store is a separate market
"Your order donated £X"Never computed. Quote the product page's line
"OddBalls has given £1m" as an independent factIt is the brand's own total: "We are proud to have donated over £1,000,000 to charities since 2014!"
Anything about anyone's body, or medical adviceThe register rule: a size comes from a measurement; health goes to the charity's site

This page is served from the demo’s SCENARIOS.md, the one source of truth for the run of show. To update it, edit the file, run bun run gen-scenarios and deploy.