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
- The bot sends a question — the customer sees the message on WhatsApp
- The flow pauses — the bot waits for the customer’s reply
- The customer responds — the input is validated and stored in a variable you name
- The flow continues — the next node uses
{{variable_name}}to insert the value
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.
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 withhttp:// 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 cardsAdvanced 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.
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.
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:- Find the Variable name field in the Ask node
- Enter a descriptive name:
customer_email,delivery_date,support_topic - Use
{{customer_email}}in any downstream Send node to personalise the message
Branching Based on Ask Responses
Use a Condition node after an Ask node to split the flow:FAQs
The bot keeps repeating the same question — what do I do?
The bot keeps repeating the same question — what do I do?
The customer is either:
- Sending the wrong type of input — e.g., typing text when you asked for a phone number
- Not responding, and being nudged. If nudges are on, the bot asks the unanswered question again before it gives up.
Can customers respond with natural language dates like 'next Tuesday'?
Can customers respond with natural language dates like 'next Tuesday'?
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 doesn't work on WhatsApp — why?
Ask File doesn't work on WhatsApp — why?
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.”
How do I make an Ask node optional — skip if the customer doesn't respond?
How do I make an Ask node optional — skip if the customer doesn't respond?
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: