Your store works. Find out whether it works for an agent.
Write a shopping mission in plain English. Aisle Agent runs it through browser agents and protocol clients, records every step, and tells you exactly where it broke and what to change.
Read-only. Every run stops before payment.
“Add three products and apply the welcome discount.”
browser-agent/headless v4.2- 1Landed on homerunning
Four things, and none of them show up in analytics.
Hover-only interactions
Discount fields, size pickers and filters that open on mouseover.
A human: Moves the mouse without thinking about it.
Client-side rendering with no structured data
Prices, stock and delivery estimates that appear after the agent has already read the page.
A human: Waits half a second and sees it.
Inaccessible controls
Size and variant selectors built without labels or keyboard operation.
A human: Taps the box that looks like a box.
Bot walls that cannot tell the difference
Protection that challenges a signed agent acting for a real customer.
A human: Never sees the challenge.
Three of these are accessibility problems you already had. The fourth is one you installed on purpose.
Step 7, and the line that caused it.
100:28.640 query input name=/discount|promo|code/i200:28.644 0 visible matches. 1 hidden: input#discount-code300:28.702 summary 'Have a code?' has no click or keyboard handler400:29.115 focus summary, press Enter. accordion stays closed500:29.120 giving up: discount field not reachable
1<details class="discount-accordion">2 <summary onmouseenter="openAccordion(this)">Have a code?</summary>3 <input id="discount-code" name="discount" hidden>4</details>
1<details class="discount-accordion" open>2 <summary>Have a code?</summary>3 <label for="discount-code">Discount code</label>4 <input id="discount-code" name="discount">5</details>
No score, no grade, no percentage. A step number, a selector and a diff.
Ranked by what it costs you.
Sorted by revenue at risk, highest first
| Mission | Status | Step | Failure class | ||
|---|---|---|---|---|---|
M4Compare two jackets on waterproof rating. | blocked | 2 | Bot wall, signed agent challenged | high$6,920/mo | 4h |
M2Add three products and apply the welcome discount. | failed | 7 | Hover-only interactions | high$4,180/mo | 2h |
M3Can a rucksack arrive in Dublin by Friday? | failed | 4 | Client-side rendering, no structured data | medium$1,640/mo | 1d |
M1Find waterproof boots under $150 in a size 10 and get them to the cart. | passed, note | 7 | Inaccessible controls | low$310/mo | 3h |
Revenue at risk is modelled from the traffic already hitting that path, so a broken filter on a page nobody visits does not jump the queue.
Missions rerun when the store changes.
- Theme updated · header.liquid, cart-drawer.js
- App installed · Reviews widget
- Promotion started · Autumn layers, promo app v3.1regressionMission 2 passed yesterday. It fails today. The promotion app moved the discount field.
- Catalogue sync · 412 products, 6 changed
You will not find this in a quarterly audit, because by then it will have been broken for eleven weeks.
Per store, per month. Missions included.
A flat monthly fee per store, with a monthly allowance of mission runs and unlimited reruns on change triggers. Agencies get a workspace covering every client store at one rate, because running the same ten missions across forty stores is where this gets useful.
This one never reached a product page.
Write one mission and run it.
Pick a store, describe what a customer would try to do, and watch where it stops.
Run a mission