Условия — это «развилки» сценария: бот смотрит, что сделал клиент, и идёт по нужной ветке. От качества условий зависит, попадёт ли клиент туда, куда нужно.
Какие бывают кнопки
В блоке «Сообщение» можно добавить кнопки — они появляются под сообщением (inline-кнопки). Под каждой кнопкой задаётся одно из двух действий:
- «Перейти к шагу» — продолжить сценарий по конкретной ветке.
- «Открыть URL» — повести клиента на сайт.
Цвета у кнопок в сценарии нет — мессенджеры рисуют все кнопки одинаково. Цветные акценты есть в «Рассылках» (по-другому устроенный модуль).
Совет
2–3 кнопки в сообщении — оптимально. 5+ выглядят громоздко и «съедают» внимание. Если вариантов много — разбейте на два экрана.
Кнопки в Instagram
В Instagram* кнопки работают только пока 24-часовое окно открыто. После закрытия окна кнопки просто не приходят клиенту — это ограничение Meta, а не нашего сервиса.
Блок «Условие»
Это отдельный блок на холсте. У него один вход и несколько выходов — каждый со своим правилом. Бот проверяет правила сверху вниз: первое подходящее срабатывает. Если ни одно не сработало — идёт в ветку «По умолчанию».
По чему можно проверить
В нашем сервисе доступны такие проверки:
- Сообщение точно равно значению — например,
менеджер. - Сообщение содержит значение —
ценпоймает «А какая цена?», «по ценам». - Сообщение начинается с значения — удобно для команд.
- Сообщение — это команда — то есть начинается с
/. - Регулярное выражение — для продвинутых. Например, поймать телефонный номер.
- У клиента есть тег — конкретный тег из ваших.
- Передан оператору — диалог уже взял живой оператор.
- Клиент подписан — у клиента стоит флаг подписки на канал/рассылку (
is_subscribed). - Баллов больше / меньше N — простая балльная система (
points_gte/points_lt). - «Ждать ответ клиента N времени» — особое условие: ставит сценарий на паузу и продолжает по нужной ветке, если ответ пришёл в течение таймаута, либо по «таймаут» — если нет (см. ниже).
Регулярные выражения
Это «инженерная» функция. Большинству задач хватает «содержит» и «начинается с» — не лезьте в регулярки без необходимости.
Как ловить «не нажал, а написал»
Самая частая ошибка новичков: показали кнопки «Цены / Записаться», а клиент написал «А сколько стоит?» — и сценарий не понял.
Лечится так:
- После сообщения с кнопками идёт блок «Условие».
- В правилах:
- сообщение содержит
цен,стоимост,прайс→ ветка «Прайс»; - сообщение содержит
запис,брон→ ветка «Запись»; - по умолчанию → передача оператору или ИИ-агент.
Совет
Всегда оставляйте «По умолчанию» с понятным выходом: ИИ-агент или передача оператору. Это страховка от «не понял, что сказал клиент».
Проверка тегов
«Если у клиента есть тег оплатил» — удобно для:
- VIP-сценариев и допродаж;
- разных сообщений «новичкам» и «постоянным»;
- ветвления по способу прихода (
из_рекламы,из_рассылки).
В условии — название тега и режим: «есть» / «нет».
Тупики и циклы
Главная проблема логики — «куда-то надо пойти, а некуда».
- Тупик. Ветка заканчивается на «Условие», после которого нет ни одного выхода. Клиент написал — а сценарий не знает, что делать.
- Цикл. Из ветки А переход в Б, а из Б — обратно в А, и условие не меняется. Бот гоняет клиента по кругу.
Проверьте перед запуском
Редактор подсветит «висящие» блоки (без выхода). Если такие есть — кликните на блок и достройте сценарий. Тестировать сценарий с тупиком на «реальном» клиенте — лучший способ потерять заявку.
Ожидание ответа клиента с таймаутом
Условие «Ждать ответ клиента N времени» (await_reply) — самое полезное на «холодных» сценариях. Логика такая:
- Бот доходит до условия и ставит сценарий на паузу для конкретного клиента.
- Если клиент написал что-нибудь в течение указанного таймаута (от 1 минуты до 30 дней) — сценарий идёт по ветке «ответил».
- Если время истекло, а ответа нет — сценарий идёт по ветке «таймаут».
Так удобно делать «брошенные корзины», «напомнить через 3 часа», «если не ответил за сутки — передать менеджеру».
Чего в сценариях нет
Чтобы вы не искали зря:
- Условия «время суток» / «выходной» — нет.
- Подстановка переменных в текст обычных сообщений — нет (см. оговорки в «Что бот знает о клиенте»).