Guide
- 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
/startcommand - 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

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.
- Starting Step — the
- 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
Pick the reply type
With the switch on, an Expected reply type dropdown appears. It decides what counts as a valid answer.

There are seven types:
Type Accepts Any text Anything the person types. The default. Integer A whole number, like 12.Date tomorrow,Feb 25,25.02and similar.Time 19:30,7 pmand similar.Date & time tomorrow at 5pmand similar.Phone A real phone number, checked against country formats. Email An 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 (
+14155550134for+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
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
/startor/menuthat 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
Ask for a phone number
Set the reply type to Phone and one more option appears: Add "Share my phone" button.

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
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_nameon the first question,lead_phoneon 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
Try it in the Test chat
Click Test on the toolbar and answer your own questions.

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
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 0134passes,415 555 0134does 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
Next up
Answers are only useful when you know where they are kept: Variables: Remember What Users Tell You
