A simulated workplace for AI agents.

GmailSlackNotionCalendarDrive Gmail, Slack, Notion, Calendar, Drive and 100+ more

Let your agent act and learn without breaking real integrations. The tools behave like production and the data looks real. Every run comes back with a full trace and an evaluation that shows what to improve.

Works with any tool-calling agent, over API or MCP.

Hover overTap a numbered agent to see what it is working on.

Bring your agent from

You cannot test an agent on the real thing.

An agent does its work inside live systems: inboxes, calendars, documents, chat. Testing it there is slow, unsafe and impossible to repeat, so most teams ship on a demo and a feeling.

Not repeatable

Live systems change under you. You cannot tell a regression from a different day.

Hard to evaluate

Did it finish the task, or just stop? With live systems you read logs and guess.

Risky

A test run that emails a customer or deletes a document is not a test.

Build, run, evaluate.

Three steps. Every run returns one object with the trace and the evaluation.

Step 1

Set up the office

Start from a template office with the tools seeded with the data the task needs. Every run starts from the same state.

Step 2

Put the agent to work

Point your agent at the environment and give it a task. Every tool call is recorded with its arguments and result, in order.

Step 3

Review how it went

Evaluators compare the end state with the task, return a score, and say what fell short so you know what to fix.

A few lines to a first run.

Your agent runs where it already runs. Create a run, point your agent at its tools, and read back the trace and the evaluation on one object.

Docs and API reference. The SDKs are coming.

curl -X POST https://api.testworld.dev/v1/runs \
  -H "Authorization: Bearer $TESTWORLD_KEY" \
  -d '{"environment": "offsite-planning",
       "task": "Schedule the Q4 offsite"}'
# {"id": "run_7f3a", "tools_url": ".../runs/run_7f3a/tools", ...}
# point your agent at tools_url, then read the result:
curl https://api.testworld.dev/v1/runs/run_7f3a \
  -H "Authorization: Bearer $TESTWORLD_KEY"
# {"status": "done", "trace": {...}, "evaluation": {"score": 1.0, ...}}

One run, end to end.

The agent gets a task, works through the office, and comes back with a trace and an evaluation.

run_7f3aSchedule the Q4 offsite Passed 1.05 steps · 11.1 s
#ToolActionResultTime
1GmailRead thread “Q4 offsite”3 messages, two dates proposed1.8 s
2CalendarCheck availability for 6 people, Nov 12–14Nov 13 free for everyone2.1 s
3SlackPost date poll in #leadership6 of 6 reacted3.4 s
4CalendarCreate “Q4 offsite”, Nov 13, all dayEvent created, 6 invites sent1.2 s
5SlackPost the date and agenda in #generalPosted, 6 people notified2.6 s
EvaluationEvent exists#general toldNo email sent1.0

The tools you can simulate.

Each tool is seeded with realistic data and reset between runs. Missing one? Request a tool

Gmail

Inbox, threads, labels, drafts and send

Slack

Channels, threads, DMs, reactions, search

Notion

Pages, databases, properties, comments

Calendar

Events, invites, availability

Drive

Files, folders, sharing, document text

100+ more via Composio

GitHub, Linear, Jira and the rest of the catalog

What you can use it for.

Start with one. All three run on the same seeded office.

Regression suites before release

Forty tasks, the same seeded office, run on every version. A score that drops tells you which change broke what.

Model and prompt comparisons

Same task, same data, different agent. Compare traces side by side instead of arguing from one demo.

Training data from real behaviour

Failed runs become test cases, good runs become examples your agent learns from. Export is coming.

Questions

The short answers. The long ones ship with the docs.

Does the agent know it is simulated?

No. The tools expose the same APIs and data shapes as the real ones, so your agent calls them the way it would in production.

Which agent frameworks work, and where does my agent run?

Your agent runs where it already runs, on your machine or your servers. testworld hosts the tools. Create a run over HTTP and point your agent at its tools address, or connect an MCP client to the run's MCP address. The agent only swaps its base URL and key.

Can I use my own data?

Templates come seeded and ready. Importing your own anonymised data comes later.

How is a run evaluated?

Each template ships with checks on the end state: did the event get created, was #general told, was no email sent. You can add your own. The score is the share of checks that passed, with a one-line note on each.

Can the agent learn from runs?

Export is coming. Then failed runs become regression cases and good runs become examples or training data.

Does anything reach real systems?

No. Each run gets its own isolated environment with seeded data and no real credentials. Nothing the agent does leaves it. Traces belong to your workspace and are stored in the EU.

What does it cost?

Early access is free while we onboard the first teams. After that you pay per call to the simulated tools, with monthly plans and a free plan.

Coming soon

Industry packs. Same traces, same evaluations.

A simulated office with the systems your kind of business uses. Accounting first: Tripletex, Fiken and PowerOffice.

A simulated workplace for AI agents.

Get early access. We are onboarding a few teams at a time.