Give your agent a computer for tools with no API

Wrap one HTTP call as a tool in LangGraph, the OpenAI Agents SDK or the Vercel AI SDK. When your agent hits a vendor portal, a legacy internal tool or desktop software, it hands Sai the task, Sai does it on a real computer, and your agent gets the result back.

Paste into Sai, or send it from your agent
You are being called as a tool by another agent. Do this task on the computer and return a short, structured result.

Task: Check the status of our open invoices in the Acme Supplies supplier portal.
Portal: https://portal.acme-supplies.example (no API; sign in with the "Acme portal" credential I will approve)
Invoices: the 14 invoice numbers in the attached list

For each invoice:
1. Search for it in Invoices > All.
2. Record the status (Paid, Pending, Disputed), the amount, the due date and any note from the supplier.
3. If it is Disputed, download the dispute PDF to Drive > Procurement > Disputes.

Rules:
- Read only. Do not submit, approve, dispute or pay anything.
- Ask before signing in.
- If an invoice is not found, say so; do not guess.
- Stop after 15 minutes and return what you have.

Return the result as a table with one row per invoice: number, status, amount, due date, note. Then one line with totals by status.

Watch it run

What Sai does with this prompt

A computer use API lets your agent do work in apps that have no API, by handing the task to an agent that operates a real computer. With Sai you add one HTTP call, POST /v1/agents/message, as a tool in LangGraph, the OpenAI Agents SDK or the Vercel AI SDK. Your agent sends a task in plain English and gets the result back, without you building a VM or a screenshot loop.

What a computer use API is

A computer use API is an interface through which software can ask an AI model to operate a graphical computer: read the screen, move the pointer, click and type. Some computer use APIs return single actions that your own code must carry out and repeat. Others take a whole task and return the outcome.

That difference decides how much you build. The model-level tools from Anthropic and OpenAI are the first kind. A task-level API such as Sai is the second kind, so it fits in your agent as an ordinary tool.

When your agent needs a computer instead of an API

Use an API whenever a good one exists. It is faster, cheaper and easier to test. A computer use tool earns its place when:

  • There is no API. Supplier and carrier portals, government sites, and older internal tools often have only a web or desktop screen.
  • The API does not cover the step. The export, the setting or the approval queue you need exists only in the UI.
  • It is desktop software. Some accounting, design or line-of-business apps run only on a Mac or Windows machine.
  • The task crosses apps. Download from a portal, check a sheet, file the PDF: one task, three screens.

If a browser alone is enough and you want full control of the code, a browser automation library may be the better fit (see the comparison below).

Tasks agents hand to a computer use tool

These are the calls back-office and support agents make most often when an app has no API. Each asks for a result your agent can act on.

Your agentTask it hands to SaiResult shape to ask for
Procurement agentCheck invoice status in a supplier portalOne row per invoice: status, amount, due date
Support agentLook up a shipment in a carrier portalTracking status, last scan, delivery estimate
Finance agentDownload last month's statements from bank and vendor portalsFile names and where they were saved
Operations agentUpdate records in a legacy desktop appRecords changed, with before and after values
Sales agentFill CRM fields that the API does not exposeFields updated per account, and any skipped
Research agentCollect figures from a site behind a loginA table with the source page for each value

How to wrap a computer use API as a tool for your agent

These rules apply whichever computer use API you use:

  1. One tool, one clear job. Name it something like computer_task and write a description that says when to use it: "Use only for apps with no API. Describe the task, the site, and the result you need." In LangChain the docstring becomes the description, and type hints define the input schema. The OpenAI Agents SDK also reads the docstring and type hints. The AI SDK takes a description and an inputSchema.
  2. Send a complete task. The tool takes one text field: the task. Include the URL, what to read or change, what is off limits, and the shape of the answer. A vague task returns a vague result.
  3. Ask for a structured result. Tell the tool to return a table or named fields, and validate them before your agent acts on them.
  4. Keep approvals with a person. Gate consequential calls in your framework too. LangChain's human-in-the-loop middleware can approve, edit or reject a tool call before it runs. The Agents SDK supports needs_approval on a tool, which pauses the run. The AI SDK has a tool approval flow.
  5. Set a time limit. Screen work takes minutes, not milliseconds. The Agents SDK supports a timeout on async function tools; the AI SDK forwards an abort signal into your tool. State a limit in the task as well.
  6. Return failures as results. "Invoice not found" or "sign-in denied" should come back as text the agent can reason about, not a crash.

Where each setting lives in your framework:

FrameworkDefine the toolGate it for approvalLimit the time
LangChain / LangGraphA Python function; the docstring is the description and type hints are the schemaHuman-in-the-loop middleware: approve, edit or reject the callState the limit in the task
OpenAI Agents SDKA function tool; the docstring and type hints become the schemaneeds_approval on the tool pauses the runtimeout on async function tools
Vercel AI SDKtool() with a description and an inputSchemaThe SDK's tool approval flowThe abort signal passed into your tool
Claude Code, Codex, CursorNo code: add the Sai MCP serverThe client's own tool prompts, plus Sai's approvalsState the limit in the task

In TypeScript-like pseudo-code, the whole tool is: computerTask(task: string) → POST /v1/agents/message with { message: task } → return the reply text. For authentication, the exact request and response fields and how to wait for a long task, see the API reference.

Ways to give an AI agent a computer, compared

ApproachWhat you buildReachesBest for
Do the step by handA hand-off in your agentAnythingRare steps
Anthropic computer use toolA sandboxed desktop, action handlers, screenshot capture and scaling, the agent loop, approvalsWhatever your environment runsTeams that want full control of the harness
OpenAI computer use toolThe environment, the action handler, screenshots, the loop and session stateBrowser or desktop you provideTeams already on the Responses API that want control
Browser agents and cloud browsers (Browser Use, Browserbase)Agent code and browser sessionsWebsitesWeb-only tasks with code you own
Sai via the Simular APIOne tool that sends a taskWebsites and desktop apps on a hosted computer or your own Mac or Windows machineDelegating whole tasks from an existing agent

If you need step-by-step control of every click, or the task never leaves a browser, the model-level tools or a browser library give you more control for more work.

How to give your agent a computer with Sai

  1. Get an API key and read the quick start.
  2. Wrap the call as a tool in your framework, with the description and limits above.
  3. Write the task like a brief. An example is in the Start with a prompt tab above.
  4. Handle approvals. Sai asks before sign-ins, payments, submits, sends and deletes. Credentials are approved through a link, so passwords never pass through your agent or its logs.
  5. Return the result to your agent and let it continue the run.

Sai ranks #1 on OSWorld, the public benchmark for agents that complete tasks on a real computer. Once Sai completes a task, its steps are kept as code that replays the same way, so the next call with the same task is faster and cheaper. Paid plans add dedicated computers, one task each, so your agent can run several tasks at once.

From your coding agent: the same capability is available as the Sai MCP server in Claude Code, Codex or Cursor. See GUI steps from coding agents.

Safety for agents that use a computer

Anthropic and OpenAI give similar advice for their computer use tools, and it applies here:

  • Isolate the computer. Use a dedicated machine with minimal privileges and only the accounts the task needs.
  • Treat screen content as untrusted. Text on a page can contain instructions. It must not override your task or grant permission.
  • Confirm consequential actions. Purchases, sending data, accepting terms and deletions go to a person.
  • Bound the run. Set time and step limits, and check the actual outcome, not only the final message.
  • Respect site terms. Use portals you are authorized to use, at a human pace, and do not resell data you collect.

Related use cases: turn a runbook into a scheduled job and test your signup flow end to end.

Last reviewed October 7, 2026.

Frequently asked questions

What is a computer use API?

An interface that lets software ask an AI model to operate a graphical computer: read the screen, click and type. Model-level tools return single actions for your code to run. Task-level APIs such as Sai take the whole task and return the result.

How do I give my AI agent a computer?

Add a tool that sends a task to a computer use API and returns the result. With Sai that is one HTTP call to POST /v1/agents/message, wrapped as a tool in LangGraph, the OpenAI Agents SDK or the Vercel AI SDK.

Which computer use API should I use?

Use Anthropic's or OpenAI's computer use tool if you want to run the environment and the action loop yourself. Use Sai if you want to hand off whole tasks, including desktop apps and sites behind a login, from an agent you already have.

When should my agent use a computer instead of an API?

Only when no API covers the step: vendor portals, legacy internal tools, desktop software or UI-only settings. If an API exists, it is faster and cheaper.

Do I need to run a VM or a screenshot loop?

Not with Sai. Sai works on a hosted cloud computer or your own Mac or Windows machine. With the Anthropic and OpenAI tools you provide the environment, run the actions and send the screenshots back yourself.

How does my agent handle sign-ins and approvals?

Sai asks before sign-ins, payments, submits, sends and deletes. Credentials are approved through a link, so the password never passes through your agent. You can also gate the tool in your framework, for example with LangChain's human-in-the-loop middleware or needs_approval in the Agents SDK.

Can I use Sai from Claude Code or Cursor instead?

Yes. Add the Sai MCP server to Claude Code, Codex or Cursor, and the coding agent can hand GUI tasks to Sai the same way.

Can my agent run several computer tasks at once?

Yes, on paid plans. They add dedicated computers, one task each, so your agent can send several tasks in parallel, for example one per supplier portal.

Is a browser agent like Browser Use enough?

For web-only tasks where you want to own the code, often yes. A computer use API also covers desktop apps and tasks that move between apps.

Give your agent the apps it cannot reach

One tool, one HTTP call. Sai works on a real computer and asks before sign-ins, payments and submissions.