> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dmly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Ask for a phone number

> Use the Request Phone Number step to ask a WhatsApp contact to share their number when you don't have one on file.

WhatsApp lets people message a business by username, without ever revealing a phone number.
When that happens the conversation lands in your Inbox with no phone on the contact — so you
can't call them, text them, or include them in a broadcast that needs a number. The **Request
Phone Number** step asks the contact to share it, and saves what they send straight onto the
contact.

This step is WhatsApp-only. It sits in the WhatsApp group of the flow builder palette and has
no equivalent on Messenger, Instagram, Telegram, SMS or the LiveChat widget.

<Warning>
  The one-tap share is built against WhatsApp API behaviour that has not been confirmed against
  a live number yet — both the request DMLY sends and the reply it reads back. Test this step on
  a real conversation before you rely on it in a live flow, and keep the typed-reply fallback in
  mind (below) as the path most likely to work today.
</Warning>

## What the step does

Add **Request Phone Number** to a flow and it sends the contact a request to share their
number. It has a single output, **RECEIVED**, which the flow continues out of on the contact's
next reply — whether or not that reply actually contains a number.

The number is saved to the contact's phone field only when the reply reads as a phone number:
7 to 15 digits, optionally starting with `+`. Anything else continues out **RECEIVED** with no
phone saved, so a stray reply never overwrites a good number with junk. Once a number is saved
the contact behaves like any other phone-based contact — you can message them, and they can be
matched to future conversations. Whatever you put after this step should cope with a contact
who still has no phone.

## How it asks

DMLY picks one of three routes depending on the conversation:

<Steps>
  <Step title="Inside the 24-hour window">
    The contact gets a native WhatsApp prompt they can answer with one tap to share their
    number. This is the best experience and needs no template.
  </Step>

  <Step title="Outside the 24-hour window">
    WhatsApp doesn't allow freeform prompts outside the window, so DMLY falls back to the
    approved `dmly_request_phone` template. See [WhatsApp rules and limits](/channels/whatsapp-limits)
    for what the window is.
  </Step>

  <Step title="The contact just types it">
    The message doubles as an "or reply with your number" prompt, so a contact who types their
    number instead of tapping is still captured.
  </Step>
</Steps>

<Note>
  Outside the window, if `dmly_request_phone` isn't approved by Meta, the step does **not**
  stall the flow — it continues straight out **RECEIVED** without asking, and without a number.
  Inside the window no template is involved, so approval doesn't matter there. Check your
  template status before publishing: see [Message templates](/broadcasts/message-templates).
</Note>

## Only ask when you need to

Asking a contact who already gave you their number is a bad look. Put a **Has a phone number**
**is** **No** condition in front of the step so it only fires when one is genuinely missing.

<Tip>
  The ready-made **Ask for phone number when missing** template does exactly this — it checks
  for a phone, asks only if there isn't one, sends a thank-you, and skips the ask entirely for
  contacts who already have a number. Install it from the templates picker when you create a new
  automation. See [Automation templates](/automation/templates).
</Tip>

## Build it yourself

<Steps>
  <Step title="Open the flow builder">
    Create or open an automation on a WhatsApp channel. See [Flow builder](/automation/flow-builder).
  </Step>

  <Step title="Add a condition first">
    Branch on whether a phone number exists, so the ask is skipped for contacts you can already
    reach. Both branches need their own connection — an unconnected branch blocks publishing.
  </Step>

  <Step title="Add Request Phone Number">
    Drop the step on the "no phone" branch.
  </Step>

  <Step title="Continue from RECEIVED">
    Connect the **RECEIVED** output to whatever comes next — a thank-you message, a booking
    step, or the end of the flow.
  </Step>
</Steps>

## Related

<Columns cols={2}>
  <Card title="Flow builder" icon="diagram-project" href="/automation/flow-builder">
    How steps, outputs and connections fit together.
  </Card>

  <Card title="Common mistakes" icon="triangle-exclamation" href="/automation/common-mistakes">
    Unconnected branches and other reasons a flow won't publish.
  </Card>

  <Card title="WhatsApp rules and limits" icon="whatsapp" href="/channels/whatsapp-limits">
    The 24-hour window and when a template is required.
  </Card>

  <Card title="Contacts" icon="address-book" href="/contacts/overview">
    How a contact's phone number is used once it's on file.
  </Card>
</Columns>
