Built for agents and QA Hosted API online

Give every test and AI agent its own inbox

Create a temporary email address, wait for the verification message, extract the OTP or magic link, and clean up the run through REST or MCP.

Temporary inboxes · structured extraction · run-level cleanup

signup-verification live run
  1. Inbox created auth-e2e-8f31@temporary-inbox
  2. Verification email received Subject matchedSender matched
  3. Primary action extracted OTP482 07199% confidence Ready
agent.primaryAction { type: "otp", value: "482071" }
SignupLoginPassword resetInvitationsCI / E2E

Stop wiring inbox logic into every test and agent

MailAgent turns received email into structured, inspectable actions your automation can use without parsing templates or managing shared accounts.

01

Isolated inboxes per run

Create short-lived addresses with service labels, expected senders, timeouts, and cleanup policy.

  • No shared inbox state
  • Predictable parallel CI
  • Automatic expiry
02

Actions, not email markup

Receive OTP codes, magic links, buttons, attachments, and confidence metadata as structured fields.

  • OTP and link extraction
  • Raw MIME when needed
  • Diagnose and retry hints
03

Native to agent workflows

Use the same hosted infrastructure through REST, remote MCP, or purpose-built QA and agent SDKs.

  • REST and OpenAPI
  • Remote MCP
  • Playwright and Cypress

Make verification flows part of the test, not the test setup

Keep the full user journey inside Playwright, Cypress, or your agent run. MailAgent waits for the real message and returns the next useful action.

Parallel-safe addresses Sender and subject matching SSE with polling fallback Simulation without SMTP
Explore the QA guide
verify-signup.tsPlaywright
// One inbox for this test run
const inbox = await mail.open({
  service: "signup",
  deleteAfterSuccess: true
});

await page.fill("[name=email]", inbox.address);
await page.click("button[type=submit]");

const message = await inbox.wait({ timeout: 60 });
await page.goto(message.primaryLink);
Verification completed · inbox deleted

From address to verified action in four steps

  1. 01

    Create

    Open a short-lived inbox for one service, test, or agent run.

  2. 02

    Submit

    Use the generated address in the product flow you are testing.

  3. 03

    Wait and extract

    Match the message and receive the OTP, link, button, or attachment.

  4. 04

    Act and clean up

    Complete the flow, keep the evidence you need, and delete the inbox.

Customer thread · 4 messages Renewal timing and security review

Two questions need answers. Legal approval is still pending.

Summary3 decisions · 2 open items
DraftReply prepared for review
PolicySend remains approval-gated

Turn supplied email threads into clear next actions

Workspace Agent summarizes messages, prepares drafts, records action history, and keeps outbound replies behind explicit policy gates.

Open Workspace Agent

Questions before your first run

Start in the hosted console, then connect the API or MCP endpoint when the workflow is ready.

What is MailAgent for?

MailAgent gives AI agents and automated tests temporary inboxes for signup, login, password reset, invitation, and other email verification flows.

Can it extract OTP codes and magic links?

Yes. The API returns structured OTP, link, primary action, and confidence fields. Raw MIME and attachments remain available when a workflow needs deeper inspection.

Does it work with Playwright and Cypress?

Yes. Give each run its own inbox, wait for a matching message, perform the extracted action, and delete the inbox after the test.

How do AI agents connect?

Use the hosted REST API, remote MCP endpoint, or the MailAgent SDK packages. OpenAPI documentation is available for custom clients.

Can I test without sending a real email?

Yes. The simulate endpoint can add a test message directly, which is useful for contract tests and local development without SMTP.

Does Workspace Agent send replies automatically?

Not by default. It can summarize threads and prepare drafts, while outbound sending stays disabled or approval-gated according to workspace policy.

Create your first agent-ready inbox

Open the hosted console or connect directly through the API documentation.