Friction signal to visual session investigation
Most session investigations start with the event transcript: a chronological list of clicks, errors, and navigations. That answers what happened but not what did the user see? or what changed on the page? This workflow chains a friction signal into a visual investigation using the agentic session review tools, which let the MCP render the actual replay frame at a given moment and describe the visual state of the page.
Turn 1: Surface the friction
Top frustrations (last 7 days):
- "Apply Promo Code" rage clicks — 412 users, /checkout
- Dead clicks on header cart icon — 287 users, /products
- /signup password field abandonment — 218 users
- 504 timeouts on /api/orders during peak hours — 156 users
Turn 2: Pick one, get session evidence
3 sessions reviewed:
Session A (2m 48s): User entered code SPRING20 in the promo field, clicked Apply. Toast appeared. Total did not change. User clicked Apply 6 more times, then closed the tab.
Session B (4m 22s): User pasted a code from email, clicked Apply, then opened DevTools to check the network response, then closed the tab.
Session C (1m 14s): User entered code WELCOME10, clicked Apply once, waited, clicked Apply 4 more times, then opened a chat support widget.
Turn 3: Open the worst session and walk through it visually
Opened session A. Walking through the key moments:
00:34 — User arrives at /checkout via the cart page. Order summary shows: 2 items, subtotal $84.00, total $84.00. Promo field is visible and empty.
01:12 — User types "SPRING20" into the promo field.
01:19 — User clicks "Apply". A small green toast appears in the upper-right reading "Promo applied". The cart total still reads $84.00. No visual change in the order summary.
01:23 — User scrolls down to confirm the total didn't change. Subtotal $84.00. Total $84.00.
01:28 — User clicks "Apply" a second time. Same toast appears. Same total.
01:31 to 01:54 — User clicks Apply 4 more times in rapid succession. The toast appears each time. The total never changes.
02:08 — User scrolls up, looks at the toast position, then closes the tab.
Turn 4: Diff two moments to find what changed
Diff between 01:12 and 01:23:
Added between those moments:
- A green toast in the upper-right reading "Promo applied"
- A small gray line below the subtotal reading "Discount: $0.00"
- The promo input field is now disabled
Unchanged:
- Subtotal value: $84.00
- Total value: $84.00
- All item line prices
The "Discount: $0.00" line is the giveaway. The promo system is recognizing the code, attempting to apply it, and returning a zero discount — but the toast still reads as if it succeeded. The "$0.00" discount line is small, gray, and visually easy to miss.
What you walk out with
A signal (412 users rage-clicking promo apply), a session example, a clear visual diagnosis of the failure mode, and a specific, testable fix: either the promo code is being silently rejected (a backend bug) or the toast is reporting success on a zero-value discount (a UX bug). A transcript alone would have shown the clicks but not the toast, the position, or the hidden $0.00 line.
Behind the scenes
The MCP routes this workflow through: get_opportunities, get_sessions_for_opportunity, session_open, session_view, session_diff, and session_close. The last three are the agentic session review tools that distinguish this workflow from transcript-only investigation.