Skip to main content
Each section below is a working shape for one job — what to configure, what to run, and the failure mode to plan for. They assume KERNEL_API_KEY is set and you’ve been through the quickstart.

Web agents

The job: a model decides what to do on a page it hasn’t seen before. The shape: playwright execution as the agent’s default tool, computer controls as the fallback when a step doesn’t respond to a selector, and one browser per task with a timeout_seconds safety net.
Plan for: the model looping on a step that can’t work. Cap the number of turns, and give it the live view URL so a person can see what it’s stuck on. Replays turn a failed run into something you can review afterwards. Skip writing the tool layer yourself with Browser Loop, which ships this catalog with per-model compatibility handled.

Data extraction

The job: pull structured data off pages, repeatedly, at volume. The shape: one playwright execution call per page — return the data, don’t stream the DOM to your machine — a browser pool so you’re not paying creation latency per page, and proxies to spread load across exit IPs.
Plan for: blocks rather than errors. A site that starts returning a challenge page looks like a successful scrape with zero rows. Assert on row count, and watch the CAPTCHA and proxy telemetry events. Concurrency and create-rate ceilings are per plan — see concurrency and limits.

Form fill

The job: put data into a form a person would normally fill in. The shape: playwright execution for the fields, computer controls for the widgets that fight you (custom dropdowns, date pickers, canvas-based signature fields), and a verification read before you submit.
Plan for: silent rejection. A field that a React component controls can accept fill() and then reset on blur. Read values back, and fall back to computer controls typing for anything that won’t hold. For checkouts, don’t handle card data yourself — see payments in browser agents.

Authenticated workflows

The job: the work is behind a login, and you don’t want credentials in your agent’s context. The shape: managed auth performs the login once and writes the session into a profile; every later browser attaches that profile and starts logged in. Kernel health-checks the connection and reauthenticates supported flows in the background.
Plan for: the session going stale anyway. Check the connection’s state before a run rather than discovering a logged-out page mid-task — see connection lifecycle. If you’re holding logins for your own end users, give each one its own project.

QA and testing

The job: run a browser suite against a real deployment, and be able to explain a failure afterwards. The shape: headless browsers for cost and concurrency, replays recording so a red test comes with video, and private networking when the environment under test isn’t public.
Plan for: flakes that aren’t your app. Telemetry separates a network failure from an assertion failure, and creation latency has known causes worth ruling out before you blame the test.
Replays need a headful browser. If you want video for a failing test, run that one headful.

Going further