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

Триггеры

Триггеры — это стартовые блоки сценария. Триггер определяет, какое событие и при каких условиях запустит ваш процесс. Когда происходит это событие, триггер активируется и передает управление следующему блоку.

На холст можно добавить несколько триггеров разных типов. Таким образом, один сценарий может обрабатывать различные события.

На платформе доступны следующие типы триггеров:

  • Вебхук — запускается по HTTP-запросу из внешней системы.
  • Планировщик — активируется по заданному расписанию.
  • Сообщение — реагирует на сообщения и события в текстовых каналах.
предупреждение
  • Триггеры Вебхук и Планировщик запускают процесс сразу для всех пользователей и каналов.

Как добавить триггер на холст

  1. Перейдите в проект и на левой панели нажмите , чтобы открыть конструктор.
  2. В верхнем левом углу холста нажмите  — откроется список блоков.
  3. Раскройте список Триггеры и перетащите нужный блок на холст.
  4. Соедините триггер со следующим блоком в сценарии.

Триггер «Вебхук»

Этот триггер запускает процесс по HTTP-запросу из внешней системы, например из CRM или ERP.

Особенности:

  • Для каждого блока Вебхук на холсте автоматически генерируется уникальный URL.
  • Вебхук не требует дополнительной аутентификации. Любой, у кого есть ссылка, может запустить связанный с ней процесс.
  • Вебхук запускает процесс сразу для всех пользователей во всех каналах.
  • Вебхук не передает в процесс никакую дополнительную информацию.

Настройка

Нажмите на блок Вебхук и скопируйте уникальный URL.

Чтобы запустить процесс, внешняя система должна отправить GET-запрос на этот URL. При успешном вызове сервер вернет 200 OK, и сценарий будет запущен.

подсказка

Чтобы протестировать вебхук, скопируйте его URL и откройте в браузере.

Триггер «Планировщик»

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

Особенности:

  • Планировщик запускает процесс сразу для всех пользователей во всех каналах.
  • Планировщик не передает в процесс никакую дополнительную информацию.

Настройка

  1. Нажмите на блок Планировщик, чтобы открыть настройки.

  2. Выберите вариант расписания:

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

      предупреждение

      Если время первого запуска уже прошло и выбран вариант Не повторять, то триггер запустится один раз сразу после сохранения.

    • Cron-выражение — для более гибкой настройки. Укажите Cron-выражение в формате Quartz и условие окончания. Например, 0 30 9 ? * MON — каждый понедельник в 9:30.

    После настройки расписания платформа отобразит информацию о ближайших запланированных запусках (не более 5).

  3. Нажмите Сохранить.

к сведению

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

Чтобы случайно не отправить сообщение во все каналы при редактировании триггера в уже опубликованном процессе, используйте для отладки блок Условие с функцией Context.isTestChannel(). Добавьте условие после планировщика, опубликуйте процесс, затем внесите изменения и протестируйте их в тестовом виджете.

Триггер «Сообщение»

Этот триггер срабатывает, когда в подключенный канал поступает сообщение, файл, геолокация, контакт или стикер, а также при открытии окна тестового виджета.

Каналы работают независимо друг от друга. Ответ будет доставлен в тот канал, откуда пришло исходное событие.

Настройка

В триггере Сообщение автоматически подключены все настроенные в проекте каналы. Добавить или редактировать каналы можно как в разделе Интеграции, так и в самом триггере — эти способы эквиваленты. Если в проекте не подключен ни один канал, триггер срабатывает только в тестовом виджете.

Использование

С агентом

Соедините триггер Сообщение с блоком Агент. Агент обработает сообщение пользователя в соответствии со своим промтом и другими настройками. Примеры смотрите в разделах Быстрый старт: Шаг 2 и Работа агента в процессе.

Агент с автоматическим ответом

С функцией

Триггер Сообщение можно соединить с функцией. Для извлечения различных данных о сообщении используйте встроенные функции из раздела Context. Например, функция Context.getMessageContent() возвращает содержание сообщения, Context.getChannelType() — тип канала.

Рассмотрим тривиальный пример эхо-бота:

  1. Добавьте на холст триггер Сообщение и функцию Reactions.sendText(), соедините их последовательно.
  2. В настройках функции Reactions.sendText укажите значение {{"Вы сказали: " + Context.getMessageContent().text}}.

Такой бот на сообщение «Привет» ответит «Вы сказали: Привет».

Эхо-бот