
About
Build AI phone agents with AgentPhone API. Use when the user wants to make phone calls, send/receive SMS, manage phone numbers, create voice agents, set up webhooks, or check usage — anything related to telephony, phone numbers, or voice AI.
name: agentphone version: 0.3.0 description: Build AI phone agents with AgentPhone API. Use when the user wants to make phone calls, send/receive SMS, manage phone numbers, create voice agents, set up webhooks, or check usage — anything related to telephony, phone numbers, or voice AI. risk: critical source: community homepage: https://agentphone.to docs: https://docs.agentphone.to metadata: {"api_base": "https://api.agentphone.to/v1"}
AgentPhone
AgentPhone is an API-first telephony platform for AI agents. Give your agents phone numbers, voice calls, and SMS — all managed through a simple API.
When to Use
- Use when the user wants to create or manage AI phone agents, voice agents, or telephony automations
- Use when the user needs to buy, assign, release, or inspect phone numbers tied to an agent workflow
- Use when the user wants to place outbound calls, inspect transcripts, or send and receive SMS through AgentPhone
- Use when the user is configuring webhooks, hosted voice mode, or account-level usage for AgentPhone
- Use only with explicit user intent before actions that spend money, send messages, place calls, or release phone numbers
Base URL: https://api.agentphone.to/v1
Docs: docs.agentphone.to
Console: agentphone.to
How It Works
AgentPhone lets you create AI agents that can make and receive phone calls and SMS messages. Here's the full lifecycle:
- You sign up at agentphone.to and get an API key
- You create an Agent — this is the AI persona that handles calls and messages
- You buy a Phone Number and attach it to the agent
- You configure a Webhook (for custom logic) or use Hosted Mode (built-in LLM handles the conversation)
- Your agent can now make outbound calls, receive inbound calls, and send/receive SMS
Account
└── Agent (AI persona — owns numbers, handles calls/SMS)
├── Phone Number (attached to agent)
│ ├── Call (inbound/outbound voice)
│ │ └── Transcript (call recording text)
│ └── Message (SMS)
│ └── Conversation (threaded SMS exchange)
└── Webhook (per-agent event delivery)
Webhook (project-level event delivery)
Voice Modes
Agents operate in one of two modes:
hosted— The built-in LLM handles the conversation autonomously using the agent'ssystem_prompt. No server required. This is the easiest way to get started — just set a prompt and make a call.webhook(default) — Inbound call/SMS events are forwarded to your webhook URL for custom handling. Use this when you need full control over the conversation logic.
Quick Start
Step 1: Get Your API Key
Sign up at agentphone.to. Your API key will look like sk_live_abc123....
Step 2: Create an Agent
curl -X POST https://api.agentphone.to/v1/agents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Support Bot",
"description": "Handles customer support calls",
"voiceMode": "hosted",
"systemPrompt": "You are a friendly customer support agent. Help the caller with their questions.",
"beginMessage": "Hi there! How can I help you today?"
}'
Response:
{
"id": "agent_abc123",
"name": "Support Bot",
"description": "Handles customer support calls",
"voiceMode": "hosted",
"systemPrompt": "You are a friendly customer support agent...",
"beginMessage": "Hi there! How can I help you today?",
"voice": "11labs-Brian",
"phoneNumbers": [],
"createdAt": "2025-01-15T10:30:00.000Z"
}
Step 3: Buy a Phone Number
curl -X POST https://api.agentphone.to/v1/numbers \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"country": "US",
"areaCode": "415",
"agentId": "agent_abc123"
}'
Response:
{
"id": "pn_xyz789",
"phoneNumber": "+14155551234",
"country": "US",
"status": "active",
"agentId": "agent_abc123",
"createdAt": "2025-01-15T10:31:00.000Z"
}
Your agent now has a phone number. It can receive inbound calls immediately.
Step 4: Make an Outbound Call
curl -X POST https://api.agentphone.to/v1/calls \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agentId": "agent_abc123",
"toNumber": "+14155559999",
"systemPrompt": "Schedule a dentist appointment for next Tuesday at 2pm.",
"initialGreeting": "Hi, I am calling to schedule an appointment."
}'
Response:
{
"id": "call_def456",
"agentId": "agent_abc123",
"fromNumber": "+14155551234",
"toNumber": "+14155559999",
"direction": "outbound",
"status": "in-progress",
"startedAt": "2025-01-15T10:32:00.000Z"
}
The AI will hold the entire conversation autonomously based on your prompt. Check the transcript after the call ends.