FlowCastle/Docs/Ask Questions and Collect Answers

Ask Questions and Collect Answers

A two-question intake bot: turn on Wait for reply, pick a reply type, ask for a phone in one tap, and save every answer into a variable.

5 min read·Last updated: 2026-08-19
A two-question intake bot: turn on Wait for reply, pick a reply type, ask for a phone in one tap, and save every answer into a variable.

Guide

  1. 1

    The bot you are building

    A two-question intake. The bot asks for a name, asks for a phone number, and repeats both back so the person can see you got it right.

    Four nodes:

    • Starting Step — the /start command
    • Ask for the name — waits for a text reply, saves it to {{lead_name}}
    • Ask for the phone — waits for a phone number, saves it to {{lead_phone}}
    • Confirm — repeats both values back

    The intake flow on the canvas: a start node, two questions marked Wait for reply, and a confirmation

    Both question nodes carry a Wait for reply badge. That badge is the whole feature: the flow stops at that node and does not move on until the person answers.

  2. 2

    Turn on Wait for reply

    Click a message node to open its editor. Right under the message text there is a section called Wait for reply with a switch. Turn it on.

    Nothing else about the node changes. It still sends the text you wrote. It just stops there afterwards instead of running the next node straight away.

    There is no timeout to set. The person can answer an hour later and the flow picks up exactly where it stopped.

  3. 3

    Pick the reply type

    With the switch on, an Expected reply type dropdown appears. It decides what counts as a valid answer.

    The Expected reply type list open in the message editor, with the answer saved into lead_name below it

    There are seven types:

    TypeAccepts
    Any textAnything the person types. The default.
    IntegerA whole number, like 12.
    Datetomorrow, Feb 25, 25.02 and similar.
    Time19:30, 7 pm and similar.
    Date & timetomorrow at 5pm and similar.
    PhoneA real phone number, checked against country formats.
    EmailAn address with an @ and a domain.

    Every type except Any text also tidies the answer up before saving it. A phone number is stored in international form (+14155550134 for +1 415 555 0134), an email is lower-cased, and a date or time is stored as a full timestamp so you can compare it later.

  4. 4

    When the answer does not fit

    If the answer does not match the type, the bot says so and asks again. It stays on the same node, and nothing after it runs.

    The retry messages are built in, and you cannot edit them yet:

    • Integer — Please enter a whole number (e.g. 12).
    • Phone — Please enter a valid phone number (e.g. +1234567890).
    • Email — Please enter a valid email address (e.g. user@example.com).
    • Date — I couldn't understand that date. Try something like "tomorrow" or "Feb 25".

    There is one escape hatch. If the person sends a command such as /start or /menu that another node in the bot listens for, the wait is dropped and that command runs instead. Without it, one stubborn typo would trap somebody in a question forever.

  5. 5

    Ask for a phone number

    Set the reply type to Phone and one more option appears: Add "Share my phone" button.

    The phone question: reply type Phone, the Share my phone option on, and the answer saved to lead_phone

    Turn it on and Telegram shows its own button under the message. One tap sends the number Telegram already verified for that account — no typing, no typos. Typing a number by hand still works.

    Two limits. The option is for Telegram bots, and it disappears if the message has buttons of its own, because Telegram cannot show its share-phone keyboard and your buttons at the same time.

  6. 6

    Save the answer into a variable

    An answer nobody stored is an answer you cannot use. Save reply to variable, under the reply type, is where it goes.

    Click the field and the variable picker opens. Pick an existing contact variable, or type a name and click Create and use to make one on the spot. Only contact variables that hold text can be picked here, because that is what a reply is.

    For this bot: lead_name on the first question, lead_phone on the second.

    From then on the value belongs to that person and stays with them. To put it in a later message, click the {} button in the message toolbar and pick the variable — it drops in as a chip. Do not type the braces by hand; a typed name is just text and stays text.

    The confirmation node in this bot reads:

    Got it. I saved {{lead_name}} and {{lead_phone}}. Someone will call you within one business day.
    
  7. 7

    Try it in the Test chat

    Click Test on the toolbar and answer your own questions.

    The Test chat showing both questions, the typed answers, and the confirmation repeating them back

    Check three things: the bot really waits after each question, a deliberately bad answer produces the retry message, and the confirmation shows real values instead of empty gaps. An empty gap means the answer was never saved into a variable.

  8. 8

    If something did not work

    The bot asks the question and keeps going. The switch is off, or you edited the node and did not click Save Changes. Saving is not publishing either — click Deploy afterwards.

    The confirmation shows nothing where the name should be. Either the question node has no variable in Save reply to variable, or the confirmation message has the variable name typed as plain text instead of inserted as a chip.

    A phone that looks fine is rejected. The number needs a country code. +1 415 555 0134 passes, 415 555 0134 does not.

    Add "Share my phone" button is missing. The reply type is not Phone, or the message has buttons. Remove the buttons and the option comes back.

  9. 9

    Next up

    Answers are only useful when you know where they are kept: Variables: Remember What Users Tell You

Next Guide

Continue with
Variables: Remember What Users Tell You
Your bot can remember answers and reuse them later: contact, application and system variables, the variable picker, and where the values are stored.

Related Guides

More guides to help you continue from this topic.