TL;DR
AgentMail gives AI agents their own email inboxes through a single API. Nylas connects to a human user's existing inbox across six providers and recently added a Nylas-hosted mailbox option in beta. The comparison depends on whether the agent owns the address or borrows it.
Nylas Connected Accounts is an OAuth layer over six email providers. One API, one set of webhooks, one SDK, six providers. For an agent acting on a human user's existing mailbox, it is the right tool.
Nylas Agent Accounts launched in 2026 as a Nylas-hosted mailbox provisioned through the API. The documented defaults are 100 outbound messages per day per account, 1 GB of storage, and 7-day message retention. Each can be raised on paid plans, with pricing not separately published.
AgentMail is built around the inbox as the primitive. Each inbox has its own address, persistent message store, automatic threading, webhooks, WebSockets, multi-tenant pods, and an MCP server. Provisioning is one API call. Messages do not expire.
When Nylas is the right call
- The agent acts on a human user's existing Gmail, Outlook, Exchange, Yahoo, iCloud, or IMAP inbox.
- The product needs one consistent API across two or more email providers.
- The same product also needs Nylas Calendar, Scheduler, Contacts, or Notetaker.
- The team already uses Nylas for OAuth-based provider integrations and wants to consolidate agent-owned mailboxes onto the same platform.
When AgentMail is the right call
- The agent needs its own email identity, not delegated access to a person's inbox.
- Each agent or tenant needs a scoped identity: own address, own API key, isolated data.
- Email serves as long-term agent memory and must remain queryable indefinitely.
- The product provisions inboxes per customer at signup and needs the operation to be a single API call.
- The team wants a focused inbox API for AI agents in production today.
What each one is built for
Nylas is a productivity API platform. The core email product, Connected Accounts, abstracts six provider APIs into one. You authenticate a user's existing mailbox through hosted OAuth, bring-your-own auth, or IMAP credentials, and Nylas hands back a grant_id you use against unified endpoints for messages, threads, folders, attachments, drafts, and webhooks. The grant inherits the underlying provider's quotas and rate limits. If the user is on Gmail, every Nylas API call against that grant consumes Gmail API quota units against that account.
Agent Accounts is a separate Nylas product launched in 2026. The grant has provider="nylas" instead of google or microsoft. The mailbox lives on a Nylas-provided *.nylas.email trial subdomain or on a custom domain you verify with MX and TXT records. Send and receive go through Nylas-hosted infrastructure rather than through Gmail or Microsoft Graph. Six system folders are provisioned automatically, a primary calendar is attached, and an optional app password enables IMAP and SMTP submission for human mail clients. The default send rate is 100 messages per account per day, storage is 1 GB per account, and retention is 7 days. Each can be raised on paid plans. The public pricing page does not separately list Agent Account pricing.
AgentMail is built around the inbox. The inbox is the API object. Each inbox has its own address, accumulates messages persistently, tracks threads automatically through In-Reply-To and References headers without developer intervention, and exposes webhooks and WebSocket connections for real-time inbound. Inboxes group into Pods that isolate one tenant from another at the infrastructure level. There is no calendar, contacts, scheduler, or meeting bot in the product.
The agent loop
| Step in the agent loop | Nylas Connected Account | Nylas Agent Account | AgentMail |
|---|---|---|---|
| Provision a new mailbox | Not supported (requires human OAuth) | Native (nylas agent account create) | Native (one API call) |
| Send outbound message | Native (via user's underlying provider) | Native (Nylas-hosted) | Native |
| Receive inbound message | Native (webhook) | Native (webhook) | Native (webhook, WebSocket) |
| Thread reply against conversation | Built in | Built in | Built in |
| Store conversation history | Subject to provider's retention | 7 days by default | Persistent |
| Default daily send limit | Provider's limit (500 free Gmail, 2,000 Workspace) | 100 messages per account per day | Free tier 100/day; Developer and above no daily cap |
| Default storage per mailbox | Provider's storage (15 GB free Gmail; 30 GB to 5 TB on Workspace plans) | 1 GB per account | Tiered per plan; persistent |
| Inbox-level identity | Tied to user OAuth grant | Native | Native |
| Multi-tenant isolation | Per-grant only | Per-grant, per-policy | Inbox Pods with scoped API keys |
Three send surfaces
Nylas currently exposes three send paths under the same brand:
POST /v3/grants/{grant_id}/messages/sendfor connected user accounts.POST /v3/grants/{grant_id}/messages/sendfor Agent Accounts (same path, different grant provider).POST /v3/domains/{domain_name}/messages/sendfor Transactional Send, which doesn't require a grant.
Each has different semantics, limits, and use cases. Choosing the right one for an agent product means picking among connected-account behavior (provider-inherited quotas), agent-account behavior (Nylas-hosted, 100/day default), and transactional-send behavior (no inbox attached unless an Agent Account exists on the same domain).
AgentMail has one send surface, one inbox object, one API key model, and one set of webhooks.
The Agent Accounts default limits
For an agent that owns its own email identity, the relevant Nylas product is Agent Accounts. The documented defaults matter for production planning.
The 100-message-per-day default send limit is one-fifth of the free Gmail send limit (500/day) and well below the Workspace limit (2,000/day). It can be raised on paid plans. The Nylas pricing page does not document the raised tier or the cost.
The 7-day default retention period applies to inbound and outbound messages. For agents that use email as persistent memory across conversations, retention has to be raised through the policy API. AgentMail's retention default is persistent.
The 1 GB per-account storage default is also configurable on paid plans, with pricing not separately published.
These are documented defaults, not hard caps. Each can be raised. AgentMail's defaults are set for AI-agent workloads at the tier level rather than as per-account configuration.
Pricing
Nylas
| Plan | Monthly base | Connected accounts included | Per additional CA |
|---|---|---|---|
| Calendar only | $10 | 5 | $1.50/CA/month |
| Full Platform (email + calendar) | $15 | 5 | $2/CA/month |
| Notetaker only | $5 | 5 hours recording, then $0.70/hour | N/A |
| Enterprise | Custom | Custom | Custom |
Source: nylas.com/pricing as of May 2026. An Agent Account is a grant, so it falls under the connected-account pricing on the same plan. Pricing for raised Agent Account limits (send rate, storage, retention) is not separately listed.
AgentMail
| Plan | Price | Inboxes | Emails/month | Storage | Custom domains |
|---|---|---|---|---|---|
| Free | $0 | 3 | 3,000 | 3 GB | N/A |
| Developer | $20/month | 10 | 10,000 | 10 GB | 10 |
| Startup | $200/month | 150 | 150,000 | 150 GB | 150 |
| Enterprise | Custom | Custom | Custom | Custom | Custom |
Dedicated IPs and SOC 2 Type II report on Startup and above. Persistent retention on every plan. Full pricing at agentmail.to/pricing.
A note on comparing these numbers
The Nylas model is per connected account at $2/month on Full Platform. AgentMail is tiered by inbox count and email volume, with persistent storage included at every tier. For a single human-connected mailbox or a small fleet, the Nylas model is straightforward. For a multi-tenant SaaS provisioning one inbox per customer, the AgentMail tier model is closer to how the workload grows.
What AgentMail covers that Nylas Agent Accounts doesn't today
A production deployment of Nylas Agent Accounts for an agent that uses email as memory requires raising the default retention beyond 7 days, raising the storage above 1 GB, and raising the daily send rate above 100. The pricing page does not list the rates for the raised tiers.
AgentMail's Free tier provisions three inboxes with persistent retention. Developer and above remove the daily send cap. The MCP server, automatic structured data extraction from inbound messages, and Inbox Pods for multi-tenant isolation are part of every paid plan.
Code: the full agent loop
AgentMail
from agentmail import AgentMail
from agentmail.inboxes.types import CreateInboxRequest
client = AgentMail(api_key="your_api_key")
# Provision the agent's inbox in one call
inbox = client.inboxes.create(
request=CreateInboxRequest(username="sales-agent")
)
# Send outbound
client.inboxes.messages.send(
inbox_id=inbox.inbox_id,
to=["lead@example.com"],
subject="Quick question",
text="Hi Alex, saw your post about email infrastructure..."
)
# Reply in-thread when a response arrives
def on_inbound_email(payload):
message_id = payload["message"]["message_id"]
client.inboxes.messages.reply(
inbox_id=inbox.inbox_id,
message_id=message_id,
text="Thanks for getting back. To answer your question..."
)
Nylas Agent Account
Setup uses the Nylas CLI to provision the account, then the SDK or REST API to send and receive. Domain verification with MX and TXT records is required for custom domains. The *.nylas.email trial subdomain skips that for prototyping.
# 1. Provision via CLI (one-time)
# $ nylas agent account create sales-agent@yourapp.nylas.email
# Returns a grant_id you save for subsequent calls.
import requests
NYLAS_API_KEY = "your_nylas_api_key"
GRANT_ID = "agent_grant_id_from_cli"
# Send outbound
requests.post(
f"https://api.us.nylas.com/v3/grants/{GRANT_ID}/messages/send",
headers={"Authorization": f"Bearer {NYLAS_API_KEY}"},
json={
"subject": "Quick question",
"body": "Hi Alex, saw your post about email infrastructure...",
"to": [{"email": "lead@example.com", "name": "Alex"}]
}
)
# Register a message.created webhook (one-time)
requests.post(
"https://api.us.nylas.com/v3/webhooks",
headers={"Authorization": f"Bearer {NYLAS_API_KEY}"},
json={
"trigger_types": ["message.created"],
"callback_url": "https://your-agent.example.com/webhooks/nylas"
}
)
# Reply when a webhook fires; reply_to_message_id handles threading
def on_inbound_email(payload):
inbound_message_id = payload["data"]["object"]["id"]
requests.post(
f"https://api.us.nylas.com/v3/grants/{GRANT_ID}/messages/send",
headers={"Authorization": f"Bearer {NYLAS_API_KEY}"},
json={
"reply_to_message_id": inbound_message_id,
"subject": "Re: Quick question",
"body": "Thanks for getting back. To answer your question...",
"to": [{"email": "lead@example.com", "name": "Alex"}],
},
)
The Nylas threading docs document reply_to_message_id on POST /v3/grants/{grant_id}/messages/send. When passed, Nylas fetches the original Message-ID and populates In-Reply-To and References on the outbound message automatically.
Identity and multi-tenancy
Nylas's identity unit is the grant. Every email operation is scoped to a grant_id, whether the grant is a connected user OAuth or a Nylas-hosted Agent Account. Multi-tenancy means provisioning one grant per customer.
Nylas ships a structured control plane through their Policies, Rules, and Lists API. Policies bundle send quotas, attachment limits, retention, and inbound rules. Rules match on sender fields and apply actions like block, mark_as_spam, archive, or assign_to_folder before mail reaches the agent. Lists hold typed collections of senders or domains that rules reference. For teams that need server-side guardrails enforced consistently across many agent inboxes, this is a useful primitive.
AgentMail's identity unit is the inbox. Inboxes group into Pods, and Pods isolate tenants at the infrastructure level. API keys scope to a pod, so a credential issue in one tenant's environment can't reach another's mail. Per-inbox allowlists and blocklists filter senders before they reach the agent, combined with per-inbox API keys to limit the blast radius of an injected message.
Migrating from Nylas to AgentMail
For teams running on Nylas Connected Accounts who have since pivoted to app-owned agent inboxes, the migration path is straightforward. Inboxes provision in AgentMail under your verified domain. Your existing Nylas webhook handlers map to AgentMail's webhook events with schema differences. AgentMail's send and reply endpoints replace the Nylas grant-scoped calls.
DNS records can run alongside Nylas during the transition. Custom domains in AgentMail use standard SPF, DKIM, and DMARC records at the registrar level.
For teams running on Nylas Agent Accounts and looking for tier-based pricing with persistent retention by default, the change is small: the inbox object replaces the grant, and the agent's address moves to your AgentMail-verified domain or to @agentmail.to.
Frequently asked questions
Does Nylas Connected Accounts let me create new inboxes? No. Connected Accounts authenticates an existing user mailbox via OAuth. New mailbox provisioning is what Agent Accounts is for.
Is Nylas Agent Accounts in beta? Yes. The official Nylas documentation states: "Agent Accounts are in beta. The API and features may change before general availability."
What is Nylas Agent Accounts' default retention? 7 days. It is configurable through policy retention limits. AgentMail retains messages persistently.
What is Nylas Agent Accounts' default daily send limit? 100 messages per account per day, documented as a soft limit raisable on paid plans. AgentMail's Developer plan and above have no daily cap.
Does AgentMail support calendar, contacts, or meeting recording? No. AgentMail is one product: email inboxes for AI agents. If the agent needs calendar access alongside email, Nylas covers calendar and AgentMail covers the inbox surface, and they can be used together.
Can I use my own domain with AgentMail?
Yes. Custom domains are available on Developer and above. The shared @agentmail.to domain lets you provision inboxes without DNS configuration on the Free tier.
How does AgentMail handle multi-tenancy? Inbox Pods group inboxes by tenant. Each pod has its own API key scope, so a credential leak in one tenant's environment can't reach another's mail.
Is AgentMail SOC 2 compliant? Yes, SOC 2 Type II.
Does AgentMail offer inbound filtering? Yes. Allowlists and blocklists can be configured per inbox to filter senders before they reach the agent.
Choosing between them
If your agent acts on a person's existing inbox across two or more providers, Nylas Connected Accounts is the right tool.
If your agent owns its own address, the choice is between Nylas Agent Accounts with 7-day default retention and 100-per-day default sends, priced per connected account, and AgentMail in production with persistent retention and tiered volume pricing.
The Free plan provisions real inboxes with full sending and receiving. No credit card required.
AgentMail gives your agents real inboxes. Create inboxes via API. Send and receive Emails with 0 complexity. Free to start.

