Phone numbers for your AI agents

Give your AI agents real phone numbers. Handle SMS and voice through one unified webhook. Go live in minutes.

Documentation
No credit card requiredFree to start60-second setup

Works with your stack

CursorClaude DesktopWindsurfAny MCP Client
See it in action

Watch your agent make a call

Your agent calls a restaurant, books a table, and the full transcript streams to your webhook in real time.

Event log
call_9xR4...

Initiating call...

Webhook payload
{
  "type": "call.transcription",
  "call_id": "call_9xR4...",
  "agent_id": "agt_demo_01",
  "to": "+1 (415) 555-7890",
  "transcript": [...],
  "status": "in_progress"
}
Outbound call
+1 (415) 555-7890 · Queued

Initiating call...

How it works

Live in four steps

From zero to a working AI phone agent in under 60 seconds.

01

Create an agent

Define your AI agent's identity — name, persona, and webhook endpoint.

POST /v1/agents
02

Provision a number

Get a US or Canadian phone number instantly. No paperwork, no waiting.

POST /v1/numbers
03

Set your webhook

Point to your server. We deliver SMS and voice events in one unified format.

webhook_url: "https://..."
04

Go live

Your agent is live. It can receive calls, texts, and respond through your LLM.

→ Ready to receive
Developer experience

Two ways to integrate

Use the REST API for full control, or add AgentPhone as an MCP server and let your AI handle everything through natural language.

1
Create an agent
Define your AI's identity and webhook endpoint
2
Provision a number
Get a US or Canadian number instantly
3
Handle webhooks
Process SMS and voice events with your LLM

Python and TypeScript SDKs coming soon.

terminal
# Create an agent
curl -X POST https://api.agentphone.to/v1/agents \
  -H "Authorization: Bearer ap_your_api_key" \
  -H "Content-Type: application/json" \
  -d '"name": "Support Bot", "webhook_url": "https://api.you.com/webhook"'

# Provision a phone number
curl -X POST https://api.agentphone.to/v1/numbers \
  -H "Authorization: Bearer ap_your_api_key" \
  -H "Content-Type: application/json" \
  -d '"agent_id": "agt_abc123", "country": "US"'

# Make an outbound call
curl -X POST https://api.agentphone.to/v1/calls \
  -H "Authorization: Bearer ap_your_api_key" \
  -H "Content-Type: application/json" \
  -d '"to": "+14155557890", "agent_id": "agt_abc123"'
Platform

Built for developers

Everything you need to build phone-enabled AI agents, nothing you don't.

Unified Webhook

SMS and voice calls arrive as the same event type. One handler for everything — check the channel, process the message, respond naturally.

Agent-First Design

Every phone number belongs to an agent. Organize conversations by persona, route messages by agent, and scale to hundreds of agents effortlessly.

Instant Provisioning

Get US and Canadian phone numbers on-demand via API. One call, instant activation.

Real-Time Transcription

Voice calls are transcribed live and delivered to your webhook with full context.

Conversation Threads

Messages auto-group by participant. Full conversation history for every interaction.

Signed Webhooks

HMAC-SHA256 signatures on every request. Verify authenticity with zero guesswork.

Automatic Retries

Exponential backoff with delivery logs. Never miss a webhook delivery.

Outbound Calls

Initiate voice calls programmatically. Built-in AI conversations or bring your own webhook handler.

Use cases

What you can build

Phone-enabled AI for any workflow. Here are some of the most popular use cases.

Customer Support

Deploy AI agents that handle inbound calls and texts 24/7. Real-time transcription powers intelligent, context-aware responses.

Appointment Scheduling

Let your agent book, confirm, and reschedule appointments via SMS or voice. Integrates with any calendar system.

Lead Qualification

Reach out to leads automatically, qualify them with natural conversation, and route hot prospects to your sales team.

Notifications & Alerts

Send order updates, reminders, and alerts via SMS. Handle replies intelligently with your AI agent in the loop.

Frequently asked questions

Everything you need to know about AgentPhone.

We currently offer US and Canadian phone numbers, provisioned instantly via API. More countries are on the roadmap — contact us if international numbers are a priority for your use case.

Incoming voice calls are transcribed in real-time and delivered to your webhook as text. You respond with text and we handle text-to-speech. The same webhook format is used for both SMS and voice, so you can use one handler for everything.

Twilio is a general-purpose communications API. AgentPhone is purpose-built for AI agents — with agent-first organization, a unified webhook for SMS and voice, automatic conversation threading, MCP support, and real-time transcription out of the box. What takes dozens of lines with Twilio takes three with AgentPhone.

Number porting is on our roadmap. For now, we provision new numbers instantly. If porting is critical for your use case, reach out and we'll prioritize it.

A unified JSON format for both SMS and voice events. Every webhook includes the channel type, sender, message content (or transcription), conversation context, and agent metadata. See our documentation for the full spec.

AgentPhone works as an MCP (Model Context Protocol) server. This means your LLM can provision numbers, send messages, and handle calls through native tool use — no custom integration code needed. Just add AgentPhone to your MCP config and your agent gets phone capabilities automatically.

Get your agent a phone number in 60 seconds

No credit card required. Set up your first AI phone agent today.

Already have an account?