NEWA2A tasks, signed between identities →
Agent Identity

Give your AI agent a phone, inbox, and identity.

Inboxes, phone numbers, secrets, public endpoints and permissions for your agents, in one SDK.

Let your agent sign itself up. Paste into Claude Code, Codex or Cursor.

Create your first agent →Book a 15-min call
$npm install @agentidentity/sdk
LIVE · SUPPORT AGENT4 → 1
Email
A2A
Call
Webhook
AGENT OUTPUT
email.received → reply.sent“Your order #4821 ships tomorrow. Tracking is on its way.”
sms.received → address.updated“Done. Your new address is saved for this order.”
vault.read → blocked by policyAccess to STRIPE_SECRET_KEY denied and logged.
CALL● LIVE
00:24
POLICYLIVE
Send email
Phone calls
Vault
01 / AGENT INBOX

Real inboxes for your agents. Send, receive and thread email from an address each agent owns.

Inbox50 UNREAD
CustomerRe: Pricing10:24
StripePayment succeeded09:12
LinearNew issueREPLYING
GitHubReview requestedMon
02 / PHONE

Give agents a phone number. Calls, answered in real time.

● ON CALL00:24
Can you check my order status?
Order #4821 ships tomorrow.
03 / SECURE VAULT

Secrets that never touch the prompt. Encrypted at rest, scoped per agent.

{ "OPENAI_API_KEY": "sk-••••••", "STRIPE_SECRET_KEY": "sk-••••", "TWILIO_API_KEY": "SK••••••" }
AES-256 encrypted
04 / PUBLIC ENDPOINTS

Expose agents to the internet. A signed webhook for every agent, verified in one line.

import { verify } from "@agentidentity/sdk"; export async function POST(req) { const event = await verify(req); return Response.json({ ok: true }); }
200/agents/support/webhook14ms
200/agents/sales/webhook11ms
401bad signature3ms
05 / AGENT-TO-AGENT

Agents that talk to agents. Signed messages between identities, over A2A.

Research
Sales
task.request · signed ✓
task.result · 3 leads
06 / ACCESS CONTROL

Control what agents can do. Every action is checked before it runs, and logged.

CAPABILITYSUPPORTSALES
Read emails
Send emails
Phone calls
Access vault
External APIs
07 / SECURITY & COMPLIANCE
Encrypted at restScoped accessSOC 2 in progress

Secure by default. Secrets encrypted, scoped access, full audit trail.

08 / COMMUNITY
+ your PRBuilt in public

Built in public. Follow along, and tell us what your agents need.

09 / UNDER THE HOOD

One identity ties it all together. Every channel, secret and permission resolves to the same agent.

UNIFIED THREAD

One conversation, every channel. Same thread, same context.

EMAIL · 10:02Where is order #4821?
CALL · 10:09Can I change the address?
CALL · 10:15Call · 2m 14s
✓ Resolved, confirmation sent
A2A NETWORK

Agents that find each other. Verify and message any identity.

A2ASupportSalesResearchBilling+ yours
IDENTITIES

One identity per agent. Each with its own inbox, number and keys.

agt_9kQmSales Agent
agt_2fLxResearch Agent
agt_7Hq2
Support Agentsupport@yourapp.dev+1 (415) 555-0178
POLICY ENGINE

Checked before it runs. Allowed actions go through. Everything else stops.

sendEmail()vault.read()✓ ALLOWED✗ BLOCKED
AUDIT LOG

Every action on the record. What each agent did, and when.

SAMPLE · 18 WEEKS
SCOPED SECRETS

Each agent sees only its own keys. Share a vault, not every secret.

VAULT
OPENAI_API_KEY
STRIPE_SECRET_KEY
TWILIO_API_KEY
Support
Sales
TYPED SDK

Typed end to end. Autocomplete for every event.

agent.on("
email.receivedevent
sms.receivedevent
call.completedevent
a2a.messageevent
10 / OBSERVE

See every email, call and decision. Streamed live.

REQUESTS · 24H12,480
P50 LATENCY184 ms
ACTIVE AGENTS32
SAMPLEsupport-agent
12 AM8 AM4 PMNOW
11 / INTEGRATIONS

Bring the tools you already use.

Plug in your model provider, messaging, docs and payments. Credentials live in the vault.

OpenAI
Anthropic
Slack
Gmail
Notion
Linear
Discord
Drive
Stripe
Twilio
GitHub
Postgres
Vercel
Resend
Calendar
+More
12 / DEVELOPERS

Ship in minutes. One command, one config, one SDK.

agent.ts
import { Agent } from "@agentidentity/sdk"; const agent = new Agent({ name: "Support Agent", email: "support@yourapp.dev", phone: true, }); agent.on("email", async (msg) => { await msg.reply("On it."); }); await agent.start();
CLI · EVERYTHING IN ONE COMMAND
$ npm install @agentidentity/sdk ? Project name › my-agent ✓ Creating project ✓ Setting up database ✓ Configuring agent Done. Run npm run dev
EVENTS · LOGS, EVENTS, EVERYTHING
Agent started2s
Incoming email12s
Phone call completed1m
Webhook received2m
13 / PRICING

Simple pricing. No surprise usage.

One flat monthly price for the platform. Email, your public URL and agent-to-agent messaging are included on every plan.

Free
$0/ month

For exploring the platform.

5 agent identities. Each gets:
  • An email inbox
  • A public URL
  • An agent-to-agent channel
  • Contacts and vault access
  • Shared iMessage & phone calls
  • IMAP/SMTP mail-client access
Plus:
  • 2 GiB of stored mail per mailbox
Start free
Builder
$19/ month

For developers running agents in production.

15 agent identities. Each gets:
  • An email inbox
  • A public URL
  • An agent-to-agent channel
  • Contacts and vault access
Plus:
  • 1 dedicated VoIP number
  • 4 GiB of stored mail per mailbox
  • 15 custom email domains
  • Remove email footer watermark
Create your first agent →
TeamMOST POPULAR
$149/ month

For teams running agent fleets.

120 agent identities. Each gets:
  • An email inbox
  • A public URL
  • An agent-to-agent channel
  • Contacts and vault access
Plus:
  • 5 dedicated VoIP numbers
  • 1 dedicated iMessage line
  • 6 GiB of stored mail per mailbox
  • 150 custom email domains
Get started
Enterprise
Custompricing

For teams with custom requirements.

Custom agent identities. Each gets:
  • Volume pricing & custom allowances
  • 6 GiB+ stored mail, custom caps
  • Dedicated support & onboarding
Plus:
  • International VoIP, SMS & calling
  • Dedicated iMessage infrastructure
Book a 15-min call
Usage rates
SMS/MMS (U.S. & Canada)$0.02 / message
SMS/MMS, your own 10DLC$0.015 / message
Call minutes (U.S. & Canada)$0.02 / min
10DLC campaign, active$15 / mo
EXAMPLE MONTHLY BILLS
Side project · 1 agent$0
1 identity · email, public URL, agent-to-agent → well inside Free’s 5-identity cap
Support team · up to 15 agents$19
Builder plan, flat — no usage charges yet
Agent fleet · up to 120 agents$149
Team plan, flat — no usage charges yet

Not sure which plan? Book a 15-min call.

FAQ

Questions about agent identity

What is Agent Identity?

Agent Identity is identity infrastructure for AI agents. Each agent gets its own identity with an email inbox, a public URL, an Agent2Agent (A2A) endpoint, a secrets vault and permissions, through one TypeScript SDK, a CLI, an MCP server and a REST API. Every action is recorded against the agent that took it.

How do I give an AI agent its own email address?

Create an agent with the SDK or the dashboard and it gets its own inbox in the same call. It can send, receive and thread email from that address, and your code is told about replies, bounces and spam complaints as events instead of polling a mailbox.

How does an agent wait for a reply without polling?

Agent Identity has durable events. An agent can wait for a specific event, such as a reply in a thread, and resume where it left off when it arrives, even after a restart. Webhooks are available too, signed so you can verify them.

Does Agent Identity support Agent2Agent (A2A)?

Yes. Every agent can have an A2A endpoint with a public agent card, so it can be discovered and receive tasks from other agents, including agents on other platforms. You decide who may reach it: private by default, with public, allow and block rules.

Can an AI agent have its own phone number?

Yes. An agent can have its own phone number that people can call and that can call people. Aid Voice, the built-in voice agent, answers and places calls with no server of yours, or you stream the call to your own agent over a WebSocket and get the caller's words as text. Calls only for now; texts are not available yet.

Are an agent's secrets exposed to the model?

They don't have to be. Secrets in the vault are encrypted on your machine before they are sent, so Agent Identity's servers never see the plaintext. Each secret belongs to one agent, which gets it through a lease scoped to a single operation instead of keeping it in its prompt or config.

Does it work with Claude, MCP and the frameworks I already use?

Yes. Agent Identity ships an MCP server, a TypeScript SDK, a CLI and a REST API, so it works with Claude, Cursor and any agent framework that can call an API. The docs are also available as llms.txt for agents to read.

How much does Agent Identity cost?

The Free plan includes 5 agent identities. Builder is $19 a month for 15 agents and includes a dedicated phone number; Team is $149 a month for 120 agents and five numbers. Email, a public URL and agent-to-agent messaging are included on every plan. Full details are on the pricing page.

Can an AI agent sign itself up?

Yes. Paste a one-line prompt into Claude Code, Cursor or Codex pointing at the agent signup guide (agent-identity.dev/docs/getting-started/agent-signup.md). The agent creates its account and its own email address; a human confirms one verification code.

Does Agent Identity support SMS?

Not yet. Phone calls are live in the US and Canada; SMS and iMessage are coming. Usage rates are published on the pricing page and nothing is billed for them today.

ONE SDK · FULLY HOSTED

One SDK. Every identity your agents need.

$npm install @agentidentity/sdk
Get started →
NEWAgent-to-agent tasks, signed between identities →
Agent Identity
Sign inGet started →

Give your AI agent a phone,
inbox, and identity.

Its own number, inbox and credentials, so it can act on its own.

Let your agent sign itself up. Paste into Claude Code, Codex or Cursor.

Create your first agent →Book a 15-min call
$npm install @agentidentity/sdk
LIVE · SUPPORT AGENT4 CHANNELS → 1 IDENTITY
Email
A2A
Call
Webhook
AGENT OUTPUT
email.received → reply.sent“Your order #4821 ships tomorrow. Tracking link is on its way.”
sms.received → address.updated“Done. Your new address is saved for this order.”
vault.read → blocked by policyAccess to STRIPE_SECRET_KEY denied and logged.
INBOXNOW
customer@acme.coWhere is my order #4821?Hi, I ordered last week and haven’t received a tracking number yet…
Agent is drafting a reply•••
CALL● LIVE
00:24+1 (628) 555-0142
POLICY● ENFORCING
Send email
Phone calls
Access vault
EVENTS● STREAMING
Email received2s
Webhook verified1m
Vault access blocked3m
01 / AGENT INBOX

Real inboxes for your agents. Send, receive and thread email from an address each agent owns.

Inbox · support@yourapp.dev50 UNREAD
CustomerRe: Pricing question10:24
StripePayment succeeded09:12
LinearNew issue assignedAGENT REPLYING…
NotionPage shared with youYest.
GitHub[Action required] Review requestedMon
02 / PHONE

Give agents a phone number. Voice calls, answered in real time with the same context as email.

● ON CALL · 00:24
Support Agent+1 (415) 555-0178
CALL · +1 (628) 555-0142
Hi, can you check my order status?
Sure. Order #4821 ships tomorrow.
Can I change the address?
•••
03 / SECURE VAULT

Secrets that never touch the prompt. Encrypted at rest, scoped per agent, injected only at call time.

vault / support-agent4 KEYS
1 2 3 4 5 6
{ "OPENAI_API_KEY": "sk-••••••••••••", "STRIPE_SECRET_KEY": "sk-••••••••••••", "TWILIO_API_KEY": "SK••••••••••••", "DATABASE_URL": "postgres://••••" }
AES-256 encryptednever sent to the model
04 / PUBLIC ENDPOINTS

Expose agents to the internet. Every agent gets a signed webhook endpoint, verified in one line.

app/webhook/route.ts
1 2 3 4 5 6
import { verify } from "@agentidentity/sdk"; export async function POST(req: Request) { const event = await verify(req); return Response.json({ ok: true }); }
200POST/agents/support/webhook14ms
200POST/agents/sales/webhook11ms
401POST/agents/support/webhook · bad signature3ms
05 / AGENT-TO-AGENT

Agents that talk to agents. Signed, verifiable messages between identities, over the open A2A protocol.

Researchagt_2fLx
Salesagt_9kQm
task.request · signed ✓
task.result · 3 leads
06 / ACCESS CONTROL

Control what agents can do. Every action is checked against policy before it runs, and every decision is logged.

CAPABILITYSUPPORTSALES
Read emails
Send emails
Make phone calls
Access vault
Use external APIs
07 / SECURITY & COMPLIANCE
Encrypted at restScoped accessFull audit logSOC 2 in progress

Secure by default. Secrets encrypted at rest, scoped access, and a full audit trail.

08 / COMMUNITY
Built in public+ your PRCommunity driven

Built in public. Follow along, and tell us what your agents need next.

09 / UNDER THE HOOD

One identity ties it all together. Every channel, secret and permission resolves to the same agent.

HOW IT WORKS →
UNIFIED THREAD

One conversation, every channel. Email, calls and agent tasks land in one history, with the same context.

EMAILA2ACALL
10:02Where is order #4821?
10:09Can I change the address?
10:15Call · 2m 14s
✓Resolved, confirmation sent
A2A NETWORK

Agents that find each other. Verify and message any identity over A2A.

A2ASupportSalesResearchBilling+ yours
IDENTITIES

One identity per agent. Each with its own inbox, number and keys.

agt_9kQmSales Agent
agt_2fLxResearch Agent
agt_7Hq2
Support Agentsupport@yourapp.dev+1 (415) 555-0178
POLICY ENGINE

Checked before it runs. Allowed actions go through. Everything else stops.

sendEmail()vault.read()✓ ALLOWED✗ BLOCKED
AUDIT LOG

Every action on the record. What each agent did, and when.

SAMPLE · 18 WEEKSLESSMORE
SCOPED SECRETS

Each agent sees only its own keys. Share a vault without sharing every secret.

✗
VAULT
OPENAI_API_KEY
STRIPE_SECRET_KEY
TWILIO_API_KEY
Support
Sales
TYPED SDK

Typed end to end. Autocomplete for every event your agent can receive.

1 const agent = new Agent({ name: "support" }); 2 3 agent.on("
email.receivedevent
sms.receivedevent
call.completedevent
a2a.messageevent
10 / OBSERVE

See every email, call and decision. Logs, events and latency for each agent, streamed live.

REQUESTSLATENCYACTIVE AGENTS
REQUESTS · 24H12,480
P50 LATENCY184 ms
ACTIVE AGENTS32
SAMPLE DASHBOARDsupport-agent · last 24h
12 AM4 AM8 AM12 PM4 PM8 PMNOW
11 / INTEGRATIONS

Bring the tools
you already use.

Plug in your model provider, messaging, docs and payments. Credentials live in the vault; permissions decide which agent can use what.

EXPLORE INTEGRATIONS →
OpenAI
Anthropic
Slack
Gmail
Notion
Linear
Discord
Drive
Stripe
Twilio
GitHub
Postgres
Vercel
Resend
Calendar
+More
12 / DEVELOPERS

Ship in minutes. One command to scaffold, one config to define identities, one SDK in the language you already use.

SDK
agent.ts
import { Agent } from "@agentidentity/sdk"; const agent = new Agent({ name: "Support Agent", email: "support@yourapp.dev", phone: true, }); agent.on("email", async (msg) => { await msg.reply("On it, checking your order."); }); await agent.start();
CLIEverything in one command
~/projects
$ npm install @agentidentity/sdk ? Project name › my-agent ? Install dependencies › Yes ✓ Creating project ✓ Setting up database ✓ Configuring agent Done. Run npm run dev to start.
CONFIGUREOne config for everything
agent.config.ts
export default { agents: [ { name: "support", email: true, phone: true }, ], providers: { openai: process.env.OPENAI_API_KEY, twilio: process.env.TWILIO_API_KEY, }, }
EVENTSLogs, events, everything
Agent started2s ago
Incoming email12s ago
Phone call completed1m ago
Webhook received2m ago
Message sent4m ago
13 / PRICING

Simple pricing. No surprise usage.

One flat monthly price for the platform. Email, your public URL and agent-to-agent messaging are included on every plan, and phone calls work within each plan's limits. No usage charges yet; SMS and iMessage are coming.

Free
$0/ month

For exploring the platform.

5 agent identities. Each gets:
  • An email inbox
  • A public URL
  • An agent-to-agent channel
  • Contacts and vault access
  • Shared iMessage & phone calls
  • IMAP/SMTP mail-client access
Plus:
  • 2 GiB of stored mail per mailbox
Start free
Builder
$19/ month

For developers running agents in production.

15 agent identities. Each gets:
  • An email inbox
  • A public URL
  • An agent-to-agent channel
  • Contacts and vault access
Plus:
  • 1 dedicated VoIP number
  • 4 GiB of stored mail per mailbox
  • 15 custom email domains
  • Remove email footer watermark
Create your first agent →
TeamMOST POPULAR
$149/ month

For teams running agent fleets.

120 agent identities. Each gets:
  • An email inbox
  • A public URL
  • An agent-to-agent channel
  • Contacts and vault access
Plus:
  • 5 dedicated VoIP numbers
  • 1 dedicated iMessage line
  • 6 GiB of stored mail per mailbox
  • 150 custom email domains
Get started
Enterprise
Custompricing

For teams with custom requirements.

Custom agent identities. Each gets:
  • Volume pricing & custom allowances
  • 6 GiB+ stored mail, custom caps
  • Dedicated support & onboarding
Plus:
  • International VoIP, SMS & calling
  • Dedicated iMessage infrastructure
Book a 15-min call
Usage ratesPUBLISHED, NOT BILLED YET
SMS/MMS (U.S. & Canada)$0.02 / message
SMS/MMS, your own 10DLC$0.015 / message
Call minutes (U.S. & Canada)$0.02 / min
10DLC campaign, active$15 / mo
WhatsApp · TelegramComing soon
EXAMPLE MONTHLY BILLS
Side project · 1 agent$0
1 identity · email, public URL, agent-to-agent → well inside Free’s 5-identity cap
Support team · up to 15 agents$19
Builder plan, flat — no usage charges yet
Agent fleet · up to 120 agents$149
Team plan, flat — no usage charges yet
What do I get for the monthly price?Every live feature — email, your public URL, agent-to-agent messaging, phone calls, contacts and vault — with no usage charges yet. SMS and iMessage are coming; usage beyond a plan’s allowance will be billed at the rates above.
Will I pay providers separately?No. Numbers, carriers and delivery are included in your bill — nothing to set up with a separate provider.
Can I talk to someone first?Of course. Book a 15-min call and we’ll help you pick a plan.

FAQ

Questions about agent identity

What is Agent Identity?

Agent Identity is identity infrastructure for AI agents. Each agent gets its own identity with an email inbox, a public URL, an Agent2Agent (A2A) endpoint, a secrets vault and permissions, through one TypeScript SDK, a CLI, an MCP server and a REST API. Every action is recorded against the agent that took it.

How do I give an AI agent its own email address?

Create an agent with the SDK or the dashboard and it gets its own inbox in the same call. It can send, receive and thread email from that address, and your code is told about replies, bounces and spam complaints as events instead of polling a mailbox.

How does an agent wait for a reply without polling?

Agent Identity has durable events. An agent can wait for a specific event, such as a reply in a thread, and resume where it left off when it arrives, even after a restart. Webhooks are available too, signed so you can verify them.

Does Agent Identity support Agent2Agent (A2A)?

Yes. Every agent can have an A2A endpoint with a public agent card, so it can be discovered and receive tasks from other agents, including agents on other platforms. You decide who may reach it: private by default, with public, allow and block rules.

Can an AI agent have its own phone number?

Yes. An agent can have its own phone number that people can call and that can call people. Aid Voice, the built-in voice agent, answers and places calls with no server of yours, or you stream the call to your own agent over a WebSocket and get the caller's words as text. Calls only for now; texts are not available yet.

Are an agent's secrets exposed to the model?

They don't have to be. Secrets in the vault are encrypted on your machine before they are sent, so Agent Identity's servers never see the plaintext. Each secret belongs to one agent, which gets it through a lease scoped to a single operation instead of keeping it in its prompt or config.

Does it work with Claude, MCP and the frameworks I already use?

Yes. Agent Identity ships an MCP server, a TypeScript SDK, a CLI and a REST API, so it works with Claude, Cursor and any agent framework that can call an API. The docs are also available as llms.txt for agents to read.

How much does Agent Identity cost?

The Free plan includes 5 agent identities. Builder is $19 a month for 15 agents and includes a dedicated phone number; Team is $149 a month for 120 agents and five numbers. Email, a public URL and agent-to-agent messaging are included on every plan. Full details are on the pricing page.

Can an AI agent sign itself up?

Yes. Paste a one-line prompt into Claude Code, Cursor or Codex pointing at the agent signup guide (agent-identity.dev/docs/getting-started/agent-signup.md). The agent creates its account and its own email address; a human confirms one verification code.

Does Agent Identity support SMS?

Not yet. Phone calls are live in the US and Canada; SMS and iMessage are coming. Usage rates are published on the pricing page and nothing is billed for them today.

ONE SDK · FULLY HOSTED

One SDK. Every identity
your agents need.

$npm install @agentidentity/sdk
Get started →