
Twilio Regulatory Compliance Bundles
- 76 installs
- 26 repo stars
- Updated July 29, 2026
- twilio/ai
twilio-regulatory-compliance-bundles is an agent skill for creating, evaluating, and submitting Twilio Regulatory Compliance bundles to provision international phone numbers.
About
The twilio-regulatory-compliance-bundles skill manages identity verification required before provisioning phone numbers in many countries. It queries the Regulations API for country and number-type requirements, creates End-User records for individuals or businesses, uploads Supporting Documents, assembles a Bundle with item assignments, runs synchronous Evaluations that return field-level failures, and submits approved bundles for review before number purchase. The skill covers updating approved bundles when regulations change via Bundle Copies and Replace Items without deprovisioning numbers, plus ISV multi-account patterns using Bundle Clones where each customer needs their own bundle. Critical constraints include locality-matching addresses in roughly thirty-three countries, dynamic regulation queries instead of hardcoded rules, and prohibition on reusing ISV business data in customer bundles. Provisioning fails immediately when a required bundle is missing. Use whenever buying Twilio numbers outside the United States or operating multi-tenant compliance workflows.
- Queries Regulations API dynamically per country and number type.
- Creates End-Users, Supporting Documents, and Bundle item assignments.
- Runs synchronous Evaluations with field-level failure feedback before submission.
- Documents bundle update and ISV Bundle Clones multi-account patterns.
- Warns about locality-matching addresses and audit rules for end-users.
Twilio Regulatory Compliance Bundles by the numbers
- 76 all-time installs (skills.sh)
- +3 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #3,059 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
- Data as of Jul 30, 2026 (Skillselion catalog sync)
twilio-regulatory-compliance-bundles capabilities & compatibility
- Capabilities
- dynamic regulation requirement lookup · end user and supporting document creation · bundle assembly and item assignment · synchronous bundle evaluation before submission · isv bundle clones multi account pattern
- Use cases
- api development
What twilio-regulatory-compliance-bundles says it does
If a country requires a bundle, provisioning fails without one.
npx skills add https://github.com/twilio/ai --skill twilio-regulatory-compliance-bundlesAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 76 |
|---|---|
| repo stars | ★ 26 |
| Last updated | July 29, 2026 |
| Repository | twilio/ai ↗ |
How do I provision Twilio phone numbers outside the US when identity verification bundles are required?
Create Twilio Regulatory Compliance bundles with End-Users and Supporting Documents, evaluate, submit, and provision international phone numbers outside the US.
Who is it for?
Developers provisioning international Twilio numbers or ISVs managing per-customer regulatory bundles.
Skip if: Skip for US-only number provisioning where bundles are not required.
When should I use this skill?
User asks to create regulatory bundles, verify end-users, or provision numbers in regulated countries.
What you get
An evaluated and submitted Regulatory Bundle linked to the correct End-User and documents for number provisioning.
Files
Overview
Phone numbers are national resources — many countries require identity verification of the end-user before provisioning. A Regulatory Bundle is a container holding an End-User record + Supporting Documents that proves your right to use numbers in a specific country.
Not all countries require bundles — check the Regulatory Guidelines page for country-specific requirements. If a country requires a bundle, provisioning fails without one.
---
Key Concepts
| Resource | What it is |
|---|---|
| Regulation | Country-specific requirement defining what End-User types and document types are needed |
| Bundle | Container that holds an End-User + Supporting Documents for a specific regulation |
| End-User | The entity answering calls or receiving messages (individual or business type) |
| Supporting Document | Identity/address verification documents (business registration, proof of address, etc.) |
| Evaluation | Synchronous check that validates a bundle against its regulation before submission |
| Item Assignment | Links an End-User or Supporting Document to a Bundle |
---
Quickstart: Provision a Number with a Bundle
Step 1 — Query the Regulation
Find out what's required for the country and number type:
Python
import os, requests
account_sid = os.environ["TWILIO_ACCOUNT_SID"]
auth_token = os.environ["TWILIO_AUTH_TOKEN"]
# What does Germany require for local business numbers?
regulations = requests.get(
"https://numbers.twilio.com/v2/RegulatoryCompliance/Regulations",
params={"IsoCountry": "DE", "NumberType": "local", "EndUserType": "business"},
auth=(account_sid, auth_token)
).json()
for reg in regulations["results"]:
print(f"Regulation: {reg['sid']}")
print(f"Requirements: {reg['requirements']}")Step 2 — Create an End-User
Python
end_user = requests.post(
"https://numbers.twilio.com/v2/RegulatoryCompliance/EndUsers",
data={
"FriendlyName": "Acme GmbH",
"Type": "business",
"Attributes": '{"business_name": "Acme GmbH", "business_registration_number": "HRB12345"}'
},
auth=(account_sid, auth_token)
).json()Step 3 — Upload Supporting Documents
Python
document = requests.post(
"https://numbers.twilio.com/v2/RegulatoryCompliance/SupportingDocuments",
data={
"FriendlyName": "Acme Business Registration",
"Type": "business_registration",
"Attributes": '{"business_name": "Acme GmbH"}'
},
auth=(account_sid, auth_token)
).json()Step 4 — Create a Bundle and Assign Items
Python
# Create the bundle
bundle = requests.post(
"https://numbers.twilio.com/v2/RegulatoryCompliance/Bundles",
data={
"FriendlyName": "Germany Local - Acme",
"RegulationSid": regulations["results"][0]["sid"],
"IsoCountry": "DE",
"EndUserType": "business",
"Email": "compliance@acme.com"
},
auth=(account_sid, auth_token)
).json()
bundle_sid = bundle["sid"]
# Assign End-User to bundle
requests.post(
f"https://numbers.twilio.com/v2/RegulatoryCompliance/Bundles/{bundle_sid}/ItemAssignments",
data={"ObjectSid": end_user["sid"]},
auth=(account_sid, auth_token)
)
# Assign Supporting Document to bundle
requests.post(
f"https://numbers.twilio.com/v2/RegulatoryCompliance/Bundles/{bundle_sid}/ItemAssignments",
data={"ObjectSid": document["sid"]},
auth=(account_sid, auth_token)
)Step 5 — Evaluate and Submit
Python
# Run evaluation (synchronous — returns field-level failures)
evaluation = requests.post(
f"https://numbers.twilio.com/v2/RegulatoryCompliance/Bundles/{bundle_sid}/Evaluations",
auth=(account_sid, auth_token)
).json()
if evaluation["status"] == "noncompliant":
for violation in evaluation["results"]:
print(f"Field: {violation['friendly_name']} — {violation['description']}")
# Fix the issues, then re-evaluate
else:
# Submit for review
requests.post(
f"https://numbers.twilio.com/v2/RegulatoryCompliance/Bundles/{bundle_sid}",
data={"Status": "pending-review"},
auth=(account_sid, auth_token)
)Step 6 — Provision Number with Bundle
Once the bundle is approved:
Python
from twilio.rest import Client
client = Client(account_sid, auth_token)
number = client.incoming_phone_numbers.create(
phone_number="+4930xxxxxxx",
bundle_sid=bundle_sid
)---
Updating an Approved Bundle
When regulations change, you'll receive an email. Update without deprovisioning numbers:
1. Copy the approved bundle into a mutable state via the Bundle Copies resource 2. Update the End-User or Supporting Document on the copy 3. Re-evaluate the copy 4. Replace items in the original bundle via the Replace Items resource
Phone numbers remain provisioned throughout this process.
Alternative: Create a new bundle → get it approved → remap numbers to the new bundle.
Docs: Bundle Copies | Replace Items
---
ISV / Multi-Account Pattern
If managing Twilio subaccounts for multiple customers:
- Each customer needs their own bundle — Do not reuse your business information in customer bundles
- Use the Bundle Clones resource to duplicate bundle structures across subaccounts
- End-User records must reflect the actual end-user (your customer), not you
Docs: Bundle Clones
---
CANNOT
- Cannot provision numbers without required bundles — Provisioning fails immediately. Check Regulations resource first.
- Cannot reuse one bundle across different number types — Each bundle is tied to a specific regulation (country + number type + end-user type).
- Locality-matching addresses required in ~33 countries — Germany (and others) require the End-User address to be within the region of the phone number prefix, not just any address in the country. US HQ address will fail for a Berlin number.
- Cannot hardcode regulation requirements — Regulations change periodically. Always query the Regulations resource dynamically.
- Do not create a new bundle when evaluation fails — Fix the existing bundle. Creating new ones wastes time and clutters your account.
- Cannot reuse your ISV info in customer bundles — Bundles must represent the actual end-user. Twilio audits this.
- Some markets are business-only — Individual provisioning not allowed. Check the
EndUserTypein the Regulation.
---
Next Steps
- Choose number type before provisioning:
twilio-numbers-senders - Register numbers after provisioning:
twilio-compliance-onboarding - Country-specific requirements: Regulatory Guidelines
- API reference: Regulatory Compliance API
interface:
display_name: "Regulatory Compliance Bundles"
short_description: "Manage regulatory compliance for international phone numbers. Covers bundle creation, End-Users, Supporting Documents, evaluation, and ISV multi-account patterns."
icon_small: "./assets/icon-small.png"
icon_large: "./assets/icon-large.png"
brand_color: "#EF223A"
default_prompt: "How do I provision international phone numbers with regulatory compliance on Twilio?"
policy:
allow_implicit_invocation: true
Related skills
FAQ
What does twilio-regulatory-compliance-bundles produce?
A Regulatory Bundle with End-User and Supporting Documents, evaluated and submitted for number provisioning approval.
When should I use twilio-regulatory-compliance-bundles?
When provisioning Twilio phone numbers outside the US where country-specific identity verification is required.
Is twilio-regulatory-compliance-bundles safe to install?
Review the Security Audits panel on this page before installing in production.