Skip to main content
All input is injected as native Win32 events on the real machine — not synthetic browser events.

Click, type, keys

Move and scroll

Drag

Drag draws a continuous path — essential for canvases, sliders, and selection.
For full control (e.g. multi-segment strokes), use the low-level primitives:

Batch events

Send several events in one call to reduce round trips:
Events run in order on the host. Optional per-event delay_ms gives UIs time to settle between steps. Each event counts individually against the per-plan input rate limit (a 10-event batch uses 10 tokens of quota). On agent ≥ 0.2.21 (api_input_ack), the owner kill switch and session end abort an in-flight batch mid-sequence — the call returns 410 aborted_by_owner with executed / aborted / kill_to_abort_ms counts (only executed events landed). Older hosts are fire-and-forget. MCP clients wrap the same endpoint as send_actions (max 10 actions, with a verification observe in the same turn — text and targets by default, JPEG only when observe_image=true) — see Connect via MCP.
Prefer grounded clicks (click_target) over raw coordinates whenever the app exposes UIA targets — they’re far more robust to layout changes.
Next: Launch apps.