Триггеры
Триггеры — это стартовые блоки сценария. Триггер определяет, какое событие и при каких условиях запустит ваш процесс. Когда происходит это событие, триггер активируется и передает управление следующему блоку.
На холст можно добавить несколько триггеров разных типов. Таким образом, один сценарий может обрабатывать различные события.
На платформе доступны следующие типы триггеров:
- Вебхук — запускается по HTTP-запросу из внешней системы.
- Планировщик — активируется по заданному расписанию.
- Сообщение — реагирует на сообщения и события в текстовых каналах.
- Триггеры Вебхук и Планировщик запускают процесс сразу для всех пользователей и каналов.
Как добавить триггер на холст
- Перейдите в проект и на левой панели нажмите , чтобы открыть конструктор.
- В верхнем левом углу холста нажмите — откроется список блоков.
- Раскройте список Триггеры и перетащите нужный блок на холст.
- Соедините триггер со следующим блоком в сценарии.
Триггер «Вебхук»
Этот триггер запускает процесс по HTTP-запросу из внешней системы, например из CRM или ERP.
Особенности:
- Для каждого блока Вебхук на холсте автоматически генерируется уникальный URL.
- Вебхук не требует дополнительной аутентификации. Любой, у кого есть ссылка, может запустить связанный с ней процесс.
- Вебхук запускает процесс сразу для всех пользователей во всех каналах.
- Вебхук не передает в процесс никакую дополнительную информацию.
Настройка
Нажмите на блок Вебхук и скопируйте уникальный URL.
Чтобы запустить процесс, внешняя система должна отправить GET-запрос на этот URL. При успешном вызове сервер вернет 200 OK, и сценарий будет запущен.
Чтобы протестировать вебхук, скопируйте его URL и откройте в браузере.
Триггер «Планировщик»
Этот триггер запускает процесс по заданному расписанию. Он идеально подходит для автоматизации рутинных задач, таких как формирование отчетов или рассылка сообщений.
Особенности:
- Планировщик запускает процесс сразу для всех пользователей во всех каналах.
- Планировщик не передает в процесс никакую дополнительную информацию.
Настройка
-
Нажмите на блок Планировщик, чтобы открыть настройки.
-
Выберите вариант расписания:
-
Простое — для быстрой настройки с помощью готовых интервалов. Укажите дату и время первого запуска, выберите периодичность и условие окончания.
предупреждениеЕсли время первого запуска уже прошло и выбран вариант Не повторять, то триггер запустится один раз сразу после сохранения.
-
Cron-выражение — для более гибкой настройки. Укажите Cron-выражение в формате Quartz и условие окончания. Например,
0 30 9 ? * MON— каждый понедельник в 9:30.
После настройки расписания платформа отобразит информацию о ближайших запланированных запусках (не более 5).
-
-
Нажмите Сохранить.
Новое расписание начинает работать сразу, как только вы нажали Сохранить, независимо от публикации процесса. Публикация нужна, только если вы меняли логику самого процесса: например, добавляли блоки или меняли текст сообщений.
Чтобы случайно не отправить сообщение во все каналы при редактировании триггера в уже опубликованном процессе, используйте для отладки блок Условие с функцией Context.isTestChannel().
Добавьте условие после планировщика, опубликуйте процесс, затем внесите изменения и протестируйте их в тестовом виджете.
Триггер «Сообщение»
Этот триггер срабатывает, когда в подключенный канал поступает сообщение, файл, геолокация, контакт или стикер, а также при открытии окна тестового виджета.
Каналы работают независимо друг от друга. Ответ будет доставлен в тот канал, откуда пришло исходное событие.
Настройка
В триггере Сообщение автоматически подключены все настроенные в проекте каналы. Добавить или редактировать каналы можно как в разделе Интеграции, так и в самом триггере — эти способы эквиваленты. Если в проекте не подключен ни один канал, триггер срабатывает только в тестовом виджете.
Использование
С агентом
Соедините триггер Сообщение с блоком Агент. Агент обработает сообщение пользователя в соответствии со своим промтом и другими настройками. Примеры смотрите в разделах Быстрый старт: Шаг 2 и Работа агента в процессе.
С функцией
Триггер Сообщение можно соединить с функцией.
Для извлечения различных данных о сообщении используйте встроенные функции из раздела Context.
Например, функция Context.getMessageContent() возвращает содержание сообщения, Context.getChannelType() — тип канала.
Рассмотрим тривиальный пример эхо-бота:
- Добавьте на холст триггер Сообщение и функцию
Reactions.sendText(), соедините их последовательно. - В настройках функции
Reactions.sendTextукажите значение{{"Вы сказали: " + Context.getMessageContent().text}}.
Такой бот на сообщение «Привет» ответит «Вы сказали: Привет».
