See a bad save get caught: openadapt quickstart --break-it

Run openadapt quickstart --break-it and you’ll watch a fake clinic app with synthetic patients report a save that its server rejected. OpenAdapt reads the record through a separate interface and finds no saved note, so it stops at the Save step and asks a person to check the record. The demo takes a few minutes and keeps its files on your computer. Run it You need Python 3.10, 3.11, or 3.12, which is what openadapt 1.16.0 supports. ...

August 29, 2026 · 4 min · Richard Abrich

Two apps, one checked fact: how OpenAdapt hands work between systems

Say your team enters a referral in the EMR, and then someone posts the charge in a separate billing app. Posting the charge needs one fact from intake, the patient record the referral was saved to. If that fact comes from whatever is on the screen, such as a window title or the last chart someone had open, the charge can land on the wrong patient. OpenAdapt connects the two steps with one named fact. You record intake in the EMR and posting in billing as two separate automations. Posting starts only after intake is done and checked, which means OpenAdapt read the saved record back from the EMR and confirmed it. Posting then starts with the patient ID that record check confirmed. If the ID is missing, the run stops before anything happens in billing. ...

August 29, 2026 · 8 min · Richard Abrich

The one number that drifted was the one that changed

In August 2026 we found 5 benchmark claims on our website that didn’t match the results they were copied from. An audit then compared all 33 numbers in the website’s benchmark data file with their source, and it found that 32 of 33 matched exactly. The one that didn’t was the only field whose source had changed since someone copied it. A citation tells you where a number came from. It doesn’t tell you whether the number still matches the source, so the website and this blog now check that in CI. ...

August 28, 2026 · 6 min · OpenAdapt Team

API, script, or recorded workflow: how to choose

If a supported API can make the whole change, call the API and you’re done. If one developer owns a script and watches it run, keep the script. Record a workflow in OpenAdapt for the step that’s left over, the one that only happens on screen. That’s worth doing when other people depend on the step and you need proof that each save landed in the record. How the options compare Option Who owns it What checks the save After a timeout Switch when Supported API Your developers call it, and the vendor keeps it stable The response, plus your own read of the record Read the record before you send again It can’t reach a step. Move only that step. Playwright A developer The script’s assertions Before the click, it fails with nothing clicked. After the click, your code has to check the record. Other people depend on it, or the task leaves the browser Selenium A developer or test team The test’s assertions, plus any record check you add The browser error can’t say whether the save landed Other people depend on it and nothing reads the record, or the task leaves the browser AutoHotkey The person who wrote the macro That person, watching it run That person sees it and fixes it by hand Coworkers copy it, it runs unattended, or a bad save is costly OpenAdapt workflow A named owner, who reviews each change A separate read of the saved record, set up for each workflow It stops and asks a person to check the record. It doesn’t retry on its own. A supported API starts covering the step Tool behavior in this post comes from each project’s documentation, checked on 2026-10-09. ...

August 26, 2026 · 9 min · Richard Abrich

We already run UiPath. Where does OpenAdapt fit?

If your team already runs UiPath, keep it. OpenAdapt doesn’t replace an automation program. It takes the last step of one task off your team: entering approved information into a system such as an EMR or a payer portal, and checking that it saved. When something doesn’t match, it stops and asks a person instead of guessing. What UiPath already does for you According to UiPath’s Orchestrator page, you use Orchestrator to deploy and start attended and unattended robots and to monitor their work. It logs what each robot does and can run in UiPath’s cloud or on your own servers. ...

August 26, 2026 · 4 min · Richard Abrich

We use Power Automate. Where does OpenAdapt fit?

If your team already runs Power Automate, keep using it for every step its connectors reach. OpenAdapt is for the step they can’t reach. That’s usually the last one, where someone types approved information into a screen such as an EMR form or a payer portal. OpenAdapt enters the information, confirms it in the saved record, and asks a person when something doesn’t match. What Power Automate already does well Work that moves between Outlook, Excel, Dataverse, Teams, and SharePoint already has connectors in Power Automate. A connector moves the data without opening a page or clicking a button, and your administrators already manage connectors. Use that path first, before any screen automation, ours included. ...

August 26, 2026 · 4 min · Richard Abrich

The write audit: count the saves your automation didn't check

If your automation counts a run as a success when it reaches its last step without an error, that count includes the runs that saved the wrong thing. In our own fault test, a check that trusted the success banner passed 54 of 72 bad saves. A write audit separates those runs from the good ones. You compare what each run saved with the record itself, and you report two numbers: the bad saves that got through, and the good saves your automation stopped anyway. The method works on a recorded RPA process, a Playwright script, a Power Automate desktop flow, a computer-use agent, or a person following a checklist. You can run it with tools you already have. ...

July 27, 2026 · 8 min · Richard Abrich

When the screen says saved and the record disagrees

Most automation decides that a save worked by looking for the green “Saved” banner. We tested how far that banner can be trusted. In our fault test, 72 of 90 runs left the record wrong. A check that trusted the banner passed 54 of 72 bad saves (75.0%). A check that read the saved record back by a separate route passed 9 of 72 bad saves (12.5%). A bad save that reports success does more harm than a crash, because nobody gets paged. The error turns up later with whoever owns the record, as a note in the wrong patient’s chart or a payment on the wrong loan. The automation’s check confirmed that something was saved, without asking whose record it was. ...

July 17, 2026 · 9 min · Richard Abrich

OpenEMR field test: compiled replay 19/20 at $0, agent 10/10 at $0.55

On the public OpenEMR demo, a compiled replay finished 19 of 20 runs of an 18-step charting task and made no model calls. A computer-use agent finished 10 of 10 and spent about $0.55 a run on model fees. The agent had the higher success rate. On the one compiled miss, the program clicked Save, saw that the screen didn’t change as recorded, and stopped instead of reporting success. Compiled replay was also 1.8x faster at the median. ...

July 8, 2026 · 8 min · Richard Abrich

The 500th run: compiled automation vs. computer-use agents

A computer-use agent is an AI model that works from screenshots and chooses each click as it goes. It doesn’t need selectors, an application API, or a recording, so it can take on a task that nobody has automated yet. The cost shows up when the task repeats. The agent calls the model at each step of each run, even when the screens and the goal haven’t changed since yesterday. ...

July 8, 2026 · 7 min · Richard Abrich

Get the monthly email

Once a month, we send one workflow shown before and after OpenAdapt, and what changed in the product.

Sign up on openadapt.ai