---
title: "Message with Buttons Node Parameters"
description: "Reference for MessageKeyboard (send-message-keyboard) node parameters in Node Inspector — attachments, messengers, buttons, validation, advanced settings."
---

# Message with Buttons Node Parameters

The **Message with Buttons** node (MessageKeyboard, `send-message-keyboard`) sends a message with text and buttons to the client. After sending, the scenario waits for a response (button click or text). Typically used for menu selection, request category prompts, and branching the dialogue. In **Node Inspector** (right panel) the following sections are available:

## Basic Settings

- **Message text** — text the client sees before the buttons.
- **Output Variable** — where to store the client's response (button click or entered text).

## Attachments

- **Attachment type** — image, video, file.
- **Source** — **File** (upload from computer) or **Link** (enter URL).
- **Value** — path to uploaded file or media URL.

Attachments are displayed together with the message text.

## Messengers

- **Supported channels** — limit which messengers show this message (Telegram, Viber, WhatsApp, Widget, Facebook, etc.).
- If the list is empty — the message is shown on all channels.

## Buttons

- **Keyboard type** — inline (below message) or reply (standard keyboard).
- **Button list** — button text, value (payload), type (callback, url, phone).
- Each button can lead to a separate scenario branch (edge labeled with the value).
- For advanced integrators: each button has JSON fields (`jsonFields`) for messenger-specific parameters.

## Validation

Client input validation (when they type text instead of clicking a button):

- **Type** — none (no validation), email, phone, integer, image, regexp, custom.
- **Error message** — text the client sees for invalid input.
- **Limits** — min/max characters, min/max value (for integer).
- **Regexp / Custom** — custom regex pattern.

If `type: none` — the bot accepts any response without validation.

## Advanced Settings

- **Show typing indicator** (sendTyping) — show "typing…" before the message.
- **Send delay** (slowMode) — delay before sending the message. When enabled, **Delay seconds** (1–60) is available.
- **Allow interruption** (allowInterrupt) — client can send a message before sending completes.
- **Save to Custom Data** — store response in Custom Data module (model and field).
- **Statistics** — select funnel and position for node execution tracking.
- **Facebook Ads** — JSON generator for Facebook Ads integration (for advanced integrators).

## JSON Data

For advanced integrators — manual editing of `jsonData` and `messageJsonData` for messenger-specific settings.

---

## Related Documents

- [Create scenario](/en/scenariobuilder/how-to/create-scenario.md)
- [Use action in scenario](/en/scenariobuilder/how-to/use-action-in-scenario.md)
- [Scenario editor overview](/en/scenariobuilder/explanation/what-is-scenario-editor.md)
