Give your agents a place to work.

Persistent computers that work in the background. Send a task, watch it happen, and step in when it matters.

It runs on a fresh computer as soon as your account is ready.

01 · Computers

A computer for every user.

Each of your users gets a real desktop that remembers: files, logins, work in progress. It wakes for a job and sleeps between them.

  • Persistent between jobsFiles, browser profile and sessions survive. CPU and memory are held only while work runs.
  • Linux, macOS or AndroidLinux by default; macOS and Android on hosts that offer them.
  • Resumed, never replacedThe next job picks up the same computer. A missing one fails loudly, never blank.
Learn more
02 · Jobs

Send a task. Get a result.

One API call starts an agent on that user's computer, in the background. Close the tab; it keeps going.

  • One requestPOST /v1/jobs with a user and a task. Idempotency keys make retries safe.
  • Computer or toolsWork on the desktop, or with tools alone: Gmail, web search and scraping.
  • Live eventsStream every step as it happens, and replay from any point later.
Learn more
03 · Human in the loop

Nothing happens without a yes.

Agents pause before they click, type or pay. Your users see exactly what is about to happen, and decide.

  • Approval by defaultEvery desktop action waits for a decision, recorded with the screen the agent saw.
  • In your productShow requests in your own UI and send your users' decisions from your backend.
  • Spending, approvedPayment requests wait for approval and reserve against limits (test mode today).
Learn more
04 · Observability

See every step.

Watch the screen live, replay any job, and know why the ones that stopped, stopped.

  • Live viewerFollow the agent's screen and actions as it works.
  • RecordingsA screen recording of every computer job, or a time-lapse of its screenshots.
  • Why jobs endFailures by cause, with requests, cost and time to completion.
Learn more
For developers

From your product
to a job in motion.

Register a user, send a task, follow along. Or hand the docs to your coding agent and let it write the integration.

  1. 01
    Register a user.One call for each of your customers; their computer comes with them.
  2. 02
    Send a task.Trickroom wakes their computer and runs the job in the background.
  3. 03
    Follow along, or come back later.Stream events, open the viewer, or fetch the result when it is done.
Read the quickstart
curl "$TRICKROOM_API_URL/jobs" \
  -H "Authorization: Bearer $TRICKROOM_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: top-story-1" \
  -d '{
    "user_id": "usr_8f2c",
    "execution_mode": "computer",
    "task": "Open Hacker News and return the top story."
  }'
job_7q2m… Example
  1. job.startedqueued → running
  2. computer.startedsame session as last time
  3. computer.actionopen_url news.ycombinator.com
  4. approval.resolvedapproved by ada@acme.com
  5. agent.messageThe top story is “Show HN: …”
  6. artifact.createdresult.json
  7. job.completedreturned to your backend
Safe by default

The controls are on
before you write a line.

Approval before action

New jobs pause before every click and keystroke. Each decision is kept with the exact action and the screen the agent saw.

Keys that do one job

Application keys carry only the permissions you grant them, and can expire after the number of days you choose.

A computer per user

Each user's files, logins and sessions stay on their own computer, apart from everyone else's.

Secrets stay on the server

Connection credentials are encrypted at rest and never returned by the API. Tool keys never reach the model.

Retries that can't double-run

Send an idempotency key, and a retried request returns the same job instead of starting another.

Your call on retention

Model requests and responses are kept encrypted for review, and admins can turn that off for each application.

Your first job is
one request away.