Provisioning creates a subaccount named with the business and org id, stores its SID and encrypted auth token on the account's SMS binding, and every subsequent Twilio call is made as that account. Accounts not yet migrated fall back to the platform account so nothing breaks mid-migration. Billing still rolls up to the platform account.
Also called: Twilio subaccount · ISV architecture · carrier reputation · other builders can't hurt my delivery
- 1At account creation, provisionTwilioSubaccount posts to the accounts endpoint using the parent credentials.
- 2The returned SID and auth token are stored on the SMS binding, the token encrypted.
- 3resolveTwilioAccount reads that binding for every later call — numbers, Messaging Service, A2P, call trust, voice tokens.
- 4A new row starts as pending_setup: owning a subaccount is not the same as being able to text.
- 5Provisioning is idempotent, so a retried onboarding cannot create a second subaccount.
The module quotes the vendor's own reasoning: subaccount-per-customer 'allows for easier analytics tracking and minimizes the impact of any potential noncompliant traffic from one customer on the rest of your customers'. The file then makes the stakes concrete: 'With hundreds of builders sharing one account, a single one buying a scraped list and collecting spam complaints degrades carrier reputation for everyone. Subaccounts contain that. Three of Twilio's six types are not merely worse, they are INCOMPATIBLE with A2P 10DLC — this is not a stylistic choice.' There is also a recorded defect, L2B-J9QBDW: one account 'carried the platform's own account SID in its binding, so this function returned { isSubaccount: true } while pointing at the agency account' — meaning the brand, campaign and numbers would have been created on the agency's account 'under the builder's name, pooling their carrier reputation with ours and with every other tenant in the same state.' It now reports that honestly instead.
- A shared carrier account meant one tenant's noncompliant traffic degraded delivery for all.
- A number bought by the parent account can never be attached to a subaccount's Messaging Service.
- An account storing the parent SID reported an isolation it did not have.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →