# Блоки и действия

У кнопки в мини-приложении нет поля «что делать». Действие задаёт схема: выход кнопки соединяется связью с блоком, и по нажатию открывается или выполняется этот блок. Блок без экрана делает свою работу и ведёт дальше по своему выходу — например, запись добавлена → экран «Спасибо».

Так же работают пункты списка, нажатие на картинку, карточку или запись, отправка формы и другие [выходы элементов](https://support.watbot.ru/mini-apps/elements).

![Окно «Добавить блок»: блоки по категориям](https://support.watbot.ru/_media/ru/02-mini-apps/_images/add-block.webp?v=1791781230)

## Что может кнопка

| Нужно | Куда вести выход |
|---|---|
| Открыть другой экран | Блок [«Экран»](https://support.watbot.ru/mini-apps/blocks/screens/page) |
| Показать окно, меню, диалог поверх экрана | [«Модальное окно»](https://support.watbot.ru/mini-apps/blocks/screens/modal), [«Меню»](https://support.watbot.ru/mini-apps/blocks/screens/menu), [«Диалог»](https://support.watbot.ru/mini-apps/blocks/screens/alert), [«Панель действий»](https://support.watbot.ru/mini-apps/blocks/screens/action-sheet) |
| Показать короткое сообщение, которое погаснет само | [«Сообщение»](https://support.watbot.ru/mini-apps/blocks/screens/toast) |
| Сохранить, изменить, найти или удалить запись списка | Блоки категории [«Списки»](https://support.watbot.ru/mini-apps/blocks/records). Для анкет удобнее элемент «Форма записи» — он пишет запись сам |
| Передать данные во внешний сервис или получить их оттуда | [«HTTP-запрос»](https://support.watbot.ru/mini-apps/blocks/logic/http) |
| Направить людей по разным веткам | [«Условие»](https://support.watbot.ru/mini-apps/blocks/logic/condition) или [«Источник запуска»](https://support.watbot.ru/mini-apps/blocks/logic/launch-source) |
| Написать человеку от имени бота, запустить сценарий бота, поставить тег контакту | Блоки категории [«Чат-бот»](https://support.watbot.ru/mini-apps/blocks/bot) |
| Пометить человека тегом приложения | [«Теги пользователя»](https://support.watbot.ru/mini-apps/blocks/logic/user-tags) |
| Открыть ссылку, скопировать текст, поделиться, закрыть приложение | [«JavaScript»](https://support.watbot.ru/mini-apps/blocks/logic/script) — см. [Код в приложении](https://support.watbot.ru/mini-apps/code) |

Оформить и оплатить заказ — блоки [«Оформить заказ»](https://support.watbot.ru/mini-apps/blocks/shop/shop-checkout) и [«Оплата заказа»](https://support.watbot.ru/mini-apps/blocks/shop/shop-payment).

Записать клиента, отменить или перенести запись, сохранить оценку визита — блоки категории [«Запись на приём»](https://support.watbot.ru/mini-apps/blocks/booking).

Если выход ни к чему не подключён, по нажатию ничего не меняется.

## Как блоки соединяются

- **Выход** — строка в нижней части блока. У экрана и окна выходы — их кнопки, пункты и другие нажимаемые элементы. У блока без экрана — исходы его работы: «Да» и «Нет», «Успешно» и «Ошибка». Выходы «получилось» окрашены зелёным, «не получилось» — красным.
- **Связь** — линия от выхода к блоку, который откроется или выполнится следующим. Как проводить и удалять связи — на странице [Конструктор](https://support.watbot.ru/mini-apps/builder).
- **«Продолжить»** срабатывает сам, как только приложение дошло до блока. Так за один шаг можно открыть экран и сразу показать поверх него окно или сообщение.
- **Цепочка.** Блоки без экрана выполняются друг за другом, пока приложение не дойдёт до экрана, окна или сообщения — их оно и показывает. Если цепочка упёрлась в выход без связи, человек остаётся на текущем экране.
- **«Заметка»** в цепочку не входит: если связь всё же ведёт в заметку, цепочка на ней останавливается.

## Назад

Отдельный блок для возврата не нужен. Экраны складываются в стопку: системная кнопка «назад» и кнопка «назад» в Telegram и MAX возвращают на предыдущий экран. Связь на экран, который лежит в стопке прямо под текущим, тоже работает как шаг назад. Открытое окно закрывается раньше, чем экран.

## Экраны и оверлеи

Оверлей показывается поверх текущего экрана, а не вместо него. Стартовым оверлей быть не может. Новый экран закрывает открытый оверлей.

У кнопок диалога, панели действий и сообщения есть «Роль»: «По умолчанию», «Отмена», «Опасное действие». Роль меняет вид кнопки: «Опасное действие» — красная, «Отмена» в панели действий стоит отдельно внизу. Каждая кнопка — отдельный выход блока.

## Блоки без экрана и чат-бот

У блоков чат-бота есть выход «Нет контакта»: он срабатывает, когда приложение открыто не из бота или человек этому боту не писал. Подробнее — в разделе [Чат-бот](https://support.watbot.ru/mini-apps/blocks/bot).

Многие блоки кладут результат в переменные: идентификатор новой записи, номер заказа, причину отказа. Как их показать на следующем экране — на странице [Данные приложения](https://support.watbot.ru/mini-apps/data).

## Справочник блоков

- [Экраны и оверлеи](https://support.watbot.ru/mini-apps/blocks/screens) — «Экран», «Меню», «Модальное окно», «Диалог», «Панель действий», «Сообщение».
- [Данные и логика](https://support.watbot.ru/mini-apps/blocks/logic) — «HTTP-запрос», «Условие», «Источник запуска», «JavaScript», «Теги пользователя».
- [Списки](https://support.watbot.ru/mini-apps/blocks/records) — «Добавить запись», «Изменить запись», «Удалить запись», «Найти запись».
- [Чат-бот](https://support.watbot.ru/mini-apps/blocks/bot) — «Сообщение бота», «Сценарий бота», «Теги контакта».
- [Магазин](https://support.watbot.ru/mini-apps/blocks/shop) — «Оформить заказ», «Оплата заказа».
- [Запись на приём](https://support.watbot.ru/mini-apps/blocks/booking) — «Записать на приём», «Отменить запись», «Перенести запись», «Оценить визит».
- [Служебные](https://support.watbot.ru/mini-apps/blocks/service) — «Старт», «Заметка».

## Ограничения

- За одно нажатие приложение проходит не больше 50 блоков подряд. Если цепочка длиннее — например, блоки замкнуты в круг, — она прерывается.
- Экранов в стопке «назад» — не больше 20.
