New: Drizz now tests AI agents in simulated companies, with a graded report on every run. See how it works →
Twins

Twins: the tools your agents work in, rebuilt for testing.

A twin is a stateful copy of a real tool, built for testing agents. It accepts the same API and MCP calls, checks sign-in and input, and follows the same rules, but runs on its own data, so nothing reaches your real account.

company / acme-demoprivate · seeded · resets in one call
GmailliveGoogle CalendarliveSlacklive
Jirasoon
Gongsoon
Salesforcesoon
Linearsoon
Google Drivesoon
HubSpotsoon
GitHubsoon
What a twin is

The real tool’s behaviour, on data that is yours to break.

Three things make a twin different from a mock and from a vendor sandbox.

The same interface

The same API and MCP tools as the real product, with the same sign-in. Your agent points at the twin’s address and runs unchanged.

The same rules

Required fields, permissions, rate limits, malformed input, the vendor’s real error types. A mistake fails in the twin the way it would fail in production, so you find it here.

Its own data, reset in one call

Private to your team and seeded with a company that already has history. Every run starts from the same state, and one call puts it back there.

What they do

Ten twins, across the tools your agents already use.

Each one covers the parts of the tool an agent actually touches, and each has its own page.

FilesComing soon
Google DriveFiles, folders, sharing and search.
EngineeringComing soon
JiraProjects, issues, transitions and JQL.
LinearTeams, issues, states and cycles.
GitHubRepos, issues, pull requests and reviews.
RevenueComing soon
SalesforceAccounts, opportunities and validation.
HubSpotContacts, deals, tickets and pipelines.
GongCalls, transcripts and deal context.

Don’t see the tool your agent uses? We build twins of internal tools and vendor APIs on request.

Request a twin
Out of the box

Every twin, out of the box.

Point your agent’s MCP config at the twin instead of the live tool. Nothing else in your agent changes.

  • Same API and MCP calls
  • Sign-in and its failures
  • Real errors
  • Rate limits
  • Permissions and rules
  • Connected data
  • Reset in one call
{
  "mcpServers": {
    "salesforce": {
      "type": "http",
      "url": "<twin MCP endpoint>",
      "headers": { "Authorization": "Bearer <token>" }
    }
  }
}

REST works on the same data. Both are reset with one call.

One company

Multiple Twins. One Company

The twins share their people, customers and history. A deal in Salesforce has the email threads, the meetings, the Slack channel and the Gong calls behind it, so an agent that updates the stage can be checked against what actually happened.

That is what makes a task that touches three tools run the way it would at work, and what lets the report grade the end state instead of the agent’s own summary.

acme-renewalone deal, five twins
  1. Opportunity: Acme renewal$48,000 · Negotiation · owner Mira Patel
    salesforce
  2. Thread: “Renewal terms for next year”6 messages with the buyer
    gmail
  3. Meeting: Acme pricing callThursday, 30 min, 3 attendees
    calendar
  4. Call: Acme pricing callTranscript, next steps, two risks flagged
    gong
  5. #deal-acmeEscalation thread, 14 messages
    slack
Versus

Twins vs mocks vs sandboxes

Three ways to give an agent something to work in. Only one behaves like the real tool and resets like a test.

AreaMocksStubs you write by handVendor sandboxesThe vendor’s own dev orgDrizz twinsA stateful copy of the tool
Keeps state across stepsNoYesYes
Real errors and rulesOnly what you codeYesYes
Connected across toolsNoNoOne company, every twin
Reset between runsNothing to resetSlow or manualOne call
Licences and limitsNonePaid org per tool, shared limitsNone per tool, private
Graded report per runNoNoYes
Questions

Questions? We’ve got answers.

What is a twin?
What is a simulated company?
How is a twin different from a mock or a vendor sandbox?
What do I get at the end?
Which tools have twins?

17 of 20 runs passed. 3 broke a rule.

Need a twin that isn’t here yet?