Skip to main content
These repositories show customer-owned agents using synthetic Tools in Firedrill. They include a real agent, a local UI, saved test definitions and runner code. They do not contain a standalone Firedrill runtime or synthetic Tool servers.

Gmail Agent

A small Claude Agent SDK email assistant with a React chat UI. Learn one MCP connection, a read-only task, and a checked mailbox operation.

Revenue Desk

A revenue-operations agent with six integrations. Explore its explicit synthetic mode, multiple Tool setups, CLI tests and an SDK simulation runner.
You need a Firedrill account and your own model credentials to execute either agent. Installing dependencies and running offline checks does not call the model or create Tools. Review each repository’s license before copying code.

Start small with Gmail

Requires Node.js 20.19 or newer.
Choose Gmail, starter data and a persistent connection in your own project. The repository README explains how to obtain your scoped MCP values, configure the agent’s model key and open its local React chat UI. No real Gmail account is needed. The example includes firedrill.tests.json and firedrill.config.json. Save its test definitions against your ready setup:
Replace both IDs with your own returned IDs and provide ANTHROPIC_API_KEY in your terminal. The second command uses the new setup created by the first. It runs the actual agent and checks a successful mailbox-list operation, not just the model’s final reply. For the definition and invocation contracts, see your first test.

Explore a multi-integration agent

Revenue Desk requires Node.js 22.22.3 or newer and pnpm 9.15.4.
Follow the repository’s Try Revenue Desk with Firedrill guide to create your own Tool setups, run the local agent and save its tests. This explicit test mode uses synthetic Gmail, Calendar, QuickBooks, Slack, HubSpot and Stripe; ordinary application commands still use real-service connections.
The current example uses two setups: five Tools together, and Stripe separately. QuickBooks and Stripe currently declare overlapping MCP aliases. The guide explains that limitation; a result from one setup is not a verdict covering all six integrations.
Its SDK runner calls runSimulation with case-scoped bindings, executes the existing agent, and attaches real outputs and redacted runner logs. Start with one case before increasing seeds, repetitions or concurrency. More cases can consume more model usage; repeated cases are not automatically different authored scenarios. See SDK simulations.

Inspect results and automate

Both projects include offline GitHub Actions checks and a separate opt-in Firedrill drills workflow. Configure your own project/setup IDs and scoped credentials, then run it manually before enabling automatic trusted triggers. Fork pull requests do not run provider-backed drills with repository secrets. The CLI or SDK prints a result link. Firedrill retains the test definitions, simulation batches, Tool calls, checks and submitted evidence. The agent still runs in your workstation or CI runner. API/MCP-only tests do not automatically produce browser screenshots. Use capture or browser tests when your runner actually produces them. Use the repository workflows for direct CLI execution, or follow PR CI for revision-bound GitHub integration. The portal is where you inspect saved setups and outcomes—not a prerequisite to execute a local agent.