CarlyEmail

Add email to any agent.

Keep LangChain, OpenAI, Claude, Vercel, Mastra, eve, Cloudflare, or your own runtime. CarlyEmail gives it a real inbox, live tools, and a signed event whenever mail arrives.

Connect your agent Add email to your agent 3 inboxes and 1,000 emails a month. No card.

Yes — you can use your own domain, so your agent sends from agent@yourcompany.com. How custom domains work →

Give your agent an inbox

Read https://docs.carlyemail.com/llms.txt and set yourself up with an email address.

Or the MCP server:

https://api.carlyemail.com/mcp

How it connects

1. AddressA real inbox on our domain or yours.
2. ToolsMCP, TypeScript, Python, CLI, or REST.
3. TriggerA signed webhook or WebSocket event wakes your runtime.
4. Continuitythread_id resumes the right agent conversation.

Works with

LangChain / LangGraph · OpenAI Agents SDK · OpenAI Agents API · Claude Agent SDK · Vercel AI SDK · Mastra · Vercel eve · Cloudflare Agents · any MCP client

npm install carlyemail

import { CarlyEmail } from "carlyemail";
const carly = new CarlyEmail();

// A real address, right now.
const inbox = await carly.inboxes.create({ username: "hello" });

// Whatever people sent it.
const { messages } = await carly.messages.list(inbox.email);

// Your answer, inside their thread.
await carly.messages.reply(inbox.email, messages[0].message_id, {
  text: "On it.",
});

What you get

InboxesOne call. No dashboard, no waiting.
ThreadsReplies land in the conversation, not beside it.
WebhooksPushed the second mail arrives.
AttachmentsIn and out, up to 25 MB.
Your own domainSPF, DKIM and DMARC set up for you.
MCPLive email tools for any compatible agent.

Things people build

A coding agent you email a task and get a pull request back. A support desk that answers from your docs and hands the rest to a person without losing it. An OpenAI agent that does a task in a sandbox and emails back the files.

Pricing

Free for 3 inboxes and 1,000 emails a month. $20 and $200 above that. See the plans →