The agent gets one tool for browser automation:

How it maps:

This keeps the agent deterministic and avoids brittle selectors.

Example agent tool arguments (reuse a targetId from tabs or open):

{ "action": "requests", "targetId": "t1", "filter": "fetch", "limit": 20, "clear": true }
{ "action": "text", "targetId": "t1", "selector": "article", "maxChars": 6000 }
{ "action": "snapshot", "targetId": "t1", "query": "sign in", "maxChars": 4000 }

For a Browser dashboard, use its stable widget name instead of a tab ID:

{ "action": "snapshot", "dashboard": "service-status", "refs": "aria" }

The dashboard selector applies to the current session. Create the saved browser:dashboard widget with the dashboard tool first; its props choose the URL and optional managed profile. browser resolves the same page shown in the dashboard for snapshots, clicks, typing, and navigation. Do not combine the selector with an explicit profile, node, or target ID. open explicitly resumes a stopped dashboard, and close stops its running browser. Other actions leave a stopped dashboard stopped. Ordinary raw-tab closing cannot close a dashboard-owned tab.

{
  "action": "emulate",
  "targetId": "t1",
  "device": "iPhone 15",
  "colorScheme": "dark",
  "timezoneId": "America/New_York",
  "locale": "en-US"
}