RPA, AI agents, scripts or an API: which fits your data entry?
Use an approved API whenever one does the job. Use RPA if you already run a platform with people to maintain it. Use an AI agent alone for varied, one-off tasks. For entries that repeat, give the agent OpenAdapt: it compiles the agent's run into a program that reads each save back and stops on a mismatch.
Updated 2026-10-18
At a glance
| An approved API | RPA platform | An AI agent alone | Your own script | OpenAdapt, alone or under your agent | |
|---|---|---|---|---|---|
| Best for | Any task the API covers | Many automations on one platform | Varied or one-off tasks | A developer-owned task | Repeated entries with no usable API |
| Who builds it | Developers, with the vendor | Your RPA team | Anyone who can describe the task | A developer | We build it with you |
| AI model calls per run | None | Usually none | Every step | None unless added | 0 in our recorded runs |
| Proof the record saved | The API's reply | What the builder adds | Usually the model reading the screen | What the developer adds | A second read of the record, where available |
| When it isn't sure | Returns an error | Error handling the builder sets | The model decides | What the code says | Stops and asks a person |
Why the second read matters: in our fault test, a screen-only check passed 54 of 72 wrong records, and a full database read caught all 72. How the test worked.
Your agent alone and with OpenAdapt, timed
On an OpenEMR test copy, 14 to 15 Oct 2026, each entered 63 new-patient referrals and saved 62 correctly. OpenAdapt ran the same path every time, sent no screens to a model and cost $0; the agent, Claude Sonnet 5.5 (claude-sonnet-5-5), cost about $0.08 a run. Medians: 29.7 s for OpenAdapt, 36.5 s for the agent. The full comparison.
What OpenAdapt adds to your agent
An agent can do a new task once, and OpenAdapt compiles its successful run into a program, so later runs make no model calls. Or your agent decides what to enter and calls OpenAdapt to make the entry and check it. Both are released and tested on synthetic data.
Technical details
The agent connection is the OpenAdapt MCP server, started with `openadapt agent serve` (launcher 1.17.0, openadapt-agent 2.2.1). Compiling an agent's run into a program is the JIT path in openadapt-flow 2.2.0 (openadapt_flow.jit), tested on a recorded Claude run against a synthetic app.
Comparisons
Your agent alone, or with OpenAdapt
What OpenAdapt adds to a computer-use agent, measured, including the tests where the agent alone did as well or better.
Read the comparisonOpenAdapt vs UiPath
A mature RPA platform, and when a narrower tool fits.
Read the comparisonOpenAdapt vs Power Automate
Strong inside Microsoft 365; what happens on the last screen.
Read the comparisonAPI or screen automation?
Use the API whenever it covers the task.
Read the comparisonOpenAdapt vs browser agents
Quick web automation with a model in the loop.
Read the comparisonOpenAdapt vs record-and-replay tools
The recording is common; what happens after it differs.
Read the comparisonOpenAdapt vs hand-written scripts
Playwright, Selenium and AutoHotkey, together.
Read the comparisonOpenAdapt vs Playwright
For developer-owned browser automation.
Read the comparisonOpenAdapt vs Selenium
The standards-based browser driver.
Read the comparisonOpenAdapt vs AutoHotkey
Fast Windows macros on one machine.
Read the comparison
Questions
Is OpenAdapt RPA?
It's a kind of screen automation, like RPA, built for a narrower job: a repeated entry where the saved record is read back and a mismatch stops. It doesn't offer a platform for hundreds of automations.
Does OpenAdapt use AI?
Building and repairing a program can use a model. Every recorded OpenAdapt run made 0 AI model calls.
Can we use OpenAdapt with our RPA platform?
Yes. Many teams keep their platform for most work and use a narrower tool for a few entries that need a read-back.
Sources
- OpenAdapt fault test, openadapt-flow benchmark/effect_e2e, 2026: faults injected into our own engine on a test record system, 90 runs; 72 left the record wrong. A check of the screen alone passed 54 of those 72; a read-back over the app's REST API passed 9 of them; the full database read caught all 72. A coverage test over a fixed fault list, not a real-world error rate.
- Referral timing run, local OpenEMR 8.0.0.3 test copy, 14 to 15 Oct 2026 (run data): 8 synthetic referrals, OpenAdapt (a program compiled to find each field by the page's structure, 0 model calls) against Claude Sonnet 5.5 (claude-sonnet-5-5) as a computer-use agent in a capped harness, warm starts, interleaved blocks, each chart read back from the database. Blocks 2 to 10, normal referrals saved correctly: 62 runs each; median 29.7 s (OpenAdapt) and 36.5 s (agent); agent median $0.083 a run at list price. Both 62 of 63 normal referrals correct; on the possible duplicate, no new chart in 9 of 9 for both. Block 1 left out (CPU shared with another process); with it (blocks 1 to 10), 69 of 70 correct for both, 29.7 s and 37.6 s (n=69 each). The same task from the 10 Oct recording without the page's structure: 62 of 63, 38.6 s median, slower than the agent.
See it on your process
Bring one task your team types every day. We'll tell you whether it fits, and what a test on your own system would cover.