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

Триггеры: Запуск сценариев

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

Понимание триггеров — основа для построения любой диалоговой логики.

Как работают триггеры в сценарии

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

warning

Порядок выполнения: Слева направо

Внутри одного шага система проверяет триггеры последовательно, слева направо. Если сообщение пользователя содержит условия, удовлетворяющие нескольким триггерам в одном шаге (например, распознано несколько намерений), то система последовательно выполнит ветку для каждого сработавшего триггера, соблюдая порядок слева направо. Это означает, что порядок триггеров имеет решающее значение.

Размещайте более специфичные и важные триггеры левее, а более общие (например, триггер «Прочее») — правее.

к сведению

Рекомендация по количеству

Для поддержания читаемости и производительности сценария старайтесь не размещать более 8 триггеров в одном шаге. Если логика становится сложнее, лучше разбить ее на несколько последовательных шагов.

Триггеры делятся на две основные группы:

  • Пользовательские триггеры: Требуют дополнительной настройки (например, выбор конкретного намерения).
  • Системные триггеры: Срабатывают на системные события (например, отправка файла) и не требуют настроек.

Пользовательские триггеры

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

Триггер «Намерение»

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

  • Настройка: Просто выберите одно или несколько намерений из списка. Сценарий запустится, если будет распознано любое из них.
  • Пример: Вы создали намерение Заказ пиццы. Если пользователь напишет "Хочу заказать большую Маргариту", модель распознает это намерение, и сработает триггер, запускающий сценарий оформления заказа.
к сведению

В списке для выбора доступны только активные намерения. Заархивированные намерения не отображаются.

Триггер «Сущность»

Этот триггер срабатывает, когда в сообщении пользователя обнаруживается определенная сущность (фрагмент данных), например, номер телефона, email или дата.

  • Настройка: Выберите одну сущность из списка.
  • Пример: Если пользователь пишет "Мой номер +7 999 123-45-67", триггер, настроенный на системную сущность Phone, сработает и запустит соответствующую ветку сценария для сохранения номера.

Триггер «Выход»

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

  • Настройка: Выберите один из трех режимов:
    • out: Передать управление в Q&A или другой сценарий (наиболее частый вариант).
    • qa: Передать управление только в Q&A.
    • flow: Передать управление только в другой сценарий.
  • Пример: Пользователь находится в сценарии оформления заказа, но вдруг спрашивает "А какая у вас погода?". Триггер «Выход» позволит прервать текущий сценарий и обработать новый запрос.

Системные триггеры

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

Старт

Срабатывает в самом начале диалога (например, при открытии виджета).

Стикер

Пользователь отправил стикер.

Фото

Пользователь отправил изображение (jpg, gif, png).

Аудио

Пользователь отправил аудиозапись (mp3, wav).

Видео

Пользователь отправил видео (mp4, avi).

Файл

Пользователь отправил документ (doc, xls, pdf и др.).

Гео

Пользователь поделился своей геолокацией.

Прочее

Срабатывает на любое событие, не распознанное другими триггерами. Универсальный триггер для обработки непредвиденных запросов или создания «заглушки» в сценарии.

warning

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

Запуск триггера через API

Вы можете запускать сценарии не только действиями пользователя в чате, но и программно, через API. Это открывает безграничные возможности для интеграций: например, вы можете запустить сценарий после успешной оплаты в вашем интернет-магазине или по событию из вашей CRM-системы.

Для этого используется событие с типом intent.

Пример API-запроса для запуска триггера по намерению

В этом примере мы принудительно запускаем сценарий, который должен сработать по триггеру с намерением start_promo_scenario.

{
"user_id": "user-12345",
"event": {
"type": "intent",
"params": {
"intent": "start_promo_scenario"
}
},
"facts": {
"promo_code": "SALE2024",
"source": "api_trigger"
}
}
к сведению

Подробную информацию о формате запросов, аутентификации и всех доступных типах событий вы можете найти в полной документации по API.