Desktop, RDP, and Citrix

How do I automate a desktop or Citrix app that has no API?

Use this when the write lives in a desktop, RDP, or Citrix window and has to stay on your computer. Secrets, credentials, a delivery you must prove. OpenAdapt compiles a demonstration into a program. VERIFIED means an independent check of the write passed. Later healthy runs make no generative-model API calls. You record on a machine you control. Nothing has to be installed inside the remote session.

pip install openadapt
openadapt flow tutorial

If an API exists, use the API. Keep a computer-use agent for a novel task you haven't demonstrated. OpenAdapt is the remaining case: a repeating write trapped in a browser, a native window, an RDP session, or Citrix Workspace. The browser recorder is Playwright-native. VERIFIED means the same thing there as it does on the desktop.

Record beside the window, not inside it

The shipped --backend citrix path binds the exact Citrix Workspace window and runs the same identity, effect, and halt contracts as a local desktop app. OpenAdapt sits on the customer-controlled machine next to Workspace. It sees pixels, keyboard, and mouse. The independent check still reads whatever channel the target system exposes: a read-only API, a database, a file, or a second session.

Qualification is narrower than the capability. The accepted Citrix artifact records ica_hdx_accepted=false. It qualifies the Workspace-window backend over a no-DOM canvas stand-in, not a counted real ICA/HDX batch. Qualify the exact client, application, display, and workflow before you treat a run as consequential. status.json carries the current evidence URLs.

A halt on a look-alike window

Two Workspace windows can look the same. If the program cannot bind the exact window it recorded, it stops. Same for a live record that doesn't match the demonstrated identity. The screen can still say Saved. VERIFIED waits for the independent check. See the wrong-patient defense

Try the local program first

The quickstart compiles a synthetic browser workflow and checks the saved record out of band. Desktop and Citrix use the same program contract after you record your own app.