Skip to main content
Who can use this?
  • Gallabox users with Bot Builder access (Owners and Admins included)
Ask nodes pause the bot flow and wait for the customer to reply with a specific type of input — text, email, phone number, date, file, location, or a button/list selection. The response is stored in a variable for use in downstream nodes.

Plan Availability

How Ask Nodes Work

  1. The bot sends a question — the customer sees the message on WhatsApp
  2. The flow pauses — the bot waits for the customer’s reply
  3. The customer responds — the input is validated and stored in a variable you name
  4. The flow continues — the next node uses {{variable_name}} to insert the value
If the customer sends the wrong type of input (e.g., text when you asked for a phone number), the bot shows your configured retry message and stays on the same step.

Ask Node Types

Text Input Nodes

Ask Text

Collects any open-ended text response. No format validation. Example: Question: “What’s your order number?” → stores reply in {{order_number}} Use when you need free-form text — order IDs, names, notes, custom queries.

Ask Email

Validates that the input is a properly formatted email address (must contain @ and a domain). Example: Question: “Please share your email address for your account” → stored in {{contact_email}}

Ask Phone

Validates a phone number format. Supports international formats. Example: Question: “What’s the best number to reach you?” → stored in {{customer_phone}}

Request Phone Number

Sends WhatsApp’s native share your phone number prompt instead of asking the customer to type it. The customer taps Share and their number is captured automatically. Use this for contacts who reached you without a phone number — someone who messaged from a Click-to-WhatsApp ad or is identified only by their WhatsApp username. See Customer identity and BSUID. Example: Question: “Please share your phone number” → stored in {{customer_phone}} How it behaves:
  • The default question text is “Please share your phone number”. Edit it like any other Ask node.
  • If Gallabox already has the contact’s number, the node skips itself — it stores the number on file in your variable and moves straight to the next node without messaging the customer. You can safely put it in a flow that serves both kinds of contact.
  • Only a number shared through the prompt is accepted. If the customer forwards someone else’s contact card instead, the bot ignores it and retries.
  • The number is stored with its country code, for example +919876543210.
  • This node sends an interactive WhatsApp message, so it has no voice version — the Ask Option setting does not apply.
Pair it with a Condition node. If the variable is empty after the node runs, the customer declined to share — route them down a path that does not need a phone number rather than asking again.

Ask Number

Accepts only numeric input. Can be configured with min/max values. Example: Question: “How many units would you like to order?” → stored in {{quantity}} Validation: set min=1, max=1000 to restrict range.

Ask URL

Validates a properly formatted URL (must start with http:// or https://). Example: Question: “Share your website URL” → stored in {{website_url}}

Ask Date

Accepts natural language dates (“next Monday”, “December 15”). Example: Question: “When would you like your delivery?” → stored in {{delivery_date}} in YYYY-MM-DD format

Choice-Based Nodes

Ask Reply Buttons

Shows up to 3 tappable buttons. The customer taps instead of typing — reduces errors. Example: Question: “What do you need help with?”
Buttons: [Track Order] [Place Order] [Talk to Agent]
The selected button text is stored in your variable. Use a Condition node to branch based on the selection.

Ask List

Shows a structured list of options — scrollable, can have more options than buttons. Example: Question: “Select your department:“
Options: [Sales] [Support] [Billing] [Returns] [Other]

Ask Keyword Options

Matches the customer’s typed keyword against a list of predefined triggers. Example: Question: “Type ‘sales’ for Sales, ‘support’ for Support, ‘demo’ to book a demo” If customer types “sales” → {{keyword_response}} = “sales” → branch to sales flow.

Ask Collections List

Shows WhatsApp collections (product or service categories) as selectable options. Example: Question: “Browse our categories:” → sends a collection of category cards

Advanced Input Nodes (Essential+)

Ask Address

Collects a structured address with fields: street, city, state, postal code, country. Example: Question: “Please share your delivery address” → stored in {{delivery_address}} as structured JSON

Ask File

Asks the customer to upload a file — images, PDFs, or documents. Example: Question: “Upload your ID document for verification” → stored in {{id_document}} as a file reference Limits: WhatsApp supports files up to 16MB.

Ask Location

Asks the customer to share their current location. Example: Question: “Share your location to find the nearest store” → stored in {{customer_location}} as lat/long coordinates

Ask Form

Combines multiple fields into one screen — the customer fills in all fields in one go. Example: Collect booking details: name, email, phone, date, notes — all in a single form submission. Example configuration:
  • Field 1: Name (text)
  • Field 2: Email (email)
  • Field 3: Preferred date (date)
  • Field 4: Notes (text, optional)
To request a payment during a flow, use the Send WhatsApp Payment node — payments are a Send node, not an Ask node.

Validating Input

Each Ask node has built-in validation. You can also configure retry behavior:

Storing Responses in Variables

Every Ask node saves the customer’s response to a variable you name:
  1. Find the Variable name field in the Ask node
  2. Enter a descriptive name: customer_email, delivery_date, support_topic
  3. Use {{customer_email}} in any downstream Send node to personalise the message
Example flow:

Branching Based on Ask Responses

Use a Condition node after an Ask node to split the flow:
For Ask Reply Buttons:

FAQs

The customer is either:
  1. Sending the wrong type of input — e.g., typing text when you asked for a phone number
  2. Not responding at all — the session may have timed out
Check your retry message is clear: “Please enter a 10-digit phone number, e.g., 9876543210.” Also check the timeout setting — if the customer takes too long, the session expires and the flow restarts. Consider adding a Condition node that checks if the variable is empty after a timeout and routes to a different branch or sends a “Taking too long?” message.
Yes — Gallabox’s NLP understands natural language dates (“next Monday”, “December 15”, “in 3 days”). Dates are stored in ISO format (YYYY-MM-DD) in variables, so you can use them in calculations or comparisons with a Condition node.
Ask File requires the customer to upload a file. WhatsApp supports file uploads, but file size and type are limited by Meta’s API. For WhatsApp, an alternative is Ask Text with instructions like “Reply with your document name and we’ll send you a secure upload link.”
Add a Condition node after the Ask node that checks if the variable is empty:
You can also set a timeout in the Ask node that routes to a different branch if no response is received within the configured time.