In this article you'll learn how to ask for the phone number of users who message you on WhatsApp without sharing it, how to add the Request contact details action to your flow, and how it behaves when the user agrees or prefers not to share their number.
Request contact details is a WhatsApp action that asks the user to share their phone number within the conversation. With the arrival of WhatsApp usernames, more and more people can message your business without sharing their number: in those cases the ${whatsappNumber} variable comes in empty and you only have the BSUID. This action lets you request that data when your operation truly needs it.
You can:
Before you start, keep in mind that this action becomes relevant as your users activate their WhatsApp username and start contacting you without sharing their number. To understand the full context of this change (BSUID, usernames, and variables), we recommend first reading the related article we link at the end.
Key concepts
Request contact details: a WhatsApp action that sends the user a request to share their phone number within the conversation.
${whatsappNumber}: a variable that contains the phone number only when the user has shared it explicitly. If they never shared it, it stays empty.
BSUID (Business Scoped User ID): a unique, anonymous identifier that Meta generates for each user-and-business combination when the user does not share their phone number.
Contact shared: an event that runs only the first time the user shares their number, letting you define a specific path in the flow.
Non-blocking request: the flow always continues downward, whether or not the user shares their number. The action does not stop or block the conversation.
Step 1: Add the action to your flow
In the flow editor, add a new action and select Action → Channels → WhatsApp → Request contact details.

You can place this action at any point in the flow where you need to have the user's phone number.
Step 2: Understand how the action behaves
The action is designed to resolve the request on its own:
That's why the action has two outputs and that particular shape in the diagram: one branch for when the number already exists and another for the moment the user shares it.

Step 3 (optional): Condition the request with the variable
If you want more precise control over when the number is requested, you can add a condition in front that evaluates the ${whatsappNumber} variable:


Note: conditioning the request avoids asking again for the number from someone who already shared it. Without the condition, the action shows the message again every time the user returns to the conversation without having shared their number.
Step 4: How the user sees it in WhatsApp
When the action runs, the user receives the request to share their contact (for example, alongside a Share Contact Info button) and the conversation waits for their response.

When they tap the button, WhatsApp shows them which data they'll share (phone number and username) before confirming the send.

Step 5: What happens when the user shares (or not) their number
When the user shares the contact, the number becomes available in the ${whatsappNumber} variable and, only the first time, the flow runs the Contact shared path, where you can define whatever steps you want (for example, a confirmation message).

If the user prefers not to share their number, the flow continues downward all the same: the request is non-blocking and there is no "I'd rather not share" button. That's why any part of your flow that depends on the phone number must account for the fact that a portion of users won't share it, handling it with the condition from Step 3.
Note on testing: for now there's no direct way to test this flow from your account. To see it work, you need to make first contact from a WhatsApp line that has the username enabled without sharing the phone number, which depends on Meta enabling the username rollout.
For the full context on usernames, the BSUID, and WhatsApp variables, see the article "WhatsApp implements usernames and a new account identifier (BSUID)".
Remember to visit our Help Center for further information.