Give every AI agent its own phone number.
Dial gets your agent a real number in one API call. When a site texts a verification code, Dial reads it and hands it straight back to the agent, so signups and logins don’t stall at “enter the code we sent you.” It can also have an AI voice assistant phone a business for you, to book a table or an appointment.
| 09:41 | G-482913 is your Google verification code. code 482913 → signup-agent in 1.2s | ![]() |
| 09:44 | [Stripe] Your login code is 551 204. code 551204 → billing-agent in 0.9s | ![]() |
One call to get a number. One call to get the code.
Agents can browse, buy and book.
Then a site asks for a phone number.
Most of the web still checks that you’re real by texting you a code. That one step is where autonomous agents get stuck.
No number to give
Agents don’t have phones. Borrowing yours means every code lands on your screen and someone has to type it back in.
Telecom APIs aren’t built for agents
Buying a number, wiring webhooks and pulling the code out of each message is a week of plumbing before the agent signs up for anything.
Many sites refuse internet numbers
Plenty of services won’t send codes to VoIP numbers. Agents that need those services need numbers on a real mobile line.
Four steps from “enter your phone number” to signed in.
The same flow works from any agent framework: plain HTTP, our TypeScript SDK, or the MCP server for Claude, OpenClaw and other MCP clients.
Get a number
One call gives your agent its own US or Canadian number, in the area code you ask for.
Text arrives
The site sends its code. Dial receives the text, checks it really came from the phone network, and stores it.
Code is read
Dial pulls out the code and works out who sent it: Google, Stripe, GitHub and the rest.
Agent continues
The agent’s wait_for_code call returns the code, once, and the signup carries on. A signed webhook fires too.
Watch an agent get its codes.
A simulation of Dial’s message handling. Pick a site the agent is signing up for, and see the text arrive, the code get pulled out, and the agent receive it.
| — | Number online. The agent is waiting for a code. |
Each code goes to the waiting agent once · texts without a code are stored, not sent as codes · free plan caps texts per month and codes per day
Three lines in your agent.
Ask for a number, type it into the form, wait for the code. If the code got there a moment before the agent asked, it still counts.
Using Claude, OpenClaw or another MCP client? Add the Dial MCP server, https://aloha-dial-api.onrender.com/mcp (setup guide for Claude, Cursor and others), and the agent gets the tools get_phone_number and wait_for_verification_code with no code at all.
// get a number for this agent const number = await dial.createNumber({ areaCode: "310" }); // ...the agent types number.number into the signup form... const result = await dial.waitForCode(number.id, { service: "github" }); // → { code: "774210", service: "github" }
Your agent gets
a voice, too.
When your agent needs to phone a business, a natural-sounding AI voice makes the call for it: booking a table, an appointment, or just asking a question. Choose from 10 voices, female, male or gender-neutral, each with its own accent and personality, and give the assistant a name. The voice is included in the price.
- SarahFemale · American
Warm, confident, reassuring
voice: "sarah" - MatildaFemale · American
Upbeat, knowledgeable, professional
voice: "matilda" - JessicaFemale · American
Playful, bright, casual
voice: "jessica" - AliceFemale · British
Clear, polished, articulate
voice: "alice" - BrianMale · American
Deep, calm, reassuring
voice: "brian" - EricMale · American
Smooth, trustworthy, businesslike
voice: "eric" - ChrisMale · American
Charming, down-to-earth, friendly
voice: "chris" - RogerMale · American
Laid-back, casual, easygoing
voice: "roger" - GeorgeMale · British
Warm, mature, refined
voice: "george" - RiverGender-neutral · American
Relaxed, neutral, informative
voice: "river"
Pick a voice for each call with make_phone_call (or just say "female" or "male"), and list them any time with list_voices. Want the same voice every time? Tell your agent which one to use. Every call opens by saying it's an AI assistant calling on your behalf.
Simple pricing for agent phone numbers.
Start free with $5 in credit. Move up when your agents need more numbers, minutes and incoming texts. Cancel anytime.
Launch Launch special: 50% off your first month with code PRODUCTHUNT or SHOWHN at checkout.
Free
No credit card required
- $5 in free usage credit
- Inbound texts & verification codes
- Try numbers & AI voice calls
- REST, SDK & MCP access
Starter
For a single working agent
- 1 number
- 100 AI voice call minutes
- 400 incoming texts
- Overage billing enabled
Pro
For a small fleet of agents
- 5 numbers
- 250 AI voice call minutes
- 1,000 incoming texts
- Overage billing enabled
Scale
For production workloads
- 20 numbers
- 1,000 AI voice call minutes
- 5,000 incoming texts
- Overage billing enabled
Your agent can sign itself up. Point any MCP client at https://aloha-dial-api.onrender.com/mcp and it gets a sign_up tool, then its own number. For a paid plan it calls start_subscription and sends you the checkout link. Setup guide →
What counts as a minute?
Connected time on calls your agent places with Dial’s AI voice assistant, rounded up to the next whole minute per call. The AI voice is included in the price. Inbound texts and verification codes are counted separately, not as minutes.
Does my agent get a voice?
Yes. Calls are made by a natural-sounding AI voice assistant that introduces itself as an AI calling on your behalf. Your agent can pick a voice for each call (female or male, different accents and personalities) with the list_voices tool. No separate voice subscription needed.
What happens when I go over my plan?
Your agents keep working — you're never cut off mid-call. Usage past your plan is billed at the overage rates above ($0.15 per call minute, $0.015 per text, $2/mo per extra number) and appears on your next invoice.
Can I cancel anytime?
Yes. Cancel or change plans anytime from the billing portal. Your plan stays active until the end of the current billing period.
Can my agent send texts?
Not yet. Today Dial receives texts and verification codes on your agent’s number, and your agent can place AI voice calls. If it needs to get a message to someone, it can call them and deliver it.
Do unused minutes roll over?
No. Call minutes, numbers and texts reset at the start of each billing cycle and don't carry over.
Built to be the trusted kind of agent number.
Dial is for agents acting on behalf of a real person or business. It isn’t for creating accounts in bulk, and the limits are there to keep it that way.
One owner per number
Every number belongs to one account. Verified numbers add an ID check on the owner.
No hand-me-down numbers
Verified numbers are never handed to someone else, so codes can’t land with a stranger.
Limits and a record
Caps on codes per day, signups per network and texts per month. Message text and codes are deleted after 30 days.
Team
Dial is part of the Aloha Labs product family, alongside Lani, Stipend, Tenor and Strata. It started as the phone layer for the AI agents that run Ecco Living’s rental portfolio in Los Angeles.
Get your agents a number.
Free to start with a $5 credit and no card. Sign up in a minute, or let your agent sign itself up through the MCP server.
Dial is a product of Aloha Labs. Use it only with services whose terms allow it, and for accounts that belong to you or the people you act for. Some services do not accept VoIP numbers on any plan.
