Pre-launch: WaBulkSend is not open to users yet. The features described on this page are what we are building, not software you can log in and use today. Join the waitlist and we will email you when access opens.

🆔 Updated August 2026

WhatsApp Username and BSUID: What Changes for WhatsApp Business Bulk Messaging

WhatsApp is rolling out usernames, and every messages webhook now carries a business-scoped user ID whether your customer uses one or not. Phone numbers have not gone away. They keep arriving for anyone you have exchanged a message with in the last 30 days and for anyone in your contact book, and uploading a list of numbers still works exactly as before.

Identifier format, webhook rules and dates quoted from Meta's business-scoped user IDs documentation, corroborated against Twilio's changelog and Infobip's WhatsApp integration docs.

Will you still get a phone number?

No sign in

Meta includes the phone number in webhooks when you have messaged or called that number, or received a message or call from it, within the last 30 days. Nothing in your current workflow changes for this contact.

Anyone in your contact book keeps their phone number visible in webhooks regardless of whether they adopt a username. The contact book is scoped to the whole business portfolio, so a pairing captured on one number is available to the others.

You will receive a business-scoped user ID instead. From July 2026 that is a valid address on its own: set the recipient field to the BSUID and omit the phone number. One-tap, zero-tap and copy code authentication templates still require a real phone number. Ask for it inside the conversation, or use the contact info request button, before you need to deliver a code.

Phone number in webhook
Address the message with
BSUID present Always

The BSUID is assigned to the user_id parameter and appears in every messages webhook, whether or not the person has turned on the username feature. Phone number visibility is the part that varies.

Join the waitlist

30 days

How long a single message or call keeps a customer's phone number visible in your webhooks.

Always

A BSUID arrives in every messages webhook, username or not. It has been doing so since April 2026.

128

Maximum alphanumeric characters after the country prefix. Size your database column accordingly.

3 types

One-tap, zero-tap and copy code authentication templates still need a real phone number.

What is a BSUID in WhatsApp?

A BSUID is a business-scoped user ID. Meta's own definition is short: it is "a unique user identifier that can be used to message a WhatsApp user when you don't know their phone number." It exists because WhatsApp is adding usernames, and a person who picks a username can be reached without ever handing over a number.

The identifier is not random. It carries the user's two-letter ISO 3166 country code, then a period, then up to 128 alphanumeric characters. Meta's published example is US.13491208655302741918. Enterprise accounts also see a parent BSUID in the shape US.ENT.506847293015824, which groups the child identifiers under one organization.

The word "business-scoped" is the important part. The same customer has a different BSUID at every company they talk to, because the identifier is unique to each business portfolio and user pair. Nobody can take a BSUID from one vendor's database and use it to reach that person somewhere else, which is the whole privacy point of the design.

One behavior catches teams out. Meta regenerates a BSUID when the user changes their phone number, and that regeneration fires a system messages webhook. If you do not listen for it you will quietly end up with two records for the same person, one dead and one live.

Identifier Example shape Where it appears Stable?
Phone number +15551234567 Webhooks, only under the 30 day or contact book conditions below Changes when the customer ports or switches
BSUID US.13491208655302741918 The user_id parameter in every messages webhook, always Regenerated if the user changes phone number
Parent BSUID US.ENT.506847293015824 Alongside the BSUID for enterprise portfolios Groups child identifiers under one organization
Username chosen by the user Shown in the app in place of the number, once adopted The user can change it

Formats and webhook placement are taken from Meta's business-scoped user IDs documentation. If you are wiring up the receiving side for the first time, the WhatsApp webhook setup walkthrough covers verification, signatures and the retry behavior these payloads arrive with.

Will WhatsApp usernames hide my customers' phone numbers?

Sometimes, but far less often than the warnings suggest. Meta includes a user's phone number in webhooks if you messaged or called that number in the last 30 days, if you received a message or call from it in the last 30 days, or if the user is in your contact book. A brand new contact who has adopted a username and never spoken to you is the case where you get a BSUID and nothing else.

1

You messaged them recently

Any message or call you sent to that phone number in the last 30 days keeps the number flowing into your webhooks. An active campaign list refreshes itself.

2

They messaged you recently

The same 30 day rule runs in the inbound direction. A reply, a question or an inbound call all reset the clock on number visibility.

3

They are in your contact book

The contact book has no expiry. Once a phone number and BSUID pair is stored there, the number stays visible even after the customer adopts a username.

The contact book is the part worth understanding

Meta's contact book stores the phone number and BSUID pair automatically. Its documentation puts it plainly: once the feature is available, if you send a message or call to a user's phone number, or receive a message or call from a user's phone number, that user's phone number and BSUID are added to your contact book. It is scoped to the business portfolio, so a pairing captured by one business phone number is available to the others in the same portfolio.

Two limits matter. Users can switch the behavior off in Meta Business Suite settings, so the contact book is not guaranteed for every customer. And per Infobip's documentation it only captures interactions that occurred after early April 2026, with no historical backfill. A customer you last spoke to in 2025 and have not touched since is not in it.

The practical read: a list you actually message stays fully addressable by phone number, because every send refreshes the 30 day window and feeds the contact book. A dormant list you have not touched since before April 2026 is the one that degrades. If reactivating old contacts is on your roadmap, doing it sooner is now worth real money.

Can I still send bulk WhatsApp messages to a list of phone numbers?

Yes. Phone numbers remain a valid way to address a message, and a list you already own keeps working. Meta added a second option rather than removing the first. From July 2026 you can address a message by setting the recipient field to a BSUID and omitting the phone number, which means a customer who never shares a number is still reachable.

Job to do Before usernames Now
Upload a CSV of customer numbers Phone number per row Unchanged. Phone numbers are still accepted as recipients
Message someone who only has a username Not possible Set recipient to the BSUID and omit the phone number
Match an inbound reply to a CRM record Match on the from field as an E.164 number Match on the BSUID first, fall back to the phone number
Deliver a one-tap or copy code OTP Phone number Still phone number only. These template types do not accept a BSUID
Deduplicate a customer across two of your numbers Compare phone numbers Compare BSUIDs, which are shared across the portfolio

The authentication template exception is documented by Infobip, which lists a BSUID as a valid recipient for any message type except one-tap, zero-tap and copy code authentication templates. If OTP delivery is your use case, the WhatsApp OTP API guide covers the template types in detail.

What does not change

  • Opt-in rules. You still need permission and you still need to have obtained the contact legitimately.
  • Template approval, categories and the 24 hour customer service window.
  • Messaging limits and quality rating, which govern how much you can send per day.
  • The ban on sending to purchased lists, which a BSUID does nothing to soften.

What quietly breaks

  • Any code that assumes the from field is always an E.164 phone number.
  • Database columns sized for 15 characters. A BSUID needs room for 128 plus the prefix.
  • Attribution and billing keyed only on phone number.
  • Duplicate detection that never listens for the system webhook fired when a BSUID regenerates.

When do WhatsApp usernames launch?

The rollout is staged through 2026 rather than flipped on in one day. BSUIDs started appearing in webhooks in April 2026, username reservation opened on June 29 2026, and from July 2026 the send APIs accept a BSUID as a recipient. Meta is releasing usernames gradually by region and has said the timeline can change.

April 2026

BSUIDs go live in webhooks

The user_id parameter starts arriving on every messages webhook. The contact book begins recording phone number and BSUID pairs, with no backfill of earlier interactions.

June 29 2026

Username reservation opens

Businesses can claim a reserved username, and adoption starts in pilot regions first rather than everywhere at once.

July 2026

Sending to a BSUID

The APIs accept a BSUID or parent BSUID in the recipient field. The contact info request button becomes available for asking a customer to share their number.

Through 2026

Gradual regional rollout

Username adoption spreads region by region on a schedule Meta controls. Numbers do not disappear on a fixed date, they thin out as adoption grows.

What to do this quarter

The work is small if you do it now and irritating if you do it under pressure. Add a BSUID column to your contact table, sized for the prefix plus 128 characters. Capture the value on every inbound webhook, whether or not a phone number came with it. Stop treating the from field as an E.164 string. Subscribe to system messages so you catch the regeneration event when a customer changes number.

Then look at your dormant contacts. Anyone you have not messaged since before April 2026 is outside both the 30 day window and the contact book, so if they adopt a username you lose the number. A re-engagement campaign has always been good hygiene. This gives it a deadline.

WhatsApp username and BSUID questions

Does BSUID break one-time password and authentication templates?

It affects the special ones. Infobip's documentation states that a BSUID is a valid recipient for any message type except one-tap, zero-tap and copy code authentication templates, which still require a phone number. If you deliver OTP codes through those template types, keep a phone number on file and ask for it inside the conversation before you need it.

Do I need to store BSUIDs in my CRM?

Store it alongside the phone number rather than instead of it. The BSUID arrives in every messages webhook whether or not the customer uses a username, so capturing it now costs one database column and removes the risk later. Code that assumes the from field is always an E.164 phone number is the part that actually needs changing.

Does a BSUID change when a customer changes their phone number?

Yes. Meta regenerates the BSUID when a user changes their phone number, and that regeneration triggers a system messages webhook. Treat that webhook as the signal to update the stored identifier rather than creating a duplicate contact record, otherwise the same person accumulates two profiles in your CRM.

What is the WhatsApp contact book?

The contact book is a portfolio-level store that pairs a customer's phone number with their BSUID. Meta adds the pair automatically when you send a message or call to a phone number, or receive one from it. Once a user is in it, their phone number keeps appearing in webhooks even if they adopt a username. It only records interactions from early April 2026 onward and holds no history before that.

Is the same BSUID shared between two businesses?

No, and that is the point of the design. A BSUID is unique to each business portfolio and user pair, so one customer has a different identifier at every company they message. It is useful for deduplicating a person across your own business phone numbers within one portfolio, and useless for identifying them anywhere else.

Can a customer stop their phone number being stored?

Yes. The contact book behavior can be disabled by the user in Meta Business Suite settings, so you cannot treat it as guaranteed coverage. Design your workflow so a missing phone number is a normal case rather than an error, and make the BSUID the primary key you rely on.

How long can a BSUID be?

Up to 128 alphanumeric characters after the two-letter country code and period. Twilio, which exposes the value with a whatsapp: prefix in the shape whatsapp:CC.BSUID, documents a maximum of 140 characters including that prefix. Sizing a column at 15 characters because phone numbers fit there is the most common integration bug in this rollout.

Does any of this change WhatsApp's bulk messaging rules?

No. Usernames change how a person is addressed, not what you are allowed to send them. Opt-in is still required, template categories still apply, messaging limits and quality rating still govern daily volume, and purchased lists are still prohibited. The WhatsApp bulk messaging rules are unchanged by this rollout.

Campaigns built for identifiers, not just numbers

WaBulkSend will store the business-scoped user ID next to every contact, so a customer who adopts a username stays reachable and stays a single record. Join the waitlist for early access.

Join the waitlist