From twilio-developer-kit
Registrations required BEFORE Twilio traffic works. Covers messaging programs (A2P 10DLC, toll-free verification, WhatsApp WABA, RCS, short code, alphanumeric sender) and voice trust programs (STIR/SHAKEN, Voice Integrity, Branded Calling, CNAM). Each number/sender type has its own program — registration blocks traffic until complete.
npx claudepluginhub twilio/ai --plugin twilio-developer-kitThis skill uses the workspace's default tool permissions.
Most Twilio channels require registration or approval before traffic flows. **Skipping this step is the #1 onboarding mistake** — developers build first, then discover messages are blocked or calls labeled as spam.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Most Twilio channels require registration or approval before traffic flows. Skipping this step is the #1 onboarding mistake — developers build first, then discover messages are blocked or calls labeled as spam.
Lifecycle: Choose numbers/senders (twilio-numbers-senders) → Register them (this skill) → Follow traffic rules (twilio-compliance-traffic)
| Sender type | Registration program | Timeline | Docs |
|---|---|---|---|
| US local (10DLC) | A2P 10DLC — brand + campaign | Brand: minutes. Campaign: 10-15 business days | Overview | Quickstart |
| US toll-free | Toll-free verification | 3-5 business days | Console onboarding | Requirements |
| US short code | Pre-approved at purchase | 8-12 weeks provisioning | Guidelines by country | What is a short code? |
| WABA + Meta Business Verification | Minutes (sender) + weeks (Meta verification) | Self sign-up | Getting started | |
| RCS | Google + carrier approval | 4-6 weeks minimum, longer multi-region | RCS onboarding | Compliance guide |
| Alpha Sender ID | Registration in some countries | Varies by country | How to register |
| International numbers | Regulatory bundle (many countries) | Varies | Getting started | How to submit |
| Twilio Verify | Exempt — no registration needed | Immediate | — |
| Program | What it does | Vetting timeline | Docs |
|---|---|---|---|
| STIR/SHAKEN | Level A attestation = trusted caller ID | 24hr (Business Profile) + 72hr (Trust Product) | Overview | Onboarding |
| Voice Integrity | Registers numbers with carriers to remediate spam labels | 24-48hr (profile) + 24-48hr (remediation) | Overview | Onboarding |
| Branded Calling (US) | Verified name + logo on mobile caller ID | Public Beta (T-Mobile, Verizon) | Overview | FAQ |
| Branded Calling (Non-US) | Verified caller ID branding for international numbers | Availability varies by country/carrier | Overview |
| CNAM | Business name on outbound caller ID | 48-72hr propagation | Overview | Getting started |
Voice trust priority: STIR/SHAKEN first (required for Level A attestation) → Voice Integrity (spam label remediation) → Branded Calling (mobile only, beta) → CNAM (simplest, lowest impact). All voice programs require an approved Trust Hub Business Profile as prerequisite.
A2P 10DLC is the most common program and the most common source of onboarding delays.
The message flow field is the #1 reason campaigns get rejected. Reviewers click your links and follow your opt-in steps. If submitting via API, the field must be 40–2049 characters.
4 required elements:
Example of a strong message flow:
"Customers opt in by texting JOIN to 55555, or by checking the SMS opt-in box during checkout at shop.acme.com. The checkout page displays: 'Check this box to receive exclusive deals via text. Up to 4 msgs/month. Message and data rates may apply. Reply STOP to opt out. Reply HELP for help. Privacy Policy: acme.com/privacy. Terms: acme.com/tc.' In-store signage also promotes keyword opt-in with full disclosures. Screenshot of signage: [Google Drive link]"
How to document opt-in by scenario:
| Scenario | What to provide |
|---|---|
| Public website form | URL to your sign-up page |
| Form behind login/paywall | Screenshot uploaded to Google Drive/OneDrive (set to "anyone with link"), include public link |
| Verbal/phone opt-in | Full script of what you say and how customer confirms consent |
| Paper form | Scan/photograph the form, upload publicly, include link |
| Text keyword campaign | Screenshot of marketing materials showing keyword, upload publicly |
All links must be publicly accessible. Non-English disclosures need a translated version included.
Three tiers of consent (CTIA guidelines):
| Tier | Required for | How to obtain |
|---|---|---|
| Implied consent | Transactional messages (order confirmations, account alerts) | Customer provides phone number during a transaction |
| Express consent | Informational messages (appointment reminders, service updates) | Customer actively opts in (checkbox, keyword, form) |
| Express written consent | Marketing/promotional messages | Signed consent with brand name, message frequency, "Msg & data rates apply," opt-out instructions |
Critical rules:
Both are required. Registrations without them are rejected.
Privacy policy must include:
Terms and conditions must include:
Pro tip: Create messaging-specific privacy policies and terms rather than updating your main company documents. Dedicated policies are easier to keep current if requirements change.
If you send both marketing and transactional messages (e.g., order confirmations AND promotions), use the Mixed campaign use case:
Do NOT register separate campaigns for each message type unless they use different phone numbers or have different opt-in flows. Mixed is the intended solution for multi-purpose messaging from the same sender.
| Field | Common mistake | Correct approach |
|---|---|---|
| Campaign description | Vague ("We send texts") | Specific ("Order confirmation and shipping updates for e-commerce purchases") |
| Sample messages | Don't match description or missing opt-out | Must reflect declared use case + include opt-out in every sample |
| Opt-in description | "Users sign up on our website" | "Users check SMS consent checkbox during account registration at checkout.example.com" with link to screenshot |
| URL shorteners | Using bit.ly links | Public URL shorteners are forbidden — use branded/vanity domains |
| Privacy policy | States data IS shared | Must state data is NOT shared with third parties |
| Links | Behind login or not accessible | All links must be publicly accessible to reviewers |
| Consent | Single opt-in covering all message types | Each sub-use case in a Mixed campaign still needs its own documented opt-in method |
| Mixed campaign | Leaving sub-use cases undescribed | Each sub-use case must be explained in description |
Failed campaigns can now be edited directly in Console (API editing is private beta).
| Tier | Daily segment limit (T-Mobile) | Notes |
|---|---|---|
| Sole Proprietor | ~1,000/day | Console only, 1 campaign, 1 number |
| Low-Volume Standard | ~2,000/day | Requires EIN |
| Standard | 2,000+ (scales with Trust Score) | Requires verified EIN |
| High-volume (secondary vetting) | 200,000+/day | Secondary vetting |
Russell 3000 companies qualify for 200,000 segments/day automatically.
| Error | Meaning | Fix |
|---|---|---|
30034 | Message from unregistered number | Complete A2P registration |
30007 | Message filtered as spam | Check opt-in compliance and content |
| Brand rejected | Business info doesn't match EIN records | Tax ID and business name must match exactly |
Required for US/Canada toll-free SMS. Simpler than A2P 10DLC.
Docs: Console onboarding | Why rejected?
Enroll in Meta's Tech Provider Program to onboard customers. Different flow from self-signup.
Docs: Self sign-up | WhatsApp hub
4-6 weeks minimum. RCS has a detailed 7-part compliance process covering sender profile, privacy/ToS, eligibility, campaign details, opt-in/consent, sample messages, and common rejection reasons.
See twilio-rcs-messaging for the full onboarding guide, sending patterns, and device support.
Quick summary: Create RCS Sender in Console → complete compliance submission → Twilio specialist reviews → Google + carrier approval → add to Messaging Service → go live.
Docs: RCS onboarding | Compliance guide | Regional availability
twilio-messaging-overviewtwilio-numbers-senderstwilio-compliance-traffictwilio-messaging-servicestwilio-sms-send-messagetwilio-security-hardening