Menus and buttons in the chat flow
The Message with keyboard node (MessageKeyboard, send-message-keyboard) sends text (and optional media) and offers reply options: inline buttons under the message or a reply keyboard. After the user taps a button or sends text, the scenario continues along the matching branch on the canvas.
What you use it for
| You need to… | How this node helps |
|---|---|
| Show a menu: Catalog, Support, Back | The client taps a button — predictable routing without parsing free text |
| Get Yes / No | One node instead of fragile text matching |
| Store the answer in a variable | Output Variable holds the tap or typed text for later steps |
| Limit behaviour by channel | Configure supported messengers on the node |
If you only need free text (name, email, comment) without buttons, the Wait for input node (wait-for-input) is usually a better fit.
What the client sees
- A bot message (text; optional image or file).
- Buttons under the message or a keyboard, depending on type.
- After a choice or typed input, the bot moves on according to the edge you drew on the canvas.
What to do in the editor (short)
- On the canvas, click + or open Messaging → Message with keyboard.
- In Node Inspector, set the message text (often via section translations).
- Enable the keyboard and add buttons: label, value (payload), type (callback, url, phone, etc.).
- Connect each button with a separate edge to the next node.
- Optionally enable validation if typing is allowed instead of tapping.
Full field list: Message with keyboard parameters. General workflow: Use action in scenario.