Skip to main content

Browser Tasks

Browser/Run@1

Browser/Run@1 automates portals that do not expose an API. It runs an ordered Playwright action list against a configured remote Chromium session over CDP.

- task: Browser/Run@1
name: portal
inputs:
allowedDomains: [portal.example.com]
actions:
- { do: goto, url: https://portal.example.com/login }
- { do: fill, target: label=Username, value: "{{ portalCreds.user }}" }
- { do: fill, target: label=Password, value: "{{ portalCreds.password }}", sensitive: true }
- { do: extractText, target: css=.status, as: status }
outputs:
- name: status

Inputs

InputRequiredDescription
actionsYesOrdered browser actions.
allowedDomainsFor navigation, URL downloads, and llm/actExact permitted hosts; a bare host admits HTTPS only and subdomains are not implied.
providerNoPins a configured provider without fallback.
sessionNoreuse (default) shares the execution session; new creates one for this step.
timeoutNoDefault per-action timeout in seconds.

Supported verbs are goto, click, check, uncheck, hover, waitFor, fill, press, selectOption, waitForNavigation, extractText, extractAttribute, extractTable, extractUrl, screenshot, uploadFile, download, and llm/act. Locators must start with css=, xpath=, text=, label=, placeholder=, or role=.

Captured values are stored under each action's as name. The task also returns the final url and an actions audit list. Screenshots and downloads return artifact records. llm/act uses a closed browser tool set and cannot bypass allowedDomains. Use if for an action-level NCalc condition and sensitive: true for credentials.