MyAgentMail gives AI agents two things they almost never get out of the box: their own real email inboxes, and a LinkedIn intent layer.
Most agent frameworks can send email by piggybacking on a customer's Gmail OAuth, but they can't receive — and OAuth tokens expire mid-workflow, get revoked when the human reads a security email, or simply don't exist on day one of a SaaS product. They can scrape LinkedIn, but they can't sit in the background watching for buying signals and fire a webhook the moment one lands. We built MyAgentMail because every serious outbound, research, or recruiting agent we tried to ship hit those two walls.
Real two-way email for agents
Inboxes that behave like real inboxes — not webhooks pretending to be email.
Send + receive + thread. Every outbound message carries proper
Message-ID+In-Reply-Toheaders, so when a recipient replies, the response lands on the same thread automatically. No fragile subject-line matching. Read whole threads viaGET /v1/threads/:id, reply viaPOST /v1/messages/reply, forward, mark-read, delete — all the verbs you'd expect from a real mail client, exposed as a JSON API.Custom domains. Register your own sending domain through the API; we generate the DKIM/SPF/DMARC records and verify them in-platform. Customers see emails from
@yourdomain.com, not@some-vendor-subdomain.com.SMTP + IMAP credentials per inbox. When you need to integrate with a legacy tool or let a human jump into the same mailbox alongside the agent, every inbox ships with standard mail-server credentials. The agent and the human share state.
Attachments. Inbound attachments are extracted, scanned, and exposed via
GET /v1/attachments/:id. Outbound attachments accepted on send.Inbound webhooks. Subscribe to
message.received,message.replied,message.bounced,message.complainedand react in your own code. Reply-detection is the foundation of any cadence that stops itself when a human responds.Drafts. Iterative composition — create, update, send. Useful when the agent wants a human to approve before sending, or when message generation runs in multiple LLM passes.
Deliverability that's actually managed. We run our own SES infrastructure on a dedicated
send.myagentmail.comsubdomain (apex stays clean for receiving), enforce sender warmup, and surface complaint + bounce rates so you can tell before a customer's reputation is in trouble.
LinkedIn intent layer
The other half of outbound that nobody else solves at API level.
Continuous monitoring. Write a firing rule in plain English ("flag founders complaining about cold email", "anyone hiring a head of growth in NYC fintech"). We poll continuously, match posts against the rule with an LLM, and fire a webhook the instant a match lands.
Quota that grows with you. Distribution across every LinkedIn account you connect — daily monitoring quota scales linearly with each session, not with how much you pay us.
Historical search. Same rule language, but run once across the past 24 hours, week, or month. Stateless, synchronous — for backfills, account research, or one-shot intent sweeps.
Inline 2FA wait. When an agent signs into a LinkedIn account that triggers a security code, the API holds open a WebSocket and resolves the moment your operator submits the code. No polling loops, no brittle retry hacks.
Connect, DM, post, comment, search profiles, list connections. Full programmatic access to the same actions a human performs in the browser, with per-account daily action caps to keep the session safe.
Cadences — the glue
Multi-step outreach sequences that combine both channels.
linkedin_connect → wait 2d → linkedin_message → wait 3d → email_fallback → wait 5d → email_followupEach step's message body can come from your own webhook, so wording stays in your model and your voice. Reply detection across both channels stops the cadence the moment a human responds — no double-sending after a reply.
Multi-tenant via workspaces
One MAM tenant can spawn isolated workspaces. LinkedIn session pools, intent signal quotas, inboxes, and cadences all scope to a workspace. The model SaaS products built on top of MAM use (Outrly, Delegated, and others): one MAM customer at the platform layer, N customer workspaces underneath, with workspace-scoped wk_ keys that can't see across the boundary.
How you use it
npm install myagentmail@latest for the TypeScript SDK, or hit the raw HTTP API (X-API-Key header, public OpenAPI spec). Every primitive — inboxes, threads, signals, sessions, cadences, workspaces — has an MCP server too, so Claude / Cursor / any agent runtime can call them directly without you writing wrappers.
What it isn't
Not a marketing automation platform. Not a CRM. Not an end-user email client. It's the primitives — inboxes, intent signals, cadences, sessions — that other products are built on top of.
Pricing
Two stacks, mix and match.
Email — pay for the volume you send.
Starter $5/mo: 2 inboxes, 6K emails/mo, 2 custom domains
Developer $15/mo: 10 inboxes, 20K emails/mo, 10 custom domains, workspace-scoped keys
Startup $199/mo: 200 inboxes, 150K emails/mo, 200 custom domains, reseller workspaces
LinkedIn intent layer — pay for the accounts you monitor.
Solo $29/mo: 2 connected accounts, 100 actions/day each
Team $99/mo: 15 connected accounts, 500 actions/day each
Cadences and webhooks are included in every tier. One Stripe customer covers both stacks.
