How It Works
Agent Diff uses templates and environments to create isolated test spaces:Template
A snapshot of a service’s state (users, channels, messages, etc.) that serves as a starting point and is used to populate an environment.
Environment
An isolated copy of a template where your agent operates. Each test gets its own environment.
1
Clone Template
When you create an environment, Agent Diff clones the template’s data into a fresh database schema.
2
Agent Operates
Your agent makes API calls against the isolated environment. Changes only affect this environment.
Templates
Templates are pre-configured database schemas that serve as starting points.Built-in Templates
| Template | Service | Description | impersonateUserId |
|---|---|---|---|
slack_default | slack | 3 users, 2 channels, 3 messages | U01AGENBOT9 |
slack_bench_default | slack | Extended seed for benchmarks | U01AGENBOT9 |
linear_default | linear | Basic teams, users, issues | 2790a7ee-fde0-4537-9588-e233aa5a68d1 |
linear_expanded | linear | Full seed with projects, cycles, workflows | 2790a7ee-fde0-4537-9588-e233aa5a68d1 |
Environments
Environments are isolated, ephemeral copies of templates where your agents operate.Creating an Environment
Key Properties
| Property | Description |
|---|---|
environmentId | Unique identifier (UUID) |
environmentUrl | Base URL for API calls |
expiresAt | Auto-cleanup time (based on TTL) |
status | ready, expired, deleted |
Isolation
Each environment has:- Separate database schema: No cross-contamination between tests
- Independent state: Changes don’t affect other environments or templates
- Own API endpoint: Unique URL for routing agent requests
