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: customers can send files up to WhatsApp’s own limits. See Media and file requirements.

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)

Ask WhatsApp Payment

Sends a WhatsApp Pay payment request and waits until the customer pays. The flow then continues on one of two branches:
  • Success (green) — the payment went through.
  • Failure (red) — the payment failed.
Requires: WhatsApp Pay connected, with UPI, RazorPay, or PayU as the payment provider. Example: “Your order total is ₹500. Tap to pay:” → the customer pays inside WhatsApp → the success branch sends Payment received. Your order {{payment.orderId}} is confirmed. You set up the payment request the same way as in the Send WhatsApp Payment node: payment provider, order items, body text, and optional tax, shipping, and discount. Ask WhatsApp Payment adds two settings:
  • Store payment response in variable — saves the payment details in a variable. If you name it payment, you can use:
    • {{payment.paymentResult}} — the payment status
    • {{payment.orderId}} — the order ID
    • {{payment.transactionId}} — the transaction ID
    • {{payment.pgTransactionId}} — the payment provider’s transaction ID
  • Proceed to fallback — when this is on, any reply other than a payment sends the flow down a fallback branch. For example, the customer types a question instead of paying. When it’s off, the bot ignores other replies and keeps waiting for the payment.
If the customer never pays, the bot’s wait time applies, just like any other Ask node. If a payment fails and then succeeds later, the bot runs the success branch.
Use Send WhatsApp Payment when you only want to send the payment request and carry on with the flow. Use Ask WhatsApp Payment when the next step depends on whether the customer paid. Payment links from other gateways, such as a RazorPay link, don’t pause the bot.

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, and being nudged. If nudges are on, the bot asks the unanswered question again before it gives up.
Check your retry message is clear: “Please enter a 10-digit phone number, e.g., 9876543210.”If the customer doesn’t reply at all, the bot waits for its wait time and then drops off. It sends your timeout message and runs your timeout actions. It doesn’t restart the flow. See Bot wait time and drop-off.
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.”
A flow doesn’t move past an Ask node until the customer replies. Ask nodes have no timeout of their own that branches elsewhere.To make a question optional, give the customer a way to skip it. For example, use Ask Reply Buttons with a Skip button, then route it with a Condition node.If the customer doesn’t reply at all:
  • use nudges to remind them, and
  • choose what the bot does when the wait time runs out.