Agent Native

twilio-compliance-onboarding

This skill guides developers through Twilio's mandatory registration and compliance programs before messaging and voice traffic can flow.

by TwilioOfficial publisherNot reviewed

Identity proven by GitHub's verified organisation badge (twilio)

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
License
MIT (permissive)
Pin
8aba46fpinned Oct 9, 2026
Context cost
about 3,900 tokenswhen the skill loads
GitHub stars
37on twilio/ai
Scripts
None found

What it does

“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.”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill guides developers through Twilio's mandatory registration and compliance programs before messaging and voice traffic can flow. It covers A2P 10DLC, toll-free verification, WhatsApp WABA, RCS, voice trust programs like STIR/SHAKEN and Voice Integrity, and explains opt-in requirements, consent tiers, and common rejection reasons. Registration must complete before numbers or senders become active.

When to use it

  • Setting up US local numbers (10DLC) for SMS campaigns
  • Registering toll-free numbers for SMS in US and Canada
  • Onboarding WhatsApp Business Account senders
  • Establishing voice trust programs for outbound calls

When not to

  • Using Twilio Verify for one-time passwords, which requires no registration
  • Sending messages after registration is already complete and verified
  • Landing on this skill without first selecting appropriate number types

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add twilio/ai --skill twilio-compliance-onboarding

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install twilio/ai twilio-compliance-onboarding@8aba46fb65dc8d9a20f4b301a68352064b4159a5

Installs the commit we checked (8aba46f).

Copy by hand

Download the folder at 8aba46f and put it in .claude/skills/twilio-compliance-onboarding for Claude Code and in .agents/skills/twilio-compliance-onboarding for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at 8aba46f

Claude Code plugin

/plugin install twilio-developer-kit@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "twilio-compliance-onboarding" by Twilio.

Source, pinned to commit 8aba46fb65dc8d9a20f4b301a68352064b4159a5:
https://github.com/twilio/ai/tree/8aba46fb65dc8d9a20f4b301a68352064b4159a5/skills/twilio/twilio-compliance-onboarding

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/twilio-compliance-onboarding/ for Claude Code and .agents/skills/twilio-compliance-onboarding/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/twilio/twilio-compliance-onboarding

SKILL.md at the pin

---
name: twilio-compliance-onboarding
description: >
  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.
---

## Overview

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`)

---

## Decision Tree: What Do I Need to Register?

### Messaging Programs

| Sender type | Registration program | Timeline | Docs |
|-------------|---------------------|----------|------|
| US local (10DLC) | **A2P 10DLC** — brand + campaign | Brand: minutes. Campaign: 10-15 business days | [Overview](https://www.twilio.com/docs/messaging/compliance/a2p-10dlc) \| [Quickstart](https://www.twilio.com/docs/messaging/compliance/a2p-10dlc/quickstart) |
| US toll-free | **Toll-free verification** | 3-5 business days | [Console onboarding](https://www.twilio.com/docs/messaging/compliance/toll-free/console-onboarding) \| [Requirements](https://help.twilio.com/articles/5377174717595-Toll-Free-Message-Verification-for-US-Canada) |
| US short code | **Pre-approved at purchase** | 8-12 weeks provisioning | [Guidelines by country](https://www.twilio.com/en-us/guidelines/short-code) \| [What is a short code?](https://help.twilio.com/articles/223182068-What-is-a-Messaging-Short-Code-) |
| WhatsApp | **WABA + Meta Business Verification** | Minutes (sender) + weeks (Meta verification) | [Self sign-up](https://www.twilio.com/docs/whatsapp/self-sign-up) \| [Getting started](https://help.twilio.com/articles/360007721954-Getting-Started-with-Twilio-for-WhatsApp) |
| RCS | **Google + carrier approval** | 4-6 weeks minimum, longer multi-region | [RCS onboarding](https://www.twilio.com/docs/rcs/onboarding) \| [Compliance guide](https://help.twilio.com/articles/49174994355355-RCS-Compliance-Onboarding-Guide) |
| Alpha Sender ID | **Registration in some countries** | Varies by country | [How to register](https://help.twilio.com/articles/20153208099611-How-to-Register-an-Alphanumeric-Sender-ID) |
| International numbers | **Regulatory bundle** (many countries) | Varies | [Getting started](https://www.twilio.com/docs/phone-numbers/regulatory/getting-started) \| [How to submit](https://help.twilio.com/articles/8338625205147-How-to-Submit-a-Regulatory-Bundle-for-Phone-Number-Regulatory-Compliance) |
| Twilio Verify | **Exempt** — no registration needed | Immediate | — |

### Voice Trust Programs

| Program | What it does | Vetting timeline | Docs |
|---------|-------------|-----------------|------|
| **STIR/SHAKEN** | Level A attestation = trusted caller ID | 24hr (Business Profile) + 72hr (Trust Product) | [Overview](https://www.twilio.com/docs/voice/trusted-calling-with-shakenstir) \| [Onboarding](https://www.twilio.com/docs/voice/trusted-calling-with-shakenstir/shakenstir-onboarding) |
| **Voice Integrity** | Registers numbers with carriers to remediate spam labels | 24-48hr (profile) + 24-48hr (remediation) | [Overview](https://www.twilio.com/docs/voice/spam-monitoring-with-voiceintegrity) \| [Onboarding](https://www.twilio.com/docs/voice/spam-monitoring-with-voiceintegrity/voice-integrity-onboarding) |
| **Branded Calling (US)** | Verified name + logo on mobile caller ID | Public Beta (T-Mobile, Verizon) | [Overview](https://www.twilio.com/docs/voice/branded-calling) \| [FAQ](https://help.twilio.com/articles/22312096414363-Branded-Calls-FAQ) |
| **Branded Calling (Non-US)** | Verified caller ID branding for international numbers | Availability varies by country/carrier | [Overview](https://www.twilio.com/docs/voice/branded-calling) |
| **CNAM** | Business name on outbound caller ID | 48-72hr propagation | [Overview](https://www.twilio.com/docs/voice/brand-your-calls-using-cnam) \| [Getting started](https://help.twilio.com/articles/360051670533-Getting-Started-with-CNAM-Caller-ID) |

**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 — Deep Dive

A2P 10DLC is the most common program and the most common source of onboarding delays.

### Registration Flow

1. **Create Customer Profile** — Business identity in Trust Hub (required for all programs)
2. **Register Brand** — EIN, business name, address, website. TCR typically approves within minutes. Respond to OTP verification within 24 hours. [Brand best practices](https://help.twilio.com/articles/4405758341659-A2P-10DLC-Brand-Approval-Best-Practices)
3. **Register Campaign** — Use case, 2+ sample messages, opt-in proof, privacy policy. Review takes 10-15 business days. [Campaign best practices](https://help.twilio.com/articles/11847054539547-A2P-10DLC-Campaign-Approval-Best-Practices)
4. **Associate phone numbers** — Link numbers to campaign via Messaging Service

### Message Flow (Opt-In Documentation)

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:**
1. Description of opt-in method(s) with clear language inviting users to sign up (no pre-checked boxes)
2. Message frequency (e.g., "Up to 4 msgs/month")
3. "Message and data rates may apply" disclosure
4. Link(s) to opt-in image/mockup (must be publicly accessible)

**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.

### Consent Requirements

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:**
- Consent is per-campaign. Signing up for order updates does NOT grant consent for promotions. Separate opt-ins required.
- Consent must be voluntary. If customers must opt in to messaging to complete a purchase or create an account, the registration **will be rejected**.
- Brand name must appear in the consent disclosure — generic "you agree to receive texts" is insufficient.

### Privacy Policy & Terms and Conditions

Both are required. Registrations without them are rejected.

**Privacy policy must include:**
- What data you collect and how it's used
- That mobile information will NOT be shared with third parties for marketing (CTIA requirement)

**Terms and conditions must include:**
- Program/brand name and description
- "Message and data rates may apply"
- Message frequency or recurring message disclosure
- Customer support contact information
- **HELP and STOP opt-out instructions (displayed in bold)**
- Link to privacy policy
- "Carriers are not liable for any delayed or undelivered messages"

**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.

### Mixed Use Case Campaigns

If you send both marketing and transactional messages (e.g., order confirmations AND promotions), use the **Mixed** campaign use case:

- Select "Mixed" as the campaign use case during registration
- Allows 2-5 sub-use cases within one campaign (e.g., Customer Care, Marketing, Account Notification, 2FA, PSA)
- Describe each sub-use case clearly in the campaign description
- Sample messages must cover each declared sub-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.

### Campaign Rejection Gotchas

| 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).

### Registration Tiers

| 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](https://help.twilio.com/articles/4403988619163-Secondary-Vetting-for-A2P-10DLC) |

Russell 3000 companies qualify for 200,000 segments/day automatically.

### Common Errors

| 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 |

---

## Toll-Free Verification

Required for US/Canada toll-free SMS. Simpler than A2P 10DLC.

- Submit via Console (Active Numbers → Regulatory Information tab) or [API](https://www.twilio.com/docs/messaging/compliance/toll-free/api-onboarding)
- Requires: paid account, Customer Profile, business name, website, use case description, sample message, opt-in type
- **Unverified toll-free numbers cannot send SMS to US/Canada** — status shows "Restricted"
- If rejected: resubmit within 7 days for priority review. After 7 days, number reverts to Restricted and resubmission goes to back of queue
- ISVs must have an approved Primary Business Profile before submitting for secondary customers
- 527 political organizations require Campaign Verify tokens before Console submission
- Don't use multiple toll-free numbers for the same use case ("snowshoeing")

**Docs:** [Console onboarding](https://www.twilio.com/docs/messaging/compliance/toll-free/console-onboarding) | [Why rejected?](https://help.twilio.com/articles/9321443984155-Why-Was-My-Toll-Free-Verification-Rejected-)

---

## WhatsApp WABA Registration

### Self-Signup Flow (Direct Customers)

1. Console → Messaging → Senders → WhatsApp Senders → "Create new sender"
2. Select phone number (Twilio or non-Twilio — must not already be registered with WhatsApp)
3. Click "Continue with Facebook" → Meta Embedded Signup popup
4. Create or select Meta Business Portfolio
5. Create or select WABA (all senders on same Twilio account must share one WABA)
6. Set display name, category, description — Meta reviews display name post-registration
7. Phone verification via OTP (SMS or voice)
8. Registration completes within minutes

### Post-Registration Requirements

- **Meta Business Verification required** before production messaging — can take several weeks
- If display name rejected by Meta, messaging is limited to 250 messages/24 hours
- Outbound messages require pre-approved **Message Templates** (submitted to Meta, 24-48hr approval)
- Free-form messages only within 24-hour service window after customer initiates

### ISV Path

Enroll in Meta's **Tech Provider Program** to onboard customers. Different flow from self-signup.

**Docs:** [Self sign-up](https://www.twilio.com/docs/whatsapp/self-sign-up) | [WhatsApp hub](https://www.twilio.com/docs/whatsapp)

---

## RCS Onboarding

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](https://www.twilio.com/docs/rcs/onboarding) | [Compliance guide](https://help.twilio.com/articles/49174994355355-RCS-Compliance-Onboarding-Guide) | [Regional availability](https://www.twilio.com/docs/rcs/regional)

---

## CANNOT

- **Cannot skip A2P registration for US 10DLC** — Mandatory for all senders, no exceptions for small volume
- **Cannot register Sole Proprietor A2P via API** — Console only
- **Cannot combine unrelated use cases without Mixed campaign** — Use the "Mixed" use case category to register 2-5 sub-use cases under one campaign
- **Cannot require A2P registration for Verify traffic** — Twilio Verify is exempt from A2P registration
- **Cannot use voice trust programs without Trust Hub** — All voice programs require an approved Trust Hub Primary Customer Profile
- **Cannot use Branded Calling on landlines** — Mobile-only. US: Public Beta (T-Mobile, Verizon). Non-US: availability varies by country and carrier — check eligibility for your specific numbers. Use CNAM for landlines.

---

## Next Steps

- **Channel overview and onboarding guide:** `twilio-messaging-overview`
- **Choose the right number type first:** `twilio-numbers-senders`
- **Follow traffic rules after registration:** `twilio-compliance-traffic`
- **Set up Messaging Services for number pools:** `twilio-messaging-services`
- **Send SMS after registration:** `twilio-sms-send-message`
- **Secure your account:** `twilio-security-hardening`

From twilio/ai at 8aba46f, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.

View SKILL.md on GitHub at 8aba46f

Files

4 files, 32 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at 8aba46f
All 50 skills from Twilio

More from Twilio

  • twilio-account-setup

    Sets up a Twilio account from scratch, including free trial signup, credential retrieval, phone number purchase, and enabling specific products like AI…

    Claude Code, Codex, Cursor +4 · about 2.5K tokens · pinned 6 days ago

  • twilio-agent-augmentation-architect

    This skill helps developers design AI-augmented contact center systems that enhance human agents with real-time intelligence.

    Claude Code, Codex, Cursor +3 · about 3.6K tokens · pinned 6 days ago

  • twilio-agent-connect

    Twilio Agent Connect is middleware that integrates LLM agents with Twilio communication channels (voice, SMS, RCS, WhatsApp, chat).

    Claude Code, Codex, Cursor +4 · about 4.1K tokens · pinned 6 days ago

  • twilio-ai-agent-architect

    Planning skill that helps developers design AI-powered conversational agents by assessing their use case across outcome sophistication, channels, and customer…

    Claude Code, Codex, Cursor +3 · about 4.9K tokens · pinned 6 days ago

  • twilio-call-recordings

    This skill teaches agents to record Twilio voice calls correctly using the appropriate method for the use case.

    Claude Code, Codex, Cursor +4 · about 2.6K tokens · pinned 6 days ago

  • twilio-cli-reference

    The Twilio CLI reference enables agents to manage Twilio resources directly from the terminal, including phone number provisioning, sending SMS and email…

    Claude Code, Codex, Cursor +4 · about 1.8K tokens · pinned 6 days ago

All Cloud and DevOps skills
  • create-phone-number

    The skill provisions, imports, routes, updates, and verifies phone numbers through the Vapi API.

    by VapiOfficial publisher

    Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago

  • create-phone-number

    This skill enables agents to provision, import, route, and manage Vapi phone numbers via the public API.

    by VapiOfficial publisher

    Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago

  • twilio-numbers-senders

    This skill helps developers select the right Twilio sender before building their application, comparing US number types (local 10DLC, toll-free, short code)…

    by TwilioOfficial publisher

    Claude Code, Codex, Cursor +4 · about 3.3K tokens · pinned 6 days ago

  • twilio-organizations-setup

    This skill guides setup and management of Twilio Organizations, the top-level container for account governance, user roles, and security policies.

    by TwilioOfficial publisher

    Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago

  • n8n-cli

    This skill enables agents to manage n8n workflows, credentials, executions, and instance resources via the n8n CLI command-line tool.

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 6 days ago

  • managing-streamlit-apps

    Manage Streamlit apps running in PostHog sandboxes through the full lifecycle: create, set or edit source code, start and stop the sandbox, poll status, and…

    by PostHogOfficial publisher

    Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use