Реакции в SamBot — основа автоматизации бота

Реакция — центральная единица SamBot. Это правило в стиле «если случилось X, то сделать Y»: «если клиент написал „цена" — отправить ему прайс», «если в группу зашёл новый участник — поприветствовать его», «если поступила оплата — выдать доступ и уведомить менеджера». Из реакций собирается весь бот: его поведение в любом сценарии — это сумма реакций, которые срабатывают по правилам.

Каждая реакция определяется четырьмя вопросами: на что срабатывает (триггер), в каких чатах работает, при каких условиях срабатывает и что делает. На странице создания реакции эти четыре блока расположены сверху вниз. Чтобы освоиться — проще всего пройтись по двум практическим примерам.

Пример 1: FAQ-реакция

Самая базовая реакция: клиент написал ключевое слово — бот ответил готовым текстом. Идеально для типовых вопросов про цену, адрес, часы работы.

  • На что срабатывает: текстовое сообщение содержит ключевое слово «цена».
  • В каких чатах: только в приватном чате с ботом.
  • Что делает: отправляет одно сообщение — «Базовая услуга — 1500 ₽, выезд мастера — 500 ₽».

Что происходит в диалоге:

Клиент: «Какая цена услуги?»

Бот: «Базовая услуга — 1500 ₽, выезд мастера — 500 ₽».

Несколько таких реакций — и у вас FAQ-бот, разгружающий менеджеров от однотипных вопросов. На ключевые слова можно настроить разные ответы: «адрес» — карту, «доставка» — условия, «расписание» — часы работы.

Важная деталь: одна реакция может реагировать не на одно слово, а на несколько вариантов — «цена», «стоимость», «сколько стоит». В настройках срабатывания есть режимы «содержит», «содержит как отдельное слово», «начинается с», «заканчивается на» и «равно».

Пример 2: Запрос обратного звонка

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

Главная техническая особенность: одно из сообщений реакции — «вопрос», бот ждёт на него ответ. Это означает, что реакция приостанавливается ровно в тот момент, когда отправлен этот вопрос. Все следующие действия (второе сообщение, уведомление менеджеру) выполнятся только после того, как клиент пришлёт ответ.

Настраиваем одну реакцию с двумя сообщениями и уведомлением менеджеру:

  • На что срабатывает: текст содержит «перезвоните» (можно добавить «позвоните», «обратный звонок» и т. п.).
  • В каких чатах: только в приватном чате с ботом.
  • Что делает:
    • Сообщение 1 — «Напишите номер телефона, на который вам перезвонить». Включена галочка «Ожидаемый ответ — Текст», и ответ клиента сохраняется в параметр callback_phone.
    • Сообщение 2 — «Спасибо! Мы вам перезвоним».
    • Раздел «Куда отправлять» (4.13) — чат менеджеров. Включены галочки «От кого» (имя клиента) и «Реакция бота» (ссылка на реакцию).

В диалоге это выглядит так:

Клиент: «Перезвоните пожалуйста».

Бот: «Напишите номер телефона, на который вам перезвонить».

[Бот ждёт ответ. Ничего больше не делает.]

Клиент: «8-900-123-45-67».

Бот: «Спасибо! Мы вам перезвоним».

[В чат менеджеров уходит уведомление: «FirstName1 LastName1 → Запрос обратного звонка». Менеджер открывает карточку клиента и видит сохранённый callback_phone.]

Что показал этот пример:

  • «Ожидаемый ответ» — это барьер. Реакция приостанавливается на сообщении-вопросе, и все следующие действия (второе сообщение, уведомление менеджеру) ждут ответа клиента. Это позволяет собирать анкетные сценарии в одной реакции: задать вопрос — подождать ответ — задать следующий вопрос — подождать — и так далее.
  • Сохранение в параметр — механика «состояния» клиента в SamBot. Параметр клиента (callback_phone, cart_total, last_order_id и т. п.) виден в карточке клиента, доступен в других реакциях через подстановку {user:NAME}, и может стать триггером ещё одной реакции.
  • Уведомление в служебный чат — стандартный паттерн «передать менеджеру». Реакция отправляет в управляемый чат имя клиента и ссылку на реакцию.

Из этих кубиков собирается всё

За этими двумя примерами скрыта вся палитра возможностей платформы:

  • Триггеры — не только текст с ключевыми словами, но и медиа-сообщения, системные события (новый участник в группе, оплата прошла), команды (/start), нажатия кнопок, опросы, время — периодически, по расписанию.
  • Условия — реакция может срабатывать только при определённой метке у клиента, при определённом значении параметра, в рабочие часы, на каждое N-е сообщение и т. д. Это позволяет точно регулировать «когда» реакция запускается.
  • Действия — отправить сообщение, сохранить параметр, поставить/снять метку, передать менеджеру, выставить счёт на оплату, запустить другую реакцию (цепочка), вызвать ваш API через web-request, обратиться к ИИ. В одной реакции можно использовать несколько действий — они выполнятся по очереди сверху вниз.

Сложные сценарии (запись на услугу, многошаговый опросник, продажа курса с автоматической выдачей материалов) собираются из нескольких связанных реакций — одна реакция запускает другую, передавая контекст через параметры клиента.

Где это в UI

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