OpenAdapt¶
OpenAdapt turns a repetitive task in an application without a usable API into a program that enters the data and then checks that it saved. A person or an agent shows the task in the real application. OpenAdapt compiles one or more demonstrations into a workflow program you can read, tests it in your environment, and runs it with new inputs. A healthy run makes no AI model calls. When a check fails, the run stops and asks a person instead of guessing.
It drives web apps, Windows, macOS, and Linux apps, and apps reached over RDP or Citrix: a CRM, a billing system, an insurance portal, or an electronic health record. The tutorials use a synthetic clinic app as the example. The engine is open source under the MIT license.
For developers¶
-
Run it in one command
Or install it on Python 3.10 to 3.12 and run the engine tutorial:
No account or API key. Quickstart tutorial
-
Give a workflow to your agent
The MCP server gives an agent each compiled workflow as one tool call. This starts a sandbox that needs no account. Connect an agent
Jump to: Command line · How the compiler works · MCP server · Run outcomes · Your first workflow · Security & procurement
How a save is checked¶
The screen that did the work can show "Saved" when nothing was stored, so it never confirms a save on its own. How a save is checked explains which read-backs count for which result.
From demonstration to production¶
flowchart LR
S["Show the task<br/>(a person or an agent,<br/>one or more times)"] --> C["Compile<br/>a workflow program<br/>you can read"]
C --> P["Certify<br/>policy and lint checks"]
P --> Q["Qualify<br/>normal and fault cases<br/>in the target environment"]
Q --> A["Admit<br/>this exact version"]
A --> R["Run<br/>right-record check, action,<br/>record check at each save"]
R --> V(["VERIFIED<br/>report, receipt, Seal"])
R --> H(["Stopped<br/>HALTED_BEFORE_EFFECT"])
R --> U(["Not sure it saved<br/>RECONCILIATION_REQUIRED"])
H -.->|"a person or an agent<br/>shows the fix"| C
U -.-> K["A person checks<br/>the record"]
How OpenAdapt works walks through each stage. Terms are defined once, in the glossary. Which releases are admitted for production is on Release integrity.
When it fits¶
OpenAdapt fits a task when most of these are true:
- The team does it the same way many times a week.
- What to enter is already decided, by a person, a form, or an AI agent.
- The application has no practical API for the write.
- A wrong entry is costly.
- There is a second way to read the saved record, such as an API, a database, a report, or a read-only sign-in.
If the application already has an API for the task, call the API. The limits page lists what OpenAdapt doesn't do.
What the packages are¶
On Python 3.10 to 3.12, pip install openadapt installs the openadapt
command, the engine (openadapt-flow), and the MCP server
(openadapt-agent). The packages map lists every
package and repository and which ones you need.