Документация движка правил

Создавайте правила ЕСЛИ/ТО для автоматизации ответов, маршрутизации разговоров и настройки поведения чата.

Как работают правила

Правила дают вам полный контроль над тем, что происходит, когда посетитель отправляет сообщение. Каждое правило оценивается для каждого входящего сообщения посетителя, до того как AI автоответ получит возможность ответить.

  • Каждое правило имеет условия (ЕСЛИ) и действия (ТО).
  • Режим совпадения определяет, как комбинируются условия: ВСЕ условия должны совпасть (логика И) или ЛЮБОЕ условие может совпасть (логика ИЛИ).
  • Правила выполняются в порядке приоритета — меньший номер означает более высокий приоритет (выполняется первым).
  • Остановка при совпадении — при включении дальнейшие правила не проверяются после срабатывания данного правила.
  • Правило может подавить AI автоответ (например, REPLY_TEXT обрабатывает ответ вместо AI).

Справочник условий

Условия определяют, когда правило должно сработать. Вы можете комбинировать несколько условий с помощью режимов ВСЕ (И) или ЛЮБОЕ (ИЛИ).

MESSAGE_CONTAINS

Проверяет, содержит ли сообщение посетителя определённое слово или фразу.

ПараметрОписание
valueТекст для поиска в сообщении
caseSensitivetrue / false — учитывать ли регистр

Пример: "Сообщение содержит pricing" совпадает с "What's your pricing?"

MESSAGE_MATCHES_REGEX

Сопоставляет сообщение посетителя с регулярным выражением.

ПараметрОписание
patternРегулярное выражение с разделителями, например /order\s*#?\d+/i

Пример: /\b(refund|return|cancel)\b/i совпадает с любым сообщением о возврате

Совет: Используйте regex101.com для тестирования шаблонов перед добавлением.

VISITOR_LANGUAGE

Проверяет определённый язык посетителя.

ПараметрОписание
operatorequals, not_equals или in
valueКод языка, например en, pl, de

Пример: Язык посетителя равен pl → направить к польскоязычному оператору

OPERATOR_ONLINE

Проверяет, есть ли хотя бы один оператор онлайн.

ПараметрОписание
valuetrue = хотя бы один оператор онлайн, false = все операторы офлайн

Пример: Оператор онлайн = false → отправить сообщение «Мы сейчас не в сети»

SESSION_VARIABLE

Проверяет пользовательскую переменную, сохранённую в разговоре (установленную предыдущим правилом).

ПараметрОписание
keyИмя переменной для проверки
operatorequals, not_equals, exists или not_exists
valueОжидаемое значение (не нужно для exists / not_exists)

Пример: Переменная сессии lead_type равна demo → назначить команде продаж

Справочник действий

Действия определяют, что происходит при выполнении условий правила. Одно правило может содержать несколько действий.

REPLY_TEXT

Отправляет автоматический текстовый ответ посетителю.

ПараметрОписание
textСообщение для отправки посетителю

Примечание: Подавляет AI автоответ — правило обрабатывает ответ.

Пример: "Наша команда сейчас не в сети. Мы ответим вам в рабочее время."

REPLY_AI

Явно указывает системе использовать AI автоответ для данного сообщения.

Примечание: Используйте в сочетании с другими действиями — например, установить переменную И дать AI ответить.

SET_VARIABLE

Сохраняет пару ключ-значение в разговоре для использования другими правилами.

ПараметрОписание
keyИмя переменной
valueЗначение переменной

Примечание: НЕ подавляет AI — AI всё ещё может ответить после установки переменной.

Пример: Установить interest = enterprise для последующего использования

ASSIGN_TO_OPERATOR

Назначает разговор конкретному оператору из вашей команды.

ПараметрОписание
operatorIdВыберите из членов вашей команды

Примечание: Неявно подавляет AI — назначенные разговоры не получают AI-ответы.

Пример: Направить VIP-клиентов к старшему специалисту поддержки

NOTIFY_OPERATORS

Отправляет оповещение в реальном времени всем онлайн-операторам со звуковым уведомлением.

ПараметрОписание
messageТекст оповещения для операторов

Примечание: НЕ подавляет AI — и оповещение, и AI-ответ выполняются.

Пример: "Срочно: посетителю нужна немедленная помощь!"

SEND_EMAIL

Отправляет электронное письмо с контекстом разговора. Полезно для эскалации или интеграции с CRM.

ПараметрОписание
toАдрес электронной почты получателя
subjectТема письма
bodyТекст письма (необязательно — контекст разговора добавляется автоматически)

Примечание: НЕ подавляет AI.

CALL_API

Вызывает внешний API endpoint и сохраняет ответ в переменных сессии. Требует предварительной настройки API-подключения.

ПараметрОписание
endpointIdВыберите из настроенных API endpoint

Примечание: НЕ подавляет AI — комбинируйте с REPLY_AI, чтобы AI использовал полученные данные. Полное руководство по настройке см. в документации API-подключений.

Пример: Вызвать API трекинга заказов → сохранить статус в сессии → AI отвечает с реальными данными заказа

Практические примеры

Готовые рецепты правил, которые вы можете адаптировать для своей настройки.

1. Автоответ на вопросы о ценах

Экономьте AI-токены, отвечая на типичные вопросы статическим ответом.

ЕСЛИ (ЛЮБОЕ совпадение): MESSAGE_CONTAINS price, MESSAGE_CONTAINS cost, MESSAGE_CONTAINS pricing

ТО: REPLY_TEXT: "Our plans start at €19/month. See full pricing at enuchat.com/pricing"

Режим совпадения: ЛЮБОЕ · Остановка при совпадении: Да

2. Маршрутизация по языку

Направляйте польскоязычных посетителей напрямую к вашему польскоязычному оператору.

ЕСЛИ (ВСЕ совпадения): VISITOR_LANGUAGE равен pl

ТО: ASSIGN_TO_OPERATOR → Польский оператор

Режим совпадения: ВСЕ · Остановка при совпадении: Да

3. Приветствие в нерабочее время

Задайте ожидания, когда никто не в сети.

ЕСЛИ (ВСЕ совпадения): OPERATOR_ONLINE = false

ТО: REPLY_TEXT: "Thanks for reaching out! Our team is currently offline. AI will try to help, but we'll follow up during business hours."

Режим совпадения: ВСЕ · Остановка при совпадении: Нет (пусть AI тоже ответит)

4. Тегирование и маршрутизация запросов на демо

Два правила, работающих совместно через переменные сессии.

Правило 1 — ЕСЛИ (ВСЕ совпадения): MESSAGE_CONTAINS demo

Правило 1 — ТО: SET_VARIABLE lead_type = demo_request. Остановка при совпадении: Нет (AI отвечает на первое сообщение)

Правило 2 — ЕСЛИ (ВСЕ совпадения): SESSION_VARIABLE lead_type равна demo_request

Правило 2 — ТО: ASSIGN_TO_OPERATOR → Отдел продаж. Остановка при совпадении: Да

Первое сообщение устанавливает тег, и AI отвечает. Второе сообщение от того же посетителя направляется в отдел продаж.

5. Определение номеров заказов с помощью regex

Автоматическая маршрутизация запросов о заказах в поддержку.

ЕСЛИ (ВСЕ совпадения): MESSAGE_MATCHES_REGEX /\b(order|tracking)\s*#?\s*\d{'{'}4,}/i

ТО: ASSIGN_TO_OPERATOR → Агент поддержки, REPLY_TEXT: "I see you have an order question. Let me connect you with our support team."

Режим совпадения: ВСЕ · Остановка при совпадении: Да

6. Комбинирование условий (логика И)

Срабатывание только для очень конкретных сценариев, где все условия должны быть выполнены.

ЕСЛИ (ВСЕ совпадения): VISITOR_LANGUAGE равен en, MESSAGE_CONTAINS urgent

ТО: ASSIGN_TO_OPERATOR → Старший агент

Режим совпадения: ВСЕ (оба должны совпасть) · Остановка при совпадении: Да

Советы и лучшие практики

  • Порядок имеет значение: правила с меньшим номером приоритета выполняются первыми. Размещайте самые важные правила вверху.
  • Используйте «Остановку при совпадении», чтобы предотвратить срабатывание нескольких правил на одно сообщение.
  • Тестируйте перед запуском с помощью тестовой панели в дашборде.
  • Делайте REPLY_TEXT-сообщения краткими — посетители ожидают чат, а не эссе.
  • Используйте SESSION_VARIABLE для создания многошаговых процессов — отметьте разговор при первом сообщении, затем действуйте позже.
  • Советы по regex: всегда используйте флаг нечувствительности к регистру /i и тестируйте шаблоны на regex101.com.
  • Меньше — лучше: 10–15 хорошо продуманных правил лучше, чем 50 перекрывающихся.
  • Правила выполняются до AI — если правило обрабатывает сообщение, AI не отвечает (экономя токены).

Готовы автоматизировать чат?

Настройте первое правило за считанные минуты и доверьте рутину автоматизации.

Начать бесплатно