Back to Blog
Developer ResourcesOctober 3, 202610 min read

Why Twilio Doesn't Work for AI Agents: 10DLC Wait [2026]

An AI agent on Twilio cannot text US numbers until 10DLC brand and campaign registration clears. AgentCall registers for you; verified senders text same day.

Direct answer: Twilio works well for human developer teams, but an AI agent on Twilio cannot text a US phone number the day it gets one. Twilio blocks application-to-person texts from a US 10DLC number that is not attached to an approved A2P 10DLC campaign, and getting that campaign approved means registering a brand, writing a campaign, and waiting for a manual review that Twilio currently puts at 10 to 15 days. AgentCall registers your number on its own 10DLC campaign and replaces the brand-and-campaign wait with a short business verification, so a verified sender texts the same day it signs up.

This post is about time to first text. We have covered the voice side of the same comparison in why you do not need an inbound webhook to answer calls, and the broader market in 5 best phone APIs for AI agents. Here we go deep on one thing: what has to happen before an agent is allowed to send its first SMS, and why the Twilio version of that sequence does not fit an autonomous agent.

Where Twilio Fits for Human Teams

Fair is fair. Twilio is the most documented communications API in the industry, its per-unit prices are among the lowest you will find, and its number inventory covers far more countries than ours. If you are a SaaS team with an engineer who owns messaging, a compliance person who can fill in a brand form once, and a product that will send the same kinds of texts for years, Twilio is a sound choice. The 10DLC paperwork is a one-time cost you amortize over a long life.

The problem is not quality. The problem is that every part of the Twilio model assumes a human is driving: a console to click through, a brand form to fill in, a campaign to describe, a webhook URL to host per number, and TwiML to write when a message or call comes in. An autonomous agent has none of those things and, more importantly, no patience for a two-week gap between "I have a number" and "I can use it."

What 10DLC Actually Requires Before the First Text

A2P 10DLC is the framework US carriers use to make sure business texting from ordinary ten-digit numbers is verified and consensual. Twilio's overview describes it as the standard that ensures "SMS traffic to US end users through long code phone numbers is verified and consensual" (Twilio A2P 10DLC overview, checked 2026-10-03). Every detail below comes from Twilio's own documentation on that date.

Step 1: a brand

Before anything else you register who is sending. Twilio's brand registration page lists a $4.50 fee charged by The Campaign Registry when a new brand is registered, with further one-time vetting fees on top for standard brands (Twilio brand registration). Twilio's onboarding guide says the registry "typically approves brands within a few minutes," but if the brand falls into manual review, "Manual reviews take seven business days or more" (direct standard onboarding). The same page notes that the Customer Profile the brand hangs off "may take 72 hours or more" to approve.

Step 2: a campaign

Then you describe what you will text about: the use case, how people opt in, how they opt out, and sample messages. Twilio's campaign registration page says there are "monthly campaign fees to cover the cost of creating and maintaining a campaign record with The Campaign Registry" (Twilio campaign registration). Twilio's fee article lists a $15 one-time campaign vetting fee and a monthly campaign fee of $1.50 to $10 depending on use case (Twilio 10DLC pricing and fees).

Step 3: the vetting wait

This is the step that matters. Every campaign goes through a manual vetting process, and Twilio's onboarding documentation currently says that, due to an increase in campaign submissions, campaign reviews are taking 10 to 15 days, with a separate note that the process "can take between two to three weeks to complete" (same page, checked 2026-10-03). Some use cases also need an additional carrier review after that. Twilio's quickstart adds that "Most application failures occur in step 3 (campaign registration)," so a rejected campaign restarts the clock (Twilio 10DLC quickstart).

Step 4: nothing sends until it is approved

This is not a throughput penalty you can live with for a while. Twilio error 30034 is documented as "US A2P 10DLC - Message from an Unregistered Number," and the page states plainly: "Twilio blocks messages to U.S. numbers when you send from a +1 10DLC number that is not associated with an approved A2P 10DLC Campaign" (Twilio error 30034). Buy a number on day one, and until the campaign clears, every application-to-person text to a US handset fails.

Why That Wait Breaks an Autonomous Agent

Human teams absorb a two-week registration because a human plans around it. An agent cannot. Consider what an agent is usually asked to do the moment it gets a phone number:

  • Text an existing customer today. "Remind Dana that her invoice is 12 days overdue." The agent has the number, the message, and the authorization. On Twilio it also has error 30034 for the next two weeks.
  • Confirm it actually worked. An agent sends unattended. If delivery fails silently, nobody notices until a customer asks why they never heard back. The agent needs a delivery status it can read, not a console it cannot see.
  • Fill in a form it has no standing to fill in. Brand registration asks for a legal entity, an EIN, and an attestation about consent. Those are things a business owner should state, not something an agent should guess at or wait on a human to click through across several console screens.
  • Answer back when the customer replies. On Twilio that reply hits a webhook URL you host per number, and your code decides what to do. There is nothing wrong with that for a product team, but an agent that was just told "get a number and handle my texts" now has a server to stand up before anything happens.

Put differently: an agent is only useful if the gap between "provision a number" and "send the first legitimate text" is measured in hours, with a machine-readable answer at every step. The 10DLC model as Twilio exposes it is measured in business days and answered in a console.

How AgentCall Handles 10DLC for AI Agents

We did not remove 10DLC. US carriers require it and so do we. What we changed is who carries it and what the agent sees while it happens.

Your number lands on our registered campaign

When your agent provisions a US local number, AgentCall registers it on its own 10DLC campaign. There is no brand form, no campaign form, and no vetting fee on your side. Registration on our campaign usually completes in about two hours and occasionally takes longer, and you can watch it rather than guess: every number returned by GET /v1/numbers carries a messaging.state of registered, pending, or action_needed. The dashboard badges anything not ready. If every campaign slot were ever full, provisioning refuses with tendlc_capacity_unavailable rather than selling you a number that cannot text.

curl https://api.agentcall.co/v1/numbers/num_7f3k2m \
  -H "Authorization: Bearer YOUR_API_KEY"

{
  "id": "num_7f3k2m",
  "number": "+13145550142",
  "country": "US",
  "type": "local",
  "messaging": {
    "state": "registered",
    "detail": null,
    "checkedAt": "2026-10-03T14:12:09.000Z"
  }
}

The trade: a new account starts restricted

Carrying registration for you means we are the ones carriers hold responsible for what gets sent, so a brand-new account is not allowed to text a cold list. On day one it can text numbers it owns (so agent-to-agent testing works immediately), anyone who texted or called it first within the last 30 days (so inbound threads and replies work untouched), and individual numbers verified by having a code delivered there and read back. That covers testing, support follow-ups, and every inbound conversation. It does not cover "text these 400 people who have never heard of us," and that is on purpose.

Business verification lifts it in minutes

To text people who have not contacted you first, a Pro account submits a business verification. The fields are the same ones The Campaign Registry asks for during brand registration, so if you have done 10DLC before you already have the answers:

curl -X POST https://api.agentcall.co/v1/business-verification \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "legalName": "Ridgeline Painting LLC",
    "website": "https://ridgelinepainting.com",
    "contactName": "Dana Whitfield",
    "useCase": "Payment reminders to existing customers with unpaid invoices, including a pay link.",
    "sampleMessage": "Invoice 4021 for $840 is 12 days past due. Pay here: example.com/pay/4021. Reply STOP to opt out."
  }'

Provide website or ein; either identifies the business. The restriction lifts on submission, not on approval, and a person reads the submission afterwards. A daily cap on new recipients applies while the account is under 7 days old (25 on day one, rising through the week), which is the right shape for a real pilot and the wrong shape for a blast. After 7 days on Pro the destination gate lifts on its own. GET /v1/business-verification returns grantsOutboundPilot, which is the direct answer to "can my agent text someone new right now?"

Delivery status the agent can read

The 201 from POST /v1/sms/send means the carrier accepted the message, not that a handset showed it. Read the message back and the status moves queued to sent to delivered or failed. A failed message carries an errorCode, and 40010 specifically means the sending number is not registered for A2P texting yet, which points the agent straight back at that number's messaging.state.

curl https://api.agentcall.co/v1/sms/msg_01JA9Q2 \
  -H "Authorization: Bearer YOUR_API_KEY"

{
  "id": "msg_01JA9Q2",
  "direction": "outbound",
  "from": "+13145550142",
  "to": "+13145559876",
  "body": "Invoice 4021 for $840 is 12 days past due. Pay here: example.com/pay/4021. Reply STOP to opt out.",
  "status": "delivered",
  "errorCode": null,
  "deliveredAt": "2026-10-03T14:13:41.000Z",
  "createdAt": "2026-10-03T14:13:37.000Z"
}

Over MCP the same read is the get_message tool, so an agent in Claude Desktop, Cursor, or Windsurf can send, check, and retry without a human opening a console. The full send-and-read flow is in SMS for AI Agents.

Twilio vs AgentCall for AI Agent SMS: An Honest Comparison

Twilio figures are from Twilio's public pricing and documentation pages, checked 2026-10-03. AgentCall figures are current Pro pricing.

QuestionTwilioAgentCall
Time to first A2P text to a US numberAfter brand approval (minutes to 7+ business days) and campaign approval (currently 10 to 15 days per Twilio)Same day for verified senders. Number registration on our campaign usually completes in about two hours; business verification lifts the new-account restriction on submission
Who registers the 10DLC brand and campaignYou, in the Twilio console or Trust Hub APIAgentCall, on its own campaign
Registration fees$4.50 brand fee plus vetting fees, $15 campaign vetting, $1.50 to $10 per campaign per monthNone. New accounts accept a destination restriction instead
How an inbound text or call is answeredWebhook URL you host per number, returning TwiMLInbound AI voice and two-way AI SMS configured with a prompt; relay mode if you want your own agent to answer
MCP serverNoneHosted, 62 tools, no local install
Local number, monthly$1.15$2.00
Outbound SMS, per message$0.0083 per segment plus carrier passthrough fees$0.015
CountriesVery broadUnited States and Canada

Read the price rows honestly: Twilio is cheaper per number and per message. If your agent will send tens of thousands of texts a month from a brand that already has an approved campaign, Twilio's unit economics win and the registration cost is already sunk. AgentCall charges more per unit and in exchange removes the registration, the webhook server, and the wait.

Where Twilio is still the better choice

  • International numbers. AgentCall provisions US and Canada numbers only. If your agent needs a UK or Australian line, Twilio has it today.
  • SIP trunking and raw call audio. If you want your own speech stack on your own infrastructure through Media Streams or SIP, that is a Twilio strength we do not replicate.
  • Very high volume. Short codes and verified toll-free at scale are mature on Twilio. We are built for an agent with a number, not a notification pipeline sending millions of segments.
  • Existing TwiML applications. AgentCall does not support TwiML. If you have a working TwiML app, keep it.
  • Other channels in one account. WhatsApp, email, and video live next to SMS on Twilio. AgentCall is phone and text.

Migrating a Twilio-Based Agent to AgentCall

Conceptually, three things change. First, there is no messaging service, brand, or campaign object on your side. Your agent provisions a number and reads messaging.state until it says registered. Second, inbound handling moves from a webhook that returns TwiML to a configuration on the number: a prompt for two-way AI SMS, or smsMode: "relay" if you want your own agent to receive and answer each text. Third, the thing you used to prove to the carrier at registration time, you now prove to us once through business verification, and only if you need to text people who have never contacted you.

Two honest caveats. AgentCall does not offer number porting, so a migration means a new number and updating wherever the old one is published. And the new-account restriction applies to you even if you had a fully approved campaign on Twilio; our verification is short, but it is not skipped for anyone.

New live trials include five SMS send attempts total to verified destinations during the trial. Failed or ambiguous sends consume an attempt. Existing Free accounts keep their assigned monthly SMS allowance; read get_plan or GET /v1/account. Pro outbound SMS is $0.015/message, subject to account and destination restrictions.

FAQ

How long does Twilio A2P 10DLC registration take?

Twilio's own documentation, checked 2026-10-03, says brand registration is usually approved within minutes by The Campaign Registry but a manual brand review takes seven business days or more, and campaign reviews are currently taking 10 to 15 days. A new campaign cannot send to US numbers until it is approved, so the campaign review is the number to plan around.

Does AgentCall make me register my own 10DLC brand and campaign?

No. AgentCall registers your US local number on its own 10DLC campaign. Registration on our campaign usually completes in about two hours and occasionally takes longer, and every number in GET /v1/numbers reports a messaging.state of registered, pending, or action_needed so your agent can check instead of guessing.

What is the catch with AgentCall handling 10DLC for me?

A new account starts restricted. It can text numbers it owns, anyone who texted or called it first within the last 30 days, and numbers verified individually with a code. To text people who have never contacted you, a Pro account submits a short business verification (legal name, website or EIN, contact name, use case, sample message). The restriction lifts on submission, a person reviews it afterwards, and a daily cap on new recipients applies while the account is under 7 days old.

Can I port my Twilio number to AgentCall?

Not today. AgentCall does not offer number porting, so a migration means provisioning a new US or Canada number and updating where the old one is published. If keeping the exact number is a hard requirement, stay on Twilio for that line.

When is Twilio still the better choice for an AI agent?

When you need numbers outside the US and Canada, SIP trunking or raw call audio through Media Streams, very high message volume on short codes, WhatsApp or email in the same account, or you already have a working TwiML application. AgentCall is the better fit when the agent needs a US or Canada number that can text and answer calls the day it is created.

Where to Go Next

If you are still deciding whether an agent needs its own number at all, start with why AI agents need phone numbers. If you are ready to build, the send, read, and reply flow is in SMS for AI Agents, and the FAQ covers trial limits, verification, and what happens when a text does not deliver.

Ready to get started?

Give your AI agents their own phone numbers in minutes.

Start Building