> For the complete documentation index, see [llms.txt](https://docs.drizz.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.drizz.dev/twins/getting-started/introduction.md).

# Introduction

What a twin is, why you test your agent on one instead of a real account, and what you get back.

A twin is a private, fake copy of a real product. Your agent works on it, and you see what it really did.

|                             |                                                                       |
| --------------------------- | --------------------------------------------------------------------- |
| **What it is**              | A private, fake copy of a real product that behaves like the real one |
| **Twins**                   | Google Calendar · Gmail                                               |
| **How your agent connects** | Over MCP, exactly as it would to the real product                     |
| **What you get back**       | Every call your agent made, and the state before and after            |

Nothing in your agent needs to know it is a twin.

## Twins available today

| Twin                                                  | What it copies                                                                                  |
| ----------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| [Google Calendar](/twins/available-twins/calendar.md) | Google Calendar v3: events, recurring events, attendees, other calendars and sharing, free/busy |
| [Gmail](/twins/available-twins/gmail.md)              | Gmail v1: messages, threads, labels, drafts, attachments, filters and mailbox settings          |

## Why not test on a real account?

An agent's reply is not proof of what it did. Ask it to move a meeting to 3pm and it says "Done! Moved to 3pm." The reply can't tell you whether it booked over the Dentist appointment already at 3pm. You have to look at the calendar, and at the calls the agent made.

On a real account, that is hard to do safely:

* **The data is real.** An agent that deletes the wrong event, or emails the wrong person, does it for real.
* **You can't start over.** Each run leaves the account changed, so the next run starts from a different place.
* **The API works against you.** A real API can be flaky, rate-limited and paid.

A twin removes all three. Each run gets its own **world**: a private copy, seeded with made-up data you describe. Nobody else sees what your agent did there. Delete everything in it if you like. You delete the world when you are done, and it deletes itself when its time is up.

## What a twin reproduces

A twin meets your agent with what the real product would.

* **Realistic behaviour.** The twin answers the same operations, with the same shapes, as the product it copies. The calendar twin, for example, serves `events.list`, `events.create`, `freebusy.query` and more.
* **Realistic misbehaviour.** A twin can reproduce a product's rate limits, latency and faults, so your agent meets the failure modes it will meet in production.
* **A typed "unsupported", never a fake success.** An operation a twin does not implement answers with a loud, typed *unsupported* error. Your agent is never told something happened when it did not.

## What you get back

The twin records every call it answers:

* the operation and its outcome
* the arguments and data, with secret-looking values masked by their content
* the change it made to the world's state, before and after

Read that record with `twin world calls`, live while your agent works or afterwards. You can also read the world's state yourself, save it as a readable seed file, or keep an exact snapshot to make again. See [See what your agent did](/twins/using-twins/see-what-your-agent-did.md).

{% hint style="info" %}
You see what your agent **did**, not what it **says** it did. The record comes from the twin, not from your agent.
{% endhint %}

## Next

* [Quickstart](/twins/getting-started/quickstart.md): install the CLI and make your first world.
* [Key concepts](/twins/getting-started/concepts.md): worlds, seeds, leases, keys and tokens.

***

*Last updated: 27 October 2026*
