
Use case / Browser agents
Replay what the agent saw and clicked.
Browser agents click, type and wait on pages that change. Record each action so a missed click or a stuck loop is easy to find.
- Actions
- Recorded
- Retries
- Counted
- Time on page
- Measured
Instrument it
Turn every click into a span.
Wrap the actions your browser agent takes and a stuck or repeated step shows up in the trace with its timing.
$ npm install tracify-sdk
import { observe, traceAgent } from "tracify-sdk";
const click = observe(async function click(selector: string) {
return page.click(selector);
}, { type: "tool" });
export const bookTable = traceAgent(async (request: string) => {
const plan = await planSteps(request);
for (const step of plan.steps) await click(step.selector);
});Action log
What the agent did on the page.
Each run starts with the goal the agent was given.
Page loads are spans with their own timing.
A missed click is flagged with the selector that was used.
Repeated actions are the loop, counted and costed.
The run ends with a clear reason instead of a silent timeout.
- 01ok
Page opened
Booking page loaded in 1.2 seconds.
- 02ok
Form located
Date and party size found.
- 03missed
Click missed
The submit button had moved.
- 04ok
Same click repeated
Four more tries, same target.
- 05ok
Run stopped
Step budget reached.

The failure to catch
A click that missed its target and repeated until the budget ran out.
Trace page loads, clicks, form fills and retries across browser agents so a stuck step is easy to find.
What Tracify watches.
Page steps
Recorded on every run, so it can be searched, compared and alerted on.
Click targets
Recorded on every run, so it can be searched, compared and alerted on.
Retries
Recorded on every run, so it can be searched, compared and alerted on.
Time on page
Recorded on every run, so it can be searched, compared and alerted on.
