Перейти к содержимому

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

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

Олчат предоставляет два уровня автоматизации:

  1. Триггеры (IFTTT-правила) — простые правила «если-то» для типовых сценариев. Подробнее в разделе Триггеры
  2. Визуальные сценарии — графические рабочие процессы (workflows) для сложной логики с ветвлениями, циклами и внешними интеграциями

Визуальные сценарии подходят для задач, требующих:

  • Многоэтапной обработки с условными переходами
  • Интеграции с внешними системами через HTTP-запросы
  • Задержек между шагами
  • Сложной маршрутизации по нескольким условиям одновременно

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

  • Рабочая область — область для размещения и соединения блоков
  • Палитра блоков — панель с доступными типами блоков для перетаскивания
  • Панель настроек — настройки выбранного блока
  • Мини-карта — миниатюра всего сценария для навигации
  • Панель инструментов — масштабирование, отмена/повтор, выравнивание
ОперацияДействие
Добавление блокаПеретащите блок из палитры на рабочую область
Соединение блоковПеретащите линию от выхода одного блока ко входу другого
Настройка блокаНажмите на блок для открытия панели настроек
Удаление блокаВыберите блок и нажмите Delete или используйте контекстное меню
Удаление связиНажмите на связь и удалите её
ПеремещениеПеретаскивайте блоки мышью или используйте панорамирование рабочей области

Каждый сценарий начинается с блока-триггера, который определяет, при каком событии запускается сценарий. Доступные триггеры:

  • Входящее сообщение — любое сообщение от клиента
  • Ключевое слово — сообщение содержит указанные слова
  • Начало сессии — создание новой сессии открытой линии
  • Оценка клиента — клиент поставил оценку обслуживанию
  • Событие CRM — изменение стадии сделки, добавление тега

Блок условия разделяет поток выполнения на две или более ветви в зависимости от результата проверки.

Доступные проверки:

  • Текст сообщения содержит строку
  • Текст соответствует регулярному выражению
  • Тип провайдера (Telegram или MAX)
  • Тип чата (личный или групповой)
  • Рабочие часы
  • Назначен ли оператор
  • Является ли контакт новым

Условие имеет два выхода: Да (условие выполнено) и Нет (условие не выполнено). Каждый выход может вести к разным цепочкам блоков.

Блок переключателя позволяет направить поток по одной из нескольких ветвей в зависимости от значения переменной. Аналогичен конструкции switch/case в программировании.

Например, переключатель по тексту сообщения:

  • Значение «1» — ветвь «Информация о товарах»
  • Значение «2» — ветвь «Статус заказа»
  • Значение «3» — ветвь «Связаться с оператором»
  • По умолчанию — ветвь «Повторить выбор»

Блок отправки сообщения клиенту в мессенджер. Настройки:

  • Текст — текст сообщения (поддерживает переменные)
  • Клавиатура — кнопки для быстрого ответа
  • Файлы — вложения

Блок для работы с CRM Битрикс24:

  • Создать лид
  • Создать сделку
  • Создать задачу
  • Обновить поле CRM-сущности
  • Добавить тег

Блок отправки HTTP-запроса на внешний URL. Используется для интеграции с внешними системами.

Настройки:

  • URL — адрес запроса
  • Метод — GET или POST
  • Заголовки — HTTP-заголовки
  • Тело запроса — данные для отправки (JSON)

Результат запроса можно использовать в последующих блоках как переменную.

Расширенный блок для произвольных HTTP-запросов с возможностью обработки ответа. В отличие от вебхука, позволяет:

  • Использовать все HTTP-методы (GET, POST, PUT, PATCH, DELETE)
  • Парсить JSON-ответ и извлекать значения
  • Обрабатывать ошибки HTTP-запроса

Блок паузы между действиями. Позволяет выдержать интервал перед следующим шагом сценария.

Настройки:

  • Длительность — время задержки
  • Единица измерения — секунды или минуты

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

Пример: извлечение номера заказа из сообщения «Статус заказа №12345» с помощью паттерна №(\d+).

Блок для отправки уведомления в указанный чат Битрикс24 (не клиенту, а сотрудникам).

Блок для запуска бизнес-процесса Битрикс24 с передачей параметров.

Блок-комментарий, не влияющий на выполнение сценария. Используется для документирования логики сценария.

Пример: меню с кнопками и обработкой ответа

Заголовок раздела «Пример: меню с кнопками и обработкой ответа»

Создадим сценарий, который при первом сообщении клиента отправляет меню с кнопками и обрабатывает выбор.

  1. Перейдите в раздел Автоматизация в панели приложения
  2. Нажмите Создать сценарий
  3. Введите название, например «Меню выбора услуги»
  4. Привяжите к нужной открытой линии

Перетащите блок Триггер на рабочую область. Настройте:

  • Тип: Первое сообщение

Перетащите блок Сообщение и соедините с триггером. Настройте:

  • Текст: «Здравствуйте! Выберите интересующий раздел:»
  • Кнопки: «Каталог товаров», «Статус заказа», «Оператор»

Перетащите блок Переключатель и соедините с блоком сообщения. Настройте ветви по тексту ответа клиента.

Для каждой ветви переключателя добавьте соответствующие блоки:

  • «Каталог товаров» → блок Сообщение с текстом каталога
  • «Статус заказа» → блок Сообщение с просьбой указать номер заказа → блок Извлечение по regex → блок HTTP-запрос для проверки статуса
  • «Оператор» → блок Действие ОЛ с переводом в очередь операторов

Включите переключатель Активен и нажмите Сохранить.

  1. Триггер: Первое сообщение
  2. Сообщение: «Как мы можем помочь? 1 — Купить, 2 — Узнать цену, 3 — Поддержка»
  3. Переключатель по ответу:
    • «1» → Создать сделку → Перевести на менеджера
    • «2» → Отправить прайс → Создать лид
    • «3» → Перевести в очередь техподдержки
    • По умолчанию → Повторить вопрос
  1. Триггер: Ключевое слово «записаться»
  2. HTTP-запрос к внешней CRM для получения свободных слотов
  3. Сообщение с доступными датами
  4. Условие: ответ содержит дату?
    • Да → HTTP-запрос для бронирования → Сообщение «Вы записаны на …»
    • Нет → Сообщение «Укажите удобную дату» → возврат к проверке
  1. Триггер: Регулярное выражение (?i)заказ\s*№?\s*(\d+)
  2. Извлечение по regex — номер заказа
  3. HTTP-запрос GET к API интернет-магазина
  4. Условие: HTTP-ответ успешен?
    • Да → Сообщение со статусом заказа
    • Нет → Сообщение «Заказ не найден. Уточните номер»

Для каждого сценария доступна статистика:

  • Количество запусков
  • Дата последнего выполнения
  • Статусы выполнений (успешно, с ошибкой, отменено)
  • Журнал выполнения с детализацией по шагам