agentspeed.
← all tools
Tool

Agent Actionability Tester

Score whether an AI agent can identify the actions available on your page. Detects the primary CTA, pricing reachability, contact / support routes, signup flow, accessibly-labelled forms, descriptive button text, and semantic landmarks. Heuristic-driven, no model in the loop, fully reproducible from the input HTML.

Tool
Examples

Click an example to run the tool with pre-filled inputs.

Why this matters for AI agents

Reading is half the work. The other half is acting. An agent that understands your page perfectly but can’t find the CTA, the pricing link, or how to sign up will quote your content and route the user away. The fix is structural: prominent action verbs, sensible URL conventions, labelled forms, semantic landmarks.

This tool runs the same heuristics AgentSpeed runs against the auth.* and journey.* checks, on demand against any URL.

Common fixes
No primary CTA detected
Add a clear, action-verb-led button or link in the hero. “Start free trial”, “Book a demo”, “Try it free”. Avoid Click here or Read more, since agents weight the text as the action description.
Pricing not at /pricing
Agents look for /pricing and /plans first when answering “how much does this cost”. Use those URL conventions even if you have a fancy hash-routed pricing experience.
Forms missing labels
Wrap each <input> in a <label> or set aria-label / aria-labelledby. Agents and screen readers depend on this; without labels, your forms are opaque.
Empty buttons / icon-only buttons
Every <button> needs visible text or aria-label. Icon-only buttons are invisible to agents, so set aria-label="Open menu" or similar.
No semantic landmarks
Wrap regions in <header>, <nav>, <main>, <article>, <footer>. Div soup is opaque; landmarks let agents skim the page like a screen reader does.
Linked rubric checks
FAQ
How do you decide what counts as a "primary CTA"?
Heuristic. We scan the top 2/3 of the body for any <a> or <button> whose visible text starts with a primary action verb (Start, Sign up, Try, Book, Subscribe, Request, Get started, Create account, Join, Download). Length capped at 60 chars to exclude paragraph-text containing those words.
Why heuristic instead of using a model?
Reproducibility and cost. A regex-driven scan returns identical results for identical input HTML, runs in a few milliseconds, and costs nothing. A model would give nicer-looking copy but introduce variance that makes the score unstable. We use the same heuristics on the live AgentSpeed scan, where deterministic behaviour matters most.
What about CTAs in client-rendered components?
This tool checks the SSR HTML. If your CTA is rendered after hydration, agents reading the raw response will not see it, and neither will this tool. That is the same problem the Agent Readability Scanner flags as JS dependency.
Are forms with placeholder-as-label flagged?
Yes. Placeholders are not accessible labels. Forms with placeholder-only inputs fail the labelled check. Use <label>, aria-label, or aria-labelledby explicitly.
Run a full agent-readiness scan
Full scan

Score the entire site against 30 agent-readiness checks across discoverability, readability, structured data, actionability, and performance.

Get the full report →
Agent Actionability Tester: can AI agents act on your site? · AgentSpeed