Record once.
Re-run forever.
Prompt to browser workflow you can replay on new data and pages as an API. Draft with LLMs, run deterministic steps, and keep it working with self-healing.
Describe the task -> Oversteer agent runs your task.
Oversteer saves the workflow in deterministic format.
Supply variables and replay the workflow like an API with different inputs.
Deterministic steps
Human-readable steps compiled from an LLM draft. Replays exactly and self-heals when the DOM drifts.
- 1Navigate — https://shop.example.com
- 2Input — value: {searchQuery}
- 3Click — button: 'Price: Low to High'
- 4Extract — name, image, price, description, rating
const run = await client.flows.runs.create({ flowId: "flow_abc123xyz", initialVars: { searchQuery: "wireless headphones" } }) ✓ Step 1: Navigated to shop.example.com ✓ Step 2: Searched for "wireless headphones" ✓ Step 3: Sorted by price (low to high) ✓ Step 4: Extracted 47 products { "products": [ { "name": "Budget Buds Pro", "image": "https://cdn.example.com/...", "price": "$29.99", "description": "Lightweight wireless...", "rating": 4.2 }, ... ] }
Create once, run many times
Simple TypeScript SDK for building and executing browser workflows
Create your flow once
Define from a natural language prompt or explicit steps
import { createClient } from '@oversteer/automation'
const client = createClient({
apiKey: 'your-api-key'
})
// Create from a prompt
const flow = await client.flows
.createFromPrompt({
url: 'https://shop.example.com',
prompt: 'Search for {searchQuery}, \n sort by price, extract products'
})
console.log(flow.flowId)
// → 'flow_abc123xyz'
Run with different variables
Execute your saved flow with new inputs each time
// Create a run with variables
const run = await client.flows
.runs.create({
flowId: 'flow_abc123xyz',
initialVars: {
searchQuery: 'wireless headphones'
}
})
// Stream live progress
const stop = client.flows.runs
.stream(run.runId, event => {
if (event.event === 'completed') {
console.log(event.results)
stop()
}
})
Why Oversteer
Self-healing locators
Resolves DOM drift with semantic matching and reviewable diffs.
Parameterizable runs
Turn any field into a variable. Batch via CSV, API, or scheduler.
Deterministic replays
No hidden prompts at run time. Flows are auditable and diff-able like code.
Step-level observability
Screens, DOM snapshots, and timings for every interaction.
Least-privilege & secrets
Isolated sessions, encrypted secrets, per-flow permissions.
Anti bot detection
Avoid bot detection and bypass CAPTCHA.
How Oversteer compares
Traditional bots
- Brittle CSS selectors
- Script per site
- Opaque failures
Browser & Computer use agents
- LLM cost each run
- Variable outcomes
- Hard to audit
Oversteer
- Reusable flows
- Deterministic replay
- Self-healing on page changes
- Scalable
Create a browser workflow today. Run it for months.
Start free. Keep your flows deterministic, observable, and resilient.