Show off your agentic readiness — the badge auto-updates when your score changes.
llms.txt Content
# Agent Phone
> Phone numbers for AI agents. Give your AI a real phone number.
Agent Phone is an API platform that gives AI agents phone identities. Developers use Agent Phone to provision real US/Canadian phone numbers and connect them to AI agents for SMS and voice communication.
## Key Features
- **Instant Phone Numbers**: Provision US and Canadian phone numbers via API in seconds
- **Two Voice Modes**: Built-in AI (zero infrastructure) or Custom Webhook (full control)
- **Unified Webhook**: One `agent.message` event for both SMS and voice, with full conversation history
- **Per-Agent Webhooks**: Route events to different endpoints per agent (overrides the project default)
- **Stateful Conversations**: Messages and calls auto-thread into durable conversation history with custom metadata
- **Voice Abstraction**: Simple JSON transcript-to-response loop — no TwiML or WebSocket management
- **Production-Grade**: HMAC+timestamp signatures, idempotency headers, exponential backoff retries
- **MCP Server**: Model Context Protocol support for tool-using AI agents (Cursor, Claude Code, Windsurf)
## Voice Modes
Every agent has a `voiceMode` that controls how voice calls are handled:
### Built-in AI (`"hosted"`)
- Calls are handled end-to-end by an AI using your system prompt
- No server or webhook needed — works immediately
- Provide `systemPrompt` (required), `beginMessage` (optional greeting), and `voice` (TTS voice ID)
- Best for: quick prototyping, simple conversational agents
### Custom Webhook (`"webhook"`)
- Caller speech is transcribed and sent to your webhook as `agent.message` events
- Your server controls every response — use any LLM, RAG, or custom logic
- Requires a webhook endpoint configured for your project or agent
- Best for: production agents that need tool use, database access, or custom business logic
### Switching Modes
Switch at any time via `PATCH /v1/agents/:id` with `{"voiceMode": "hosted", "systemPrompt": "..."}` or `{"voiceMode":
OpenAPI Spec (preview)
{
"openapi": "3.1.0",
"info": {
"title": "AgentPhone API",
"description": "API for managing AI phone agents, phone numbers, conversations, calls, and webhooks",
"version": "1.0.0"
},
"paths": {
"/v0/agent/sign-up": {
"post": {
"tags": [
"agent-signup"
],
"summary": "Agent Sign Up",
"description": "Kick off agent self-signup.\n\nSends a 6-digit OTP to the human's email. Nothing is provisioned server-side\nuntil /v0/agent/veri