Документация / Операционный агент
Операционный агент: триггеры
Что может начать запуск (завершённый звонок на АТС, вебхук, расписание, другой агент, ручной запуск) и как захватить реальное событие Прослушиванием.
Последнее обновление:
Триггер это первый блок на доске: он определяет, когда выполняется поток и с какими данными он начинается. Каждый вид триггера может встречаться на доске один раз, а на одной доске может быть несколько видов (например, звонок на АТС и ручной запуск). Триггеры начинают запуски только пока агент включён; тестовый запуск из конструктора работает в любом случае.
Звонок завершён (АТС)#
Каждый звонок, записанный в журнал АТС проекта, запускает поток. АТС подключается один раз для всего проекта в разделе Интеграции (см. Контакты и интеграция с АТС). Триггер передаёт шагам:
caller_number,caller_name,callee_number,callee_name,direction(входящий, исходящий, внутренний)duration_sec,status(отвечен, пропущен и так далее),subject,extension(имя пользователя добавочного номера)recording_url(ссылка на скачивание в АТС) иrecording_ref(имя файла записи)call_id,contact_id,contact_number
У пропущенного звонка нет записи. Шаги, которым она нужна (скачивание, расшифровка, сводка, отчёт), помечают себя Пропущен: нечего делать, и запуск всё равно завершается, поэтому пропущенный звонок никогда не оставляет запуск в ожидании повторов.
Не выпускайте recording_url за пределы потока: он содержит секрет скачивания АТС. Чтобы идентифицировать запись в другой системе, отправляйте вместо него recording_ref.
Один звонок на АТС может запустить несколько агентов: на нём выполняется каждый включённый агент с этим триггером.
Получен вебхук#
Агента может запустить всё, что умеет отправлять JSON: доска показывает собственный URL агента в инспекторе (а также в Настройках). Тело запроса становится данными триггера, поэтому поле order_id в теле доступно в шагах как {{trigger.order_id}}.
Запуск по расписанию#
Запускает поток каждый час, каждый день в 09:00, по будням в 09:00, каждый понедельник в 09:00, первого числа месяца в 09:00 или по вашему собственному cron-выражению, в выбранном вами часовом поясе, не чаще одного раза в пять минут. Два варианта выбора:
- Если предыдущий запуск ещё идёт: пропустить этот или поставить его в очередь.
- Срабатывания, пропущенные во время простоя сервиса: пропустить их или выполнить один раз.
После сохранения конструктор показывает оценку числа запусков и стоимости в месяц, потому что каждый запуск оплачивается за время работы. Обзор показывает следующий запуск по расписанию. Триггер передаёт scheduled_for, fired_at, cron, timezone и missed_by_s.
Вызван другим агентом#
Другой операционный агент проекта передаёт данные этому агенту через Вызвать другого агента или Диспетчер. Отправленные данные становятся данными триггера; caller_agent и caller_run_id указывают, кто вызвал. Используйте его для агентов, выполняющих одну задачу для нескольких других.
Ручной запуск#
Запускает поток из консоли или через API с введёнными вами данными. Полезно для досок, которые вы запускаете по требованию, например чтобы расшифровать одну запись по её URL.
Получено сообщение WhatsApp#
Клиент написал на один из номеров WhatsApp проекта (см. WhatsApp: ваш агент на рабочем номере компании). Только сообщения клиентов: у ответов вашей команды свой триггер. Сузьте его полями Номер (пусто: любой номер проекта), Тип сообщения, Какие сообщения (каждое сообщение, первое сообщение разговора или сообщение после 24 часов тишины, которое открывает новое окно 24 часов) и Текст содержит, которое ищет и в подписи, и в расшифровке голосового сообщения. Триггер передаёт шагам:
from(номер телефона клиента, пустой, если клиент его скрывает),user_id(его идентификатор пользователя WhatsApp, есть всегда),username,profile_nametext(для голосового сообщения его расшифровка),type,caption,media,locationconversation_id,wamid,timestamp,number_id,number,contact_id,window_open_until,window_opened,first_in_conversationanswered_by: кто отвечает на это сообщение по настройкам ответа номера (agent,team_then_agentилиteam), чтобы доска действовала только тогда, когда ответят люди
Используйте event_id (то же, что wamid), когда системе, в которую вы отправляете данные, нужен ключ, который никогда не повторяется.
Ваша команда ответила в WhatsApp#
Кто-то из вашей команды ответил клиенту в WhatsApp, из консоли или из приложения WhatsApp Business на телефоне. Сузьте его полями Номер, Отправлено из (консоль или приложение на телефоне) и Текст содержит. Он передаёт text ответа, sent_by, rep_name (кто ответил, из консоли), agent_paused_until, conversation_id и wamid, а также from и user_id клиента. Типичное применение: записывать ответы вашей команды в вашу CRM.
Прослушивание реального события#
У триггеров Получен вебхук, Звонок завершён (АТС), Вызван другим агентом, Получено сообщение WhatsApp и Ваша команда ответила в WhatsApp в инспекторе есть кнопка Прослушать. Нажмите её, а затем вызовите событие: отправьте вебхук из другой системы, совершите звонок на АТС и положите трубку, запустите доску, которая вызывает эту, напишите на номер WhatsApp с телефона или ответьте клиенту из консоли или приложения WhatsApp Business. Следующее событие показывается в инспекторе в отформатированном виде точно так, как его получит триггер, и оно не выполняется, даже если агент выключен. Прослушивание длится десять минут. Нажмите Использовать как тестовые данные, чтобы запустить доску именно с этими данными.
Это самый быстрый способ узнать настоящие имена полей, которые отправляет система, вместо того чтобы угадывать их.