Test your agent in a company that isn’t real. Grade it like it is.
Drizz builds a simulated company from stateful twins of the tools your agent works in. You run a task twenty times from the same starting state and get a graded report on every run: what the agent did, what changed, and which rule it broke.
- Stage set to Closed Won20/20
- Amount never changes17/20
- Buyer emailed within a day20/20
For teams whose agents act in real systems.
If your agent writes to a CRM, sends email, files tickets or moves money, a passing demo is not evidence. These are the teams we built it for.
Teams shipping agents to customers
You need a pass rate before a release, not a vibe. Run the task twenty times, read the report, ship with a number.
Platform and eval teams
You already have evals for the model’s answers. This is the eval for what the agent does to the tools: state, not text.
Enterprises buying agents
Ask the vendor for a report from a twin of your stack before the agent touches your Salesforce. Twins run on seeded data, so nothing of yours is exposed.
Five steps, in one straight line, ending in a report.
Point your agent at the twins
Swap the live tool’s address for the twin’s in your MCP config. Same tools, same sign-in, same rules. Your agent runs unchanged.
{
"mcpServers": {
"salesforce": {
"url": "<twin MCP endpoint>",
"headers": { "Authorization": "Bearer <token>" }
}
}
}Describe the conditions
The problem to solve, the company it happens in, and what counts as success. Drizz seeds the twins to match, with people, deals and history that connect across every tool.
Renew Acme before quarter end and email the buyer.
40-person B2B SaaS, two renewals at risk
- Stage set to Closed Won
- Amount never changes
- Buyer emailed within a day
Your agent runs
It works through the task in the twins, as many times as you set. Every call is validated the way the real tool would validate it: required fields, permissions, rate limits, the vendor’s real errors.
salesforce.query200salesforce.opportunity.update200salesforce.opportunity.update200gmail.messages.send200
Run 3 of 20. Four calls, all accepted. One of them changed the amount.
Graded on what changed
Each run is checked against your conditions, from the state left in the twins. The agent said the deal was renewed; the twin says the amount also changed. The twin wins.
- Stage set to Closed Won
- Amount never changes$48,000 changed to $4,800
- Buyer emailed within a day
Verdict: fail
Get the report
The pass rate across every run, the condition that fails most, and the full history of each run: every call, every response, every change. The report is yours.
Same task. Same company. Two models. One answer.
Run a scenario with two models and you get two reports on identical conditions. Not a benchmark score; the pass rate on your task, in your stack, with the failing condition named.
- Stage set to Closed Won20/20
- Amount never changes17/20
- Buyer emailed within a day20/20
- Stage set to Closed Won20/20
- Amount never changes20/20
- Buyer emailed within a day20/20
What the comparison tells you. Model B passed every run, but took 11 calls on average to Model A’s 4, and cost 2.6× more per run. Whether that trade is worth it is your call; the report gives you the numbers to make it.
See a model comparison on your task →A simulated company, and a report you can act on.
No production data. No real consequences.
Twins run on their own seeded data, so customer records never enter a test and nothing an agent does reaches a real account. Built for financial services, healthcare and other regulated teams.
- Private twins per team, reset to a known state in one call
- Synthetic, seeded data, with no connection to your production tenants
- Full history of every run, ready for a security review
- SOC 2Type II
- GDPRCompliant
- HIPAAReady
- PCI DSSCompliant
Questions? We’ve got answers.
An agent that speaks MCP or REST, and a task it should be able to do. You point it at the twins instead of the live tools; nothing else in your agent changes.
Gmail, Google Calendar, Google Drive, Salesforce, HubSpot, Slack, Jira, Linear, GitHub and Gong today. We build twins of vendor APIs and internal tools on request.
Against the success conditions you wrote, from the state left behind in the twins: what changed, what was sent, what was created. Not from the agent’s own summary of what it did.
Agents are non-deterministic. One pass proves nothing; twenty runs from the same starting state give a pass rate you can compare between prompts, models and versions, and show which condition fails most.
Yes. Run the same scenario with two models and you get two reports on the same company and the same conditions, side by side.
No. Twins run on synthetic, seeded data, private to your team. Nothing reaches a real account, and nothing from your production tenants is copied in.
You do. Fix the agent, compare models, share it with a customer’s security team, or use the runs to train.
17 of 20 runs passed. 3 broke a rule.