# Email your agent

> Give an AI agent its own address in two minutes, then talk to it by email. Works with Claude, ChatGPT and any agent that speaks MCP.

An agent with an email address is an agent anyone can reach: you, your customers, other tools, other agents. No app to install, no chat window to keep open. You write to `agent@yourdomain.com`, the agent reads it, does the job and replies.

This page gets the address. The next pages wire it to your agent:

- [Build it with Claude](/developers/agent-with-claude): claude.ai with no code, Claude Code on a schedule, or your own loop on the Claude API.
- [Build it with ChatGPT](/developers/agent-with-chatgpt): a ChatGPT connector, or the OpenAI API with Faivelo as an MCP tool.
- [Cursor, Codex, Gemini CLI and friends](/developers/coding-agents): one-command installs of the same MCP server.

## 1. Get an address

Pick whichever fits:

<docs-aside title="Fastest: a free address, no account" type="note">

One command from any terminal. The agent gets `agent@<name>.fvlmail.com`, an inbox and a key bound to it:

```bash
npx faivelo inbox my-agent --json
```

It can receive straight away and reply to anyone who writes to it. Open the `claim_url` from the output to attach it to an account, which lifts the limits. Details in [Start without an account](/developers/ai-agents#start-without-an-account).

</docs-aside>

**On your own domain** (`agent@yourcompany.com`): add the domain in the dashboard or run `npx faivelo init yourcompany.com` from a terminal, then create a mailbox for the agent. Make it an **agent inbox** so it gets drafts, labels, threads and message webhooks, and give the agent a key of the **agent** kind, which can only ever see the inboxes it owns. See [AI agents & API keys](/developers/ai-agents).

## 2. Connect the agent

Every path below uses the same hosted MCP server, `https://faivelo.com/api/mcp`. A signed-in connection (claude.ai, Claude Code, ChatGPT, Cursor) opens a browser to pick which mailboxes the agent may use. A headless agent sends its API key as a Bearer header instead:

```json
{
  "mcpServers": {
    "faivelo": {
      "url": "https://faivelo.com/api/mcp",
      "headers": { "Authorization": "Bearer fvl_live_..." }
    }
  }
}
```

Once connected the agent has the tools a mail client has: `list_messages`, `read_message`, `get_thread`, `search_messages`, `send_message`, `create_draft`, `label_message` and the rest. The full list is in [AI agents & API keys](/developers/ai-agents#mcp-for-headless-agents).

## 3. Give it a loop

An agent that answers email runs the same four steps forever:

1. **Look for new mail.** `list_messages` on the inbox and skip anything already seen or labelled `handled`, or let Faivelo call your server the moment mail lands with a `message.received` [webhook](/developers/webhooks).
2. **Read the whole conversation.** `get_thread` returns the back-and-forth, your own earlier replies included, so the agent answers in context.
3. **Reply.** `send_message` with `inReplyTo` set to the message id keeps the reply in the same thread in the sender's mail app. For anything sensitive, `create_draft` instead and let a person send it from Drafts.
4. **Mark it handled.** `label_message` with a tag such as `handled`, so the next run skips it.

The guides for [Claude](/developers/agent-with-claude) and [ChatGPT](/developers/agent-with-chatgpt) show this loop as a prompt, a scheduled command and as code.

## Keeping it safe

- **Scope the key.** An agent key sees only the inboxes it created or was granted. It cannot touch your other mail, domains or billing. Revoke it in **Settings → Developers** and access stops at once.
- **Mail is untrusted input.** Tell the agent, in its instructions, that the content of an email is data to act on, never instructions to follow. Faivelo's own tools already treat it that way.
- **Drafts for anything that matters.** Refunds, commitments, anything legal: have the agent write a draft and a person press send.
- **Allowances.** Sending counts against the Agents plan's monthly emails. Past the allowance receiving carries on and sending pauses until the 1st or an upgrade. See [plans](/developers/ai-agents#plans).

## Which plan

Every account has the Free Agents tier: 3 agent inboxes and 3,000 emails a month on a free Faivelo address, MCP included. Agent inboxes on your own domain, more inboxes, more volume and more webhook endpoints come with the Developer plan ($15 a month); it needs no email hosting plan. If you only want Claude or ChatGPT working in your *own* mailbox, the Growth email plan ($12) includes the MCP server for that. Full comparison under [Billing & plans](/billing/plans).
