SUPPORT.TWILIO.COM END OF LIFE NOTICE: This site, support.twilio.com, is scheduled to go End of Life on February 27, 2024. All Twilio Support content has been migrated to help.twilio.com, where you can continue to find helpful Support articles, API docs, and Twilio blog content, and escalate your issues to our Support team. We encourage you to update your bookmarks and begin using the new site today for all your Twilio Support needs.

Webhook Payloads, Support, and Migration Options for Classic Conversations

Overview

With Meta’s introduction of WhatsApp usernames (BSUIDs), Twilio customers using Conversations (classic) need to understand how inbound WhatsApp messages from username-only users will be handled, what changes to expect in webhook payloads, and what migration options are available if support is not sufficient for their use case.

 

Frequently Asked Questions

Will Conversations (classic) support inbound WhatsApp messages from username-only users?

Yes. Twilio will add support for WhatsApp usernames (BSUIDs) in Conversations (classic) starting July 13, 2026. This means Conversations (classic) will be able to receive inbound messages from WhatsApp users who have a username (BSUID) instead of a phone number.

How will the BSUID/ExternalUserId appear in Conversations (classic) webhook payloads?

  • There is no change to the webhook payload structure for onConversationAddedonParticipantAddedonMessageAdded etc. events.
  • The identifier for the WhatsApp user will appear in the existing MessagingBinding.Address and Author field.

    E.x. - 

    • If the user’s phone number is available:
      MessagingBinding.Address: whatsapp:+15551234567
      Author: whatsapp:+15551234567
    • If only the BSUID is available:
      MessagingBinding.Address: whatsapp:US.ABC123XYZ
      Author: whatsapp:US.ABC123XYZ
  • The field will contain either the phone number or the BSUID, depending on what is present.

Example Payloads:

Phone Number Present:

{
  "AccountSid": "ACxxxxx",
  "ConversationSid": "CHxxxxx",
  "DateCreated": "2026-07-15T10:30:00Z",
  "EventType": "onConversationAdded",
  "MessagingServiceSid": "MGxxxxx",
  "ParticipantSid": "MBxxxxx",
  "MessagingBinding.Address": "whatsapp:+15551234567",
  "MessagingBinding.ProxyAddress": "whatsapp:+14155552671",
  "MessagingBinding.Type": "whatsapp"
}

Username (BSUID) Present:

{
  "AccountSid": "ACxxxxx",
  "ConversationSid": "CHxxxxx",
  "DateCreated": "2026-07-15T10:30:00Z",
  "EventType": "onConversationAdded",
  "MessagingServiceSid": "MGxxxxx",
  "ParticipantSid": "MBxxxxx",
  "MessagingBinding.Address": "whatsapp:US.ABC123XYZ",
  "MessagingBinding.ProxyAddress": "whatsapp:+14155552671",
  "MessagingBinding.Type": "whatsapp"
}

What if support is not sufficient for my use case?

If you require features not available in Conversations (classic) or need more flexibility, consider these options:

  • Migrate to the newer Conversations API: Offers enhanced features and future-proofing.
  • Use Programmable Messaging inbound webhooks: These already populate the ExternalUserId for WhatsApp username-only users.
  • Evaluate other supported Twilio products based on your integration needs.

 

Conclusion

  • Update your logic to handle both phone numbers and BSUIDs in the MessagingBinding.Address and Author field.
  • Monitor Twilio’s documentation for any further updates as the rollout approaches.
  • Test your integration with both types of identifiers to ensure a smooth transition.

Below you will find references to useful documents:

Have more questions? Submit a request
Powered by Zendesk