База знаний· Автоматизация· Кнопки, условия и развилки

Автоматизация

Кнопки, условия и развилки

Как сделать сценарий «умным»: какие бывают кнопки и какие условия реально работают.

Условия — это «развилки» сценария: бот смотрит, что сделал клиент, и идёт по нужной ветке. От качества условий зависит, попадёт ли клиент туда, куда нужно.

Какие бывают кнопки

В блоке «Сообщение» можно добавить кнопки — они появляются под сообщением (inline-кнопки). Под каждой кнопкой задаётся одно из двух действий:

  • «Перейти к шагу» — продолжить сценарий по конкретной ветке.
  • «Открыть URL» — повести клиента на сайт.

Цвета у кнопок в сценарии нет — мессенджеры рисуют все кнопки одинаково. Цветные акценты есть в «Рассылках» (по-другому устроенный модуль).

Совет

2–3 кнопки в сообщении — оптимально. 5+ выглядят громоздко и «съедают» внимание. Если вариантов много — разбейте на два экрана.

Кнопки в Instagram

В Instagram* кнопки работают только пока 24-часовое окно открыто. После закрытия окна кнопки просто не приходят клиенту — это ограничение Meta, а не нашего сервиса.

Блок «Условие»

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

По чему можно проверить

В нашем сервисе доступны такие проверки:

  • Сообщение точно равно значению — например, менеджер.
  • Сообщение содержит значение — цен поймает «А какая цена?», «по ценам».
  • Сообщение начинается с значения — удобно для команд.
  • Сообщение — это команда — то есть начинается с /.
  • Регулярное выражение — для продвинутых. Например, поймать телефонный номер.
  • У клиента есть тег — конкретный тег из ваших.
  • Передан оператору — диалог уже взял живой оператор.
  • Клиент подписан — у клиента стоит флаг подписки на канал/рассылку (is_subscribed).
  • Баллов больше / меньше N — простая балльная система (points_gte / points_lt).
  • «Ждать ответ клиента N времени» — особое условие: ставит сценарий на паузу и продолжает по нужной ветке, если ответ пришёл в течение таймаута, либо по «таймаут» — если нет (см. ниже).

Регулярные выражения

Это «инженерная» функция. Большинству задач хватает «содержит» и «начинается с» — не лезьте в регулярки без необходимости.

Как ловить «не нажал, а написал»

Самая частая ошибка новичков: показали кнопки «Цены / Записаться», а клиент написал «А сколько стоит?» — и сценарий не понял.

Лечится так:

  1. После сообщения с кнопками идёт блок «Условие».
  2. В правилах:
  • сообщение содержит цен, стоимост, прайс → ветка «Прайс»;
  • сообщение содержит запис, брон → ветка «Запись»;
  • по умолчанию → передача оператору или ИИ-агент.

Совет

Всегда оставляйте «По умолчанию» с понятным выходом: ИИ-агент или передача оператору. Это страховка от «не понял, что сказал клиент».

Проверка тегов

«Если у клиента есть тег оплатил» — удобно для:

  • VIP-сценариев и допродаж;
  • разных сообщений «новичкам» и «постоянным»;
  • ветвления по способу прихода (из_рекламы, из_рассылки).

В условии — название тега и режим: «есть» / «нет».

Тупики и циклы

Главная проблема логики — «куда-то надо пойти, а некуда».

  • Тупик. Ветка заканчивается на «Условие», после которого нет ни одного выхода. Клиент написал — а сценарий не знает, что делать.
  • Цикл. Из ветки А переход в Б, а из Б — обратно в А, и условие не меняется. Бот гоняет клиента по кругу.

Проверьте перед запуском

Редактор подсветит «висящие» блоки (без выхода). Если такие есть — кликните на блок и достройте сценарий. Тестировать сценарий с тупиком на «реальном» клиенте — лучший способ потерять заявку.

Ожидание ответа клиента с таймаутом

Условие «Ждать ответ клиента N времени» (await_reply) — самое полезное на «холодных» сценариях. Логика такая:

  1. Бот доходит до условия и ставит сценарий на паузу для конкретного клиента.
  2. Если клиент написал что-нибудь в течение указанного таймаута (от 1 минуты до 30 дней) — сценарий идёт по ветке «ответил».
  3. Если время истекло, а ответа нет — сценарий идёт по ветке «таймаут».

Так удобно делать «брошенные корзины», «напомнить через 3 часа», «если не ответил за сутки — передать менеджеру».

Чего в сценариях нет

Чтобы вы не искали зря:

  • Условия «время суток» / «выходной» — нет.
  • Подстановка переменных в текст обычных сообщений — нет (см. оговорки в «Что бот знает о клиенте»).

Не нашли ответ?

Напишите в поддержку — подскажем по шагам в рабочее время.