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
| Input | Required | Description |
|---|---|---|
actions | Yes | Ordered browser actions. |
allowedDomains | For navigation, URL downloads, and llm/act | Exact permitted hosts; a bare host admits HTTPS only and subdomains are not implied. |
provider | No | Pins a configured provider without fallback. |
session | No | reuse (default) shares the execution session; new creates one for this step. |
timeout | No | Default 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.