# Dial > Communication stack for AI agents. Provision a real phone number, send SMS and WhatsApp messages, and place voice calls — all through one REST API or MCP tool. Works with Claude Code, Cursor, Windsurf, and any MCP client. If you are an AI agent setting yourself up to use Dial, start with [skills.md](https://getdial.ai/skills.md) — it contains the complete step-by-step setup (signup, OTP verification, getting an API key, provisioning a number) in a format meant to be read and executed by an agent. ## Start here (best entry points, in priority order) 1. [skills.md](https://getdial.ai/skills.md) — agent self-setup: install the CLI, sign up, verify OTP, provision a number. 2. [MCP Server](https://getdial.ai/mcp) — add Dial as a remote MCP server and authorize in the browser (Claude, Cursor, ChatGPT). 3. [Quickstart](https://docs.getdial.ai/documentation/get-started/quickstart) — send your first message over the REST API. 4. [Full Documentation (single file)](https://docs.getdial.ai/llms-full.txt) — the complete docs in one fetch. ## Documentation Full product documentation lives at https://docs.getdial.ai. Machine-readable indexes: https://docs.getdial.ai/llms.txt and https://docs.getdial.ai/llms-full.txt. Get started: - [Introduction](https://docs.getdial.ai/documentation/get-started/introduction): What Dial is and how it fits an agent's workflow. - [Quickstart](https://docs.getdial.ai/documentation/get-started/quickstart): Sign up, get an API key, send your first message. - [Using Dial from an agent](https://docs.getdial.ai/documentation/get-started/using-dial-from-an-agent): The agent-first setup flow. - [Authentication](https://docs.getdial.ai/documentation/get-started/authentication): API keys and bearer auth. - [Core concepts](https://docs.getdial.ai/documentation/get-started/core-concepts): Numbers, messages, calls, and events. Capabilities: - [Send an SMS](https://docs.getdial.ai/documentation/capabilities/send-an-sms) - [Receive an SMS](https://docs.getdial.ai/documentation/capabilities/receive-an-sms) - [Place a voice call](https://docs.getdial.ai/documentation/capabilities/place-a-voice-call) - [Receive a voice call](https://docs.getdial.ai/documentation/capabilities/receive-a-voice-call) - [Stream account events](https://docs.getdial.ai/documentation/capabilities/stream-account-events) - [Manage phone numbers](https://docs.getdial.ai/documentation/capabilities/manage-phone-numbers) CLI & SDKs: - [CLI: install & onboarding](https://docs.getdial.ai/documentation/cli/install-and-onboarding) - [CLI commands](https://docs.getdial.ai/documentation/cli/commands) - [CLI listen service](https://docs.getdial.ai/documentation/cli/listen-service) - [SDKs overview](https://docs.getdial.ai/documentation/sdks/overview) - [Node SDK](https://docs.getdial.ai/documentation/sdks/node) - [Python SDK](https://docs.getdial.ai/documentation/sdks/python) - [LangChain](https://docs.getdial.ai/documentation/sdks/langchain) - [Vercel AI SDK](https://docs.getdial.ai/documentation/sdks/ai-sdk) - [CrewAI](https://docs.getdial.ai/documentation/sdks/crewai) - [AutoGen](https://docs.getdial.ai/documentation/sdks/autogen) - [Microsoft Agent Framework](https://docs.getdial.ai/documentation/sdks/agentframework) Agent clients (install Dial into an agent runtime): - [Claude Code](https://docs.getdial.ai/integrations/agent-clients/coding-agent/claude-code) - [OpenClaw](https://docs.getdial.ai/integrations/agent-clients/openclaw) - [NanoClaw](https://docs.getdial.ai/integrations/agent-clients/nanoclaw) - [Vercel Chat SDK](https://docs.getdial.ai/integrations/agent-clients/vercel-chat-sdk) - [CLI Skill](https://docs.getdial.ai/integrations/tools/cli-skill) — works with Cursor, Codex, Opencode, Pi, Hermes Agent, and any skill-capable agent Reference: - [How Dial works](https://docs.getdial.ai/documentation/reference/how-it-works) - [Errors & status codes](https://docs.getdial.ai/documentation/reference/errors) - [Usage & limits](https://docs.getdial.ai/documentation/reference/usage-and-limits) - [Support](https://docs.getdial.ai/documentation/reference/support) ## API Base URL: `https://api.getdial.ai/v1`. Authenticate with `Authorization: Bearer sk_live_...`. Resource groups: - `auth` — signup, OTP verification, API key issuance - `numbers` — provision and manage phone numbers - `messages` — send and receive SMS / WhatsApp - `calls` — place and receive voice calls - `events` — wait for or subscribe to account events - `account` — account settings and deletion - `usage` — usage metrics and billing Full REST reference: https://docs.getdial.ai/api-reference/rest-api. ## Comparisons How Dial compares to alternative platforms, based on public documentation and published pricing: - [Dial vs Vapi](https://getdial.ai/compare/dial-vs-vapi): Vapi is a developer platform for building voice AI agents; Dial is the full communication stack that gives an agent its own number, voice, SMS, WhatsApp, and iMessage. Here's how pricing, channels, and setup actually compare. - [Dial vs Retell AI](https://getdial.ai/compare/dial-vs-retell): Retell AI is an AI call center platform for automating support and sales calls; Dial gives an AI agent its own number with voice, SMS, WhatsApp, and iMessage in one API. A factual look at pricing, channels, and setup. - [Dial vs Twilio](https://getdial.ai/compare/dial-vs-twilio): Twilio is the definitive CPaaS for human customer engagement; Dial is communication infrastructure designed for AI agents. How per-unit pricing, 10DLC registration, voice AI, and setup time actually compare. - [Dial vs Telnyx](https://getdial.ai/compare/dial-vs-telnyx): Telnyx is a carrier-owned CPaaS with the sharpest per-unit prices in the market and its own voice AI product; Dial is an all-in communication stack built for AI agents. Here's the honest comparison. - [Dial vs AgentPhone](https://getdial.ai/compare/dial-vs-agentphone): AgentPhone (YC S26) and Dial are the two platforms built specifically to give AI agents phone numbers — with near-identical headline pricing. The real differences are channels, international reach, and pricing envelopes. - [Dial vs Saperly](https://getdial.ai/compare/dial-vs-saperly): Saperly calls itself the phone carrier for AI agents, with voice, SMS, and a compliance layer built in; Dial adds WhatsApp and iMessage on the same agent identity. How the two agent-native platforms compare. - [Dial vs Sendblue](https://getdial.ai/compare/dial-vs-sendblue): Sendblue is an agent-first iMessage API with per-line pricing and no per-message fees; Dial gives an AI agent iMessage plus voice, SMS, and WhatsApp on one identity. How pricing, outbound access, and channels compare. - [Dial vs Linq](https://getdial.ai/compare/dial-vs-linq): Linq's Blue API is an enterprise iMessage, RCS, and SMS platform behind a sales process; Dial is a self-serve communication stack for AI agents with published pricing. Feature depth, channels, and onboarding compared. - [Dial vs Inkbox](https://getdial.ai/compare/dial-vs-inkbox): Inkbox gives AI agents email, a phone number, shared-pool iMessage, and a public tunnel URL; Dial gives them a real phone identity that calls, texts worldwide, WhatsApps, and iMessages on its own number. An honest comparison. ## Blog - [Why AI Agents Need Real Phone Numbers](https://getdial.ai/blog/why-ai-agents-need-real-phone-numbers): Most AI agents live entirely in text. But the real world runs on phone calls, SMS verification codes, and WhatsApp messages. Here's why giving your agent a real number changes everything. - [Building a 2FA Bot with Claude Code and Dial](https://getdial.ai/blog/building-a-2fa-bot-with-claude-and-dial): A step-by-step tutorial on automating SMS verification workflows. We'll sign up for a real service, intercept the OTP, and complete verification — all from a Claude Code session. - [The 100-to-1 World: What Happens When Agents Outnumber Humans](https://getdial.ai/blog/the-1000-to-1-world): Jensen Huang, Sam Altman, and Marc Andreessen all landed on the same number independently: one human, one hundred AI agents. The math is not a forecast. It's already happening in early enterprise deployments — and our communication infrastructure is completely unprepared. - [We Built Everything for Humans (And That's About to Break Everything)](https://getdial.ai/blog/we-built-everything-for-humans): Phone numbers assume SIM card possession. Email assumes human typing patterns. SMS rate limits assume human-speed outreach. Every layer of communication infrastructure was built with one unexamined assumption: the entity communicating is a person. - [Your Agent Can Deploy in Seconds. Your Phone Number Takes 6 Weeks.](https://getdial.ai/blog/the-six-week-wall): AI agents go from zero to deployed in the time it takes to run a pip install. Getting permission to use a phone number for that agent takes 6–10 weeks. This is not a minor inconvenience. It's a categorical incompatibility with how agents work. - [The Email Problem That Will Blindside Your Engineering Team](https://getdial.ai/blog/the-domain-destruction-problem): Teams build email agents, those agents send at agent scale, and one day the CEO notices that the company's email isn't being delivered. It takes weeks to recover from domain blacklisting. Most teams never see it coming. - [Your Agent's Phone Number Is a Ticking Time Bomb](https://getdial.ai/blog/number-burning): A phone number used by an AI agent for outbound calls accumulates spam complaints at 10–100× the rate of a human-operated number. Carriers update their databases within hours. A clean number on Monday is flagged by Wednesday. Most teams never see it coming until calls stop connecting. - [The Cold Start Problem: Why AI Agents Forget Every Conversation](https://getdial.ai/blog/the-cold-start-problem): Your agent called a lead last Tuesday about a contract. The lead texts back on Saturday with a question. Your agent has no idea who this is or what they discussed. Every channel switch is a cold start. This is the defining failure mode of agent communication today — and it's entirely infrastructure. - [What STIR/SHAKEN Doesn't Tell You About Who's Calling](https://getdial.ai/blog/what-stir-shaken-doesnt-tell-you): STIR/SHAKEN is a real improvement for phone call authentication. But it only answers one question: did this call originate from a legitimate carrier customer? It says nothing about whether the caller is a human or an agent, what the agent is authorized to do, or whether the communication is legitimate. - [Introducing the Agent Communication Number](https://getdial.ai/blog/introducing-the-acn): The phone number was the identity anchor of the telephone era. The email address was the identity anchor of the internet era. The Agent Communication Number (ACN) is the identity anchor for the agentic era — persistent, cryptographically rooted, and designed to work across every channel simultaneously. - [6.5 Trillion Messages a Day: The Infrastructure That Doesn't Exist](https://getdial.ai/blog/65-trillion-messages): All human communication on Earth — every SMS, email, WhatsApp message, and phone call — totals roughly 437 billion events per day. AI agents, at the 1:100 ratio, will generate 6.5 trillion. That's not a scalability challenge. It's a category error. - [The Five Ways Agent Communication Fails in Production](https://getdial.ai/blog/five-ways-agent-communication-fails): Every team building AI communication agents runs into the same five failure modes, in roughly the same order. Reputation decay. Volume throttle. Identity ambiguity. Cross-channel fragmentation. Compliance exposure. None of them are bugs. All of them are infrastructure. - [Why Twilio Isn't the Answer for AI Agents](https://getdial.ai/blog/why-twilio-isnt-the-answer): Twilio is excellent infrastructure. It's also human infrastructure — every rate limit, reputation model, and identity primitive it exposes was designed for a world with humans on at least one end of every communication. For agents, that's the wrong starting point. - [Compliance Without a Legal Team](https://getdial.ai/blog/compliance-without-a-legal-team): TCPA, CAN-SPAM, GDPR, and the EU AI Act apply simultaneously to AI agents communicating across channels. None of these frameworks were written with agents in mind. The right answer isn't a bigger legal team — it's compliance baked into the infrastructure layer. - [One Interface, Every Channel: Inside the Channel Abstraction Layer](https://getdial.ai/blog/the-channel-abstraction-layer): A phone call, an SMS, an email, and a WhatsApp message are not just different channels. They're different protocols, different encoding, different compliance requirements, different trust frameworks. The Channel Abstraction Layer normalizes all of them into a single interface so your agent never has to care. - [Voice First: Why Calling Is Still the Highest-Trust Channel](https://getdial.ai/blog/voice-first): For a decade, voice calls felt like a legacy channel. Then LLMs got fast enough for real-time conversation, and suddenly calling is the most natural interface again. There's a reason ACES starts with phone — and it's not nostalgia. - [Agent-to-Agent: The Communication Layer Nobody Is Building](https://getdial.ai/blog/agent-to-agent-communication): When AI agents coordinate with each other, they do it through API calls and shared state stores. Unverified. Unauditable. Invisible to the humans overseeing the system. ACES defines an authenticated, auditable, session-persistent primitive for agent-to-agent interaction — and it may be the most important channel nobody is talking about. - [What 2 Billion WhatsApp Users Mean for AI Agents](https://getdial.ai/blog/whatsapp-for-ai-agents): If your agent only communicates via SMS and voice, it's invisible to most of the world. WhatsApp has 2 billion active users in 180+ countries. Outside North America, it's the default communication channel — not SMS. Building for agents without WhatsApp is building for half the planet. - [The $200 Billion Market That Doesn't Exist Yet](https://getdial.ai/blog/200-billion-dollar-market): The CPaaS market was valued at $18 billion in 2024 — built on human communication at human scale. If the 1:100 agent ratio materializes, agent communication will dwarf that by an order of magnitude. The agent communication market doesn't have a name yet. But the math is not hard. - [Why AI Agents Need Cryptographic Identity (Not Phone Numbers)](https://getdial.ai/blog/cryptographic-identity-for-agents): A phone number is identity rooted in physical possession — you have a SIM card, so you have a number. AI agents don't have SIM cards. They need identity rooted in cryptographic proof — persistent across deployments, portable across infrastructure, verifiable by anyone. - [Why AI Agent Prototypes Die at the Carrier Layer](https://getdial.ai/blog/from-prototype-to-production): The demo works. The prototype impresses. Then you try to ship it, and you discover that between your working agent and a production deployment that can actually communicate, there's 6–10 weeks of carrier registration, domain warm-up, and compliance setup. Most teams don't see it coming. - [The EU AI Act Has Opinions About Your AI Agent's Phone Calls](https://getdial.ai/blog/eu-ai-act-agents): Article 52 of the EU AI Act creates mandatory disclosure requirements for AI systems interacting with humans in real-time conversational contexts. If your agent makes calls or sends messages to EU residents, you have a compliance obligation that most engineering teams haven't addressed. - [The Protocol Layer the Agentic Era Is Missing](https://getdial.ai/blog/the-agent-era-infrastructure): The internet needed TCP/IP. The web needed HTTP. The cloud needed virtualization. Every technology wave has required a new infrastructure layer to be built before the wave could break at scale. The agentic era is no different — and the infrastructure layer it needs doesn't exist yet. - [RCS Is Finally Happening. What It Means for AI Agents.](https://getdial.ai/blog/rcs-for-ai-agents): For 15 years, RCS sat mostly dormant — a richer SMS standard that carriers kept implementing unevenly and Apple refused to support. In September 2024, iOS 18 shipped with RCS. Global traffic jumped fivefold. Here's what actually changed, why it matters for AI agents, and what the infrastructure gap still is. - [SIP vs. WebRTC vs. PSTN: What Your AI Voice Agent Is Actually Running On](https://getdial.ai/blog/sip-webrtc-pstn-explainer): Most developers building AI voice agents don't know which protocol stack they're on — or what that choice costs them in latency, reliability, and reach. Here's a plain-language breakdown of the three layers, how they interact, and what the right architecture looks like in 2026. - [79% of People Prefer Humans on the Phone. Here's How to Build AI Calls They Don't Hang Up On.](https://getdial.ai/blog/build-ai-calls-people-dont-hang-up): A 2025 SurveyMonkey study found 79% of Americans prefer human customer service over AI. Most developers read that as a ceiling. It isn't. People don't hate AI calls — they hate bad AI calls. Here's the difference, and exactly what to build differently. - [Your AI Agent's Calls Are Being Silently Flagged as Spam. Here's the Evidence.](https://getdial.ai/blog/ai-agent-calls-flagged-spam): Carrier analytics systems score every number before it rings. AI agents trip every signal: volume spikes, low answer rates, no inbound history, identical audio. Most developers never find out — they just see no answer in the logs. - [Your AI Agent's Biggest Competitor Isn't a Human Agent. It's Voicemail.](https://getdial.ai/blog/voicemail-is-winning): Everyone is benchmarking AI calling against human agents. The actual competition is the voicemail box. 34% of outbound AI calls go straight to it, and all your conversation design doesn't help a single one of them. - [Anatomy of an International Revenue Share Fraud Attempt - and How We Shut It Down](https://getdial.ai/blog/stopping-irsf-fraud): For about a week, a fraud ring tried to route free Dial accounts into a rotating set of international premium-rate numbers to collect revenue share at our expense. Here is what International Revenue Share Fraud actually is, how we caught it, and what we changed. - [Your Agent Dies at "Enter the Code We Texted You"](https://getdial.ai/blog/your-agent-dies-at-enter-the-code): Your agent just navigated a signup form, filled in every field correctly, and clicked submit without a single mistake. Then it hit a text box asking for a six-digit code, and the whole task ended right there. This is the most common failure mode nobody talks about. - [Why Your OTP Code Never Arrives](https://getdial.ai/blog/why-otp-codes-dont-arrive): The verification code was sent two minutes ago. The user is still staring at four empty boxes. It is not one bug - it is five different failure points stacked on top of each other, and most verification flows are designed around none of them. - [Your Calls Say "Scam Likely." Here Is What Is Happening.](https://getdial.ai/blog/scam-likely-fix): Your AI agent's calls are reaching people with a "Scam Likely" label - or not reaching them at all. Here is what causes it, what Dial handles on your behalf, and the one thing only you can control: how your agent actually calls. - [The Global Voice Call Regulation Guide for AI Agent Builders](https://getdial.ai/blog/voice-call-regulation-global-guide): TCPA applies to calls to US numbers - not calls from US numbers to international recipients. The rules for AI voice agents are more complex than SMS: live vs. automated distinctions, AI disclosure mandates, recording consent laws, and DNC registries in 20+ countries. Every major market mapped. - [The Global SMS Regulation Guide for AI Agent Builders](https://getdial.ai/blog/sms-regulation-global-guide): 10DLC is a US domestic regulation. It applies when your US long code sends to a US number - not when you send to Israel, India, or anywhere outside the US. But the destination country has its own rules. Here is every major market mapped, with the exact regulation name and enforcement type. - [The Phone Number Math Doesn't Work Anymore](https://getdial.ai/blog/phone-number-math): The global phone numbering system was designed in 1984 for humans calling other humans. AI agents are consuming numbers at a rate the infrastructure was never built for - and the bottleneck is not the number pool itself. It is the routing databases, registration queues, and reputation systems underneath it. ## Other - [Home](https://getdial.ai/): Product overview and pricing. - [Onboarding](https://getdial.ai/onboarding): Get a number in 30 seconds. - [Whitepaper](https://getdial.ai/whitepaper): The Agent Channel Exchange Standard (ACES) — why every communication system was built for the wrong species, and what the agentic era needs instead. - [Documentation](https://docs.getdial.ai): Full product documentation — guides, CLI, SDKs, and API reference. - [Full Documentation (single file)](https://docs.getdial.ai/llms-full.txt): Complete docs in one fetch — optimized for AI agents. - [Agent Setup Guide](https://getdial.ai/skills.md): Step-by-step instructions for AI agents to self-setup: install CLI, sign up, verify OTP, provision a number. - [MCP Server](https://getdial.ai/mcp): Remote MCP endpoint (Streamable HTTP) with interactive OAuth 2.1 — add it as a remote MCP server in any client (Claude, Cursor, ChatGPT) and authorize in the browser. Tools to list numbers, send messages, place AI voice calls, and wait for inbound events. - [CLI Installer](https://getdial.ai/install): Shell script — `curl -fsSL https://getdial.ai/install | bash` — installs the `dial` CLI (requires Node 22+). - Contact: founders@getdial.ai