Use case
RPA replacement
Replace brittle, selector-keyed RPA bots with skills that adapt to the page — you authorize the run, the agent does the work.
The problem
What the status quo costs you.
Classic RPA records exact coordinates and CSS selectors. The moment a vendor ships a redesign, the bot breaks, and a developer rebuilds the recording by hand. Maintenance is the real cost — and the per-run price never falls, because every run replays a rigid script that can’t generalize.
See how Twin works- Open the vendor portaldone
- Resolve login from the vaultrunning
- Adapt cached skill to new layoutqueued
- Pause for approval (handoff)queued
- Resume and finish the runqueued
The wedge
Compile once. Replay forever.
Twin replaces the brittle recording with a compiled skill driven by intent, not coordinates. The DOM-to-indexed-state compiler gives the planner a stable, numerically-indexed view of interactive elements, so a layout change degrades gracefully — the semantic cache adapts the cached skill instead of failing open. When a step genuinely needs a human (an approval, an MFA prompt on an authorized flow), Twin pauses for handoff and resumes.
- 1Describe the workflow as a goal once; Twin compiles it into a skill instead of a coordinate recording.
- 2Re-phrased or re-parameterized runs match the skill semantically — no recompile for every variant.
- 3A page redesign shifts the indexed DOM map, not your script; the cached skill adapts rather than snapping.
- 4Credentials live in the per-tenant credential vault; authenticated logins are handled without hard-coding secrets.
- 5Human-in-the-loop handoff covers approvals and MFA on authorized flows, then the run continues automatically.
Outcome · Teams moving off coordinate-keyed RPA trade a maintenance backlog for skills that self-adapt, and watch cost per 1,000 runs fall — illustratively trending toward zero LLM cost on cache hits — instead of staying flat forever.
In practice
The actual call, and what it returns.
The workflow is a goal, not a recording of coordinates. The login comes from the vault under an account label, and a wall that needs a person parks the run instead of failing it.
curl https://twin-browser.com/api/v1/run \
-H "Authorization: Bearer $TWIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://portal.vendor.example.com",
"prompt": "submit the weekly expense report",
"success": { "kind": "textVisible", "value": "Report submitted" },
"account": "vendor-portal",
"persistSession": true
}'
# → 200 { "success": true, "steps": 9, "runId": "…", "credits_charged": 10 }
# A sign-in that meets an approval or 2FA wall PARKS rather than failing:
# → 200 { "status": "paused", "sessionId": "…", "challenge": "sms-code" }
#
# POST /api/v1/runs/{runId}/resume { "sessionId": "…", "code": "123456" }What this call does
- "account" labels which stored login to use, so one skill drives several logins on the same host.
- "persistSession" keeps the cookie jar for that account, so the next run starts already signed in.
- A paused run is resumable three ways: a code, driving the page yourself over /runs/{id}/input, or a connect link your end-user opens.
- Nothing in the request carries a password — the value lives in the vault and is resolved server-side.
Under the hood
The machinery under every run.
Every use case runs on the same primitives: a token-efficient view of the page, deterministic replay, and a checkpoint where a person decides.
Semantic dispatch cache
Re-phrased requests fuzzy-match a skill you already compiled, so they skip the planner LLM entirely.
Read the mechanism — Semantic dispatch cacheDeterministic replay
Matched skills replay the same way every time — a pass is a pass, and the marginal cost trends toward zero.
Read the mechanism — Deterministic replayToken-efficient DOM state
A live page becomes a compact, numerically-indexed map of interactive elements instead of raw HTML.
Read the mechanism — Token-efficient DOM stateHuman-in-the-loop handoff
Blocked steps — approvals, MFA on an authorized flow — pause for a person, then resume cleanly.
Read the mechanism — Human-in-the-loop handoffFAQ
RPA replacement on Twin — common questions.
Why is Twin more durable than traditional RPA?
How does Twin compare to AI-RPA tools like Skyvern?
Can a human approve sensitive steps?
Related
More ways teams use Twin.
Internal workflow automation
Automate the internal tools and vendor portals that have no API — with audit logging and human approval built in.
AI agents
Give your AI agent a real browser it can drive — reach any site, act under your guardrails, and let repeated work replay at near-zero cost.
QA & test automation
Author end-to-end tests as goals, run them deterministically, and replay every failure as session video.
Put rpa replacement on autopilot.
Start free, hand your agent the work under your guardrails, and let the runs you repeat replay from a compiled skill.