Условия
Скопировать ссылку на статью
Скопировано

Содержание

  1. Где используются условия
  2. Формат условий
  3. Источники данных для условий
  4. Операторы
  5. Условия шагов
  6. Условные переходы через действие Перейти к другому шагу
  7. Условные цели напоминаний
  8. Зависимости сигналов и шаги, запускаемые сигналами
  9. Условные действия внутри шага

Условия - это универсальный формат правил, с помощью которого система управляет доступностью шагов сценария, порядком выполнения действий внутри шага, зависимостями между сигналами.

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

Вместо того чтобы описывать в промпте длинные условные правила "Если клиент просит X, то делай Y", лучше перенести их в настройки сценария. Так агенту не нужно каждый раз заново разбирать сложную конструкцию правил; система сама ограничивает доступные варианты и ведет сценарий по нужной ветке.

Система условий намеренно сделана универсальной. Один и тот же формат правил может работать с полями шага сценария, значениями сигналов, расписаниями, данными CRM-клиента, состоянием переписки и конфигурационными данными. Так условия становятся единым инструментом управления сценарием: одна и та же логика правил применяется в разных частях настройки агента.

Где используются условия

Место Назначение Примечания
Условия шага Управляют тем, доступен ли шаг сценария в текущий момент Применяются к шагам с разными триггерами, а не только к шагам, которые агент выбирает сам
Зависимости между сигналами Управляют тем, какие сигналы доступны агенту для анализа Позволяют открывать более точные сигналы только после выполнения предыдущих условий
Шаги, запускаемые сигналами Запускают скрытый шаг сценария, когда значения сигналов совпали с условиями Используются для автоматической реакции на состояние переписки
Условные действия внутри шага Управляют порядком выполнения действий после вызова шага Позволяют пропустить действие, выполнить только часть действий, остановить или заблокировать шаг
Переходы между шагами сценария Перед переходом проверяется, доступен ли целевой шаг Если условия целевого шага не совпали, задача на переход для агента не создаётся
Создание напоминаний Перед созданием напоминания проверяется, доступен ли целевой шаг Если условия целевого шага не совпали, напоминание не создаётся

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

Формат условий

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

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

Например, правило может означать: взять значение сигнала "настроение клиента", сравнить его с вариантом "раздражён" и считать условие выполненным только при совпадении.

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

  • и - должны выполниться все правила;
  • или - достаточно выполнения хотя бы одного правила.

Ожидаемое значение в условиях хранится как текст. Для значений "да/нет" обычно используются строки "true" и "false".

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

Источники данных для условий

Источник данных определяет, откуда система берёт значение для проверки. В одном наборе условий можно проверять разные источники данных: смысловые признаки переписки (сигналы), поля текущего вызванного шага, сохранённые данные сценария, параметры текущего события, данные клиента из CRM и расписания.

Источник данных Откуда берёт значение Что указывается в условии Когда использовать
Данные шага Данные текущего шага, заполненные агентом Переменная шага сценария Когда дальнейшие действия зависят от значения, которое агент передал в этом же шаге
Сигналы Текущее значение сигнала Название сигнала из списка Когда правило зависит от смысла переписки: настроения, намерения, риска, повторного запроса
Состояние Сохранённые данные сценария Переменные, использованные ранее в действии Изменить переменную состояния Когда значение было собрано раньше и должно влиять на дальнейший сценарий в этой переписке
Параметры Данные текущего запуска агента Имя параметра из списка Когда правило зависит от текущего события: сообщения, вложений, канала, UTM или ответственного за диалог
Данные клиента CRM-профиль клиента Поле из данных клиента Когда правило зависит от устойчивых данных клиента: тегов, кастомных полей, контактов, менеджера или сегмента
Расписания Рабочее время CRM или кастомное расписание агента Название расписания из списка Когда правило зависит от текущего времени

Отдельно важно учитывать источник "Данные шага". Такие данные появляются только после того, как агент вызвал конкретный шаг и передал значения его переменных. Поэтому их можно использовать в условных действиях внутри этого же шага, но нельзя использовать для условий видимости шагов, зависимостей сигналов или других проверок, которые выполняются до вызова шага.

Источник Данные шага

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

Этот источник не подходит для условий видимости шагов и других проверок, которые выполняются заранее. До вызова шага у системы ещё нет значений его переменных, поэтому проверять их можно только в условных действиях внутри самого шага.

Пример: в шаге есть переменная decision, в которую агент передаёт решение по дальнейшему сценарию:

  • continue - продолжить стандартный сценарий
  • operator - передать диалог оператору
  • stop - остановить эту ветку

Если значение переменной равно operator, условие может выполнить действия для передачи диалога оператору. Если значение равно stop, другое условие может остановить дальнейшие действия в этой ветке. Значение continue можно оставить обычным путём выполнения без отдельного условия.

Источник Сигналы

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

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

Скрытые шаги, связанные с сигналами, запускаются, когда сигнал получает значение, указанное в условиях шага. У такого шага могут быть и дополнительные условия из других источников: перед запуском система проверяет весь набор правил. Если значение сигнала не изменилось, связанный скрытый шаг не запускается повторно. Если сигнал сначала был сброшен, а затем снова получил подходящее значение, шаг может запуститься ещё раз.

Например, если сигнал "Настроение клиента" получил значение "раздражён", условие может запустить шаг сценария для эскалации диалога: добавить агенту инструкцию аккуратно извиниться, предложить помощь оператора или передать диалог ответственному сотруднику.

Источник Состояние

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

Значения состояния записываются через действие Изменить переменную состояния. Оно может сохранить значение, которое агент передал в переменную текущего шага, или заранее заданное фиксированное значение. При настройке действия пользователь указывает название переменной состояния.

Чтобы использовать значение в условиях позже, его нужно сначала явно записать в одном из шагов сценария. После этого при выборе источника "Состояние" интерфейс покажет эту переменную в списке доступных значений, и на неё можно будет ссылаться в условиях других шагов или действий.

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

Например, после отправки приветствия сценарий может записать в состояние переменную greeting_sent со значением "true". Другие условия будут понимать, что приветствие уже отправлено, и не откроют шаг приветствия повторно. Когда этот признак больше не нужен, отдельный шаг может записать в greeting_sent пустую строку. После этого условия снова будут считать переменную пустой и смогут открыть приветствие в нужном сценарии.

Источник Параметры

Источник "Параметры" используется для условий, которые зависят от текущего события и окружения диалога: текста сообщения, канала, отправителя или ответственного за диалог. В интерфейсе доступные параметры выбираются из фиксированного списка.

Параметр Что проверяет С чем обычно сравнивать Когда использовать
Сообщение: Текст сообщения Текст последнего сообщения Точная фраза, команда или фрагмент текста Когда нужно среагировать на заранее известный текст: команду менеджера, стоп-слово, служебную фразу или шаблон сообщения
Канал: Тип канала Тип канала, из которого пришла переписка Код типа канала, например whatsapp, telegram, consultant, fbmessenger, instagram, viber ,max Когда сценарий должен отличаться для разных типов каналов общения
Канал: Название канала Название конкретного канала Точное название канала в системе Когда нужно настроить поведение для отдельного подключённого канала, а не для всего типа канала
Ответственный: Агент назначен ответственным Назначен ли текущий агент ответственным за диалог true - диалог назначен на этого агента, false - не назначен Когда шаг или действие должны выполняться только если диалог сейчас находится у этого агента. Используется для защиты действий, которые нельзя выполнять вне владения диалогом

Параметры подходят для устойчивых фактов текущего события. Если правило зависит не от самого события, а от смысла переписки, лучше использовать сигнал. Например, точную фразу в сообщении можно проверить через параметр "Текст сообщения", а просьбу клиента позвать оператора надёжнее определять через сигнал.

Источник Данные клиента

Источник "Данные клиента" использует CRM-профиль клиента, связанный с текущим чатом. Эти значения отличаются от состояния сценария: они относятся к карточке клиента в CRM и могут использоваться в разных диалогах, а не только внутри текущей ветки сценария.

В интерфейсе доступные значения сгруппированы по разделам карточки клиента.

Группа Какие значения доступны
Клиент E-mail, важный клиент, внешний ID клиента, дата отписки от email-рассылок, день рождения, имя, фамилия, отчество, комментарий, менеджер клиента, номер дисконтной карты, персональная скидка, плохой клиент, пол
Адрес Адрес клиента, город, дом, индекс, корпус, метро, номер квартиры/офиса, подъезд, примечания к адресу, регион, страна, строение, улица, этаж
Источник Источник, кампания, канал, ключевое слово, содержание кампании
Пользовательские поля Кастомные поля клиента, настроенные в CRM. Они могут отличаться у разных пользователей системы, поэтому в документации не перечисляются отдельно

Если значение нужно только для текущей переписки и не должно сохраняться в карточке клиента, лучше использовать источник "Состояние". Если же правило зависит от устойчивых данных CRM-профиля, используйте "Данные клиента".

Источник Расписания

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

В условиях можно использовать два типа расписаний:

Расписание Что проверяет Как использовать
Рабочее время CRM Находится ли текущий момент внутри рабочего времени, настроенного в CRM Для правил рабочего и нерабочего времени: переводить на оператора только в рабочее время, обещать обратную связь после рабочих часов, запускать разные ветки сценария
Кастомное расписание агента Находится ли текущий момент внутри отдельного расписания, настроенного для агента Для специальных временных окон: акция, смена команды, часы доступности услуги, отдельный график обработки обращений

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

Операторы

Оператор определяет, как система сравнивает значение из выбранного источника с ожидаемым значением.

Оператор Как работает Пример
Равно Значение совпадает с ожидаемым. Для текста регистр не важен: Active и active считаются одинаковыми "Тип отправителя" равно customer; "Агент назначен ответственным" равно true
Не равно Значение не совпадает с ожидаемым. Для текста регистр также не важен "Ответственный: Тип ответственного" не равно user
Больше Числовое значение больше ожидаемого "Персональная скидка" больше 10
Больше или равно Числовое значение больше ожидаемого или равно ему "Персональная скидка" больше или равно 10
Меньше Числовое значение меньше ожидаемого "Этаж" меньше 5
Меньше или равно Числовое значение меньше ожидаемого или равно ему "Этаж" меньше или равно 5
Между Числовое значение входит в диапазон включительно. В условии указываются две границы: минимальное и максимальное значение "Персональная скидка" между 5 и 15
Содержит Текст содержит указанный фрагмент. Для списка проверяется наличие элемента. Регистр учитывается "Текст сообщения" содержит DETENER
Не содержит Текст не содержит указанный фрагмент. Для списка проверяется отсутствие элемента. Регистр учитывается "Текст сообщения" не содержит стоп
Начинается с Текст начинается с указанного значения. Регистр учитывается "Текст сообщения" начинается с call_
Заканчивается на Текст заканчивается указанным значением. Регистр учитывается "Название канала" заканчивается на support
Пустое Значение отсутствует или пустое: не заполнено, равно пустой строке или пустому списку "Телефон отправителя" пустое
Не пустое Значение есть: строка, список или другое значение не пустые "E-mail" не пустое
Соответствует регулярному выражению Текст подходит под регулярное выражение. Если выражение составлено с ошибкой, условие не выполнится "Текст сообщения" соответствует ^call_\\w+
Не соответствует регулярному выражению Текст не подходит под регулярное выражение. Если выражение составлено с ошибкой, условие не выполнится "Текст сообщения" не соответствует ^call_\\w+

Условия шагов

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

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

Условия не заменяют инструкцию шага. Инструкция объясняет агенту, когда и зачем использовать доступный шаг. Условия же заранее ограничивают саму доступность шага: если правило не совпало, шаг просто не рассматривается как возможный вариант.

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

Условные переходы через действие Перейти к другому шагу

Действие Перейти к другому шагу задаёт агенту следующее направление в сценарии: к какому шагу нужно перейти после выполнения текущего шага. Такой переход не запускает сразу несколько веток параллельно. В сценарии сохраняется одно активное направление, поэтому если в текущем шаге первый переход успешно выбрал следующий шаг, остальные переходы в этом же шаге уже не применяются.

Перед тем как поставить задачу на переход, система проверяет целевой шаг: он должен быть активен, а его условия должны быть выполнены. Если целевой шаг сейчас недоступен, задача на переход к нему не создаётся, и выполнение текущего шага продолжается дальше. Благодаря этому можно настроить несколько переходов подряд: система попробует первый подходящий вариант, а если его условия не совпали, перейдёт к следующему.

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

Условные цели напоминаний

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

Если целевой шаг недоступен, напоминание не создаётся. Это важно: условия проверяются не в момент будущего запуска напоминания, а до его постановки. Поэтому условия целевого шага можно использовать как фильтр, который решает, нужно ли вообще планировать отложенный запуск.

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

Зависимости сигналов и шаги, запускаемые сигналами

Сигналы используют систему условий в двух местах:

  1. Зависимости между сигналами управляют тем, какие сигналы доступны агенту для анализа.
  2. Шаги, запускаемые через реакцию на сигнал, используют условия шага, чтобы решить, когда его нужно запустить.

Зависимости между сигналами

Зависимости между сигналами нужны, когда один сигнал имеет смысл проверять только после конкретного значения другого сигнала. Это позволяет выстраивать анализ постепенно: сначала проверять широкие признаки, а более точные открывать только после того, как первые сигналы получили нужные значения. Так агент не проверяет всё сразу, а работает только с теми признаками, которые сейчас имеют смысл.

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

Зависимость сама по себе не устанавливает значение сигнала. Она только решает, будет ли этот сигнал доступен для анализа на текущем ходе. Когда сигнал стал доступен, его значение определяется по переписке: оно может появиться, измениться, сохраниться прежним или очиститься, если контекст разговора изменился.

Шаги, запускаемые сигналами

Проверка сигналов выполняется один раз на ход клиента до обычного ответа агента. За эту проверку агент может определить значения доступных сигналов. После этого система проверяет шаги, запускаемые через реакцию на сигнал.

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

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

Условные действия внутри шага

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

Действие Что делает
Выполнить следующие действия при условии Если условия выполнены, следующие действия выполняются как обычно. Если условия не выполнены, система пропускает указанное количество следующих действий
Пропустить следующие действия при условии Если условия выполнены, система пропускает указанное количество следующих действий. Если условия не выполнены, выполнение продолжается как обычно
Остановить выполнение шага при условии Если условия выполнены, шаг завершается, а оставшиеся действия внутри него не выполняются. Шаг при этом считается выполненным, агент может продолжить работу по сценарию
Заблокировать выполнение шага при условии Если условия выполнены, шаг останавливается с сообщением для агента. Агент должен исправить ситуацию и вызвать шаг заново с другими данными

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

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

Благодарим за отзыв.
Была ли статья полезна?
Нет
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Да
Предыдущая статья
Сигналы
Сигналы Chat Assistant: создание, зависимости, влияние на шаги сценария, условия и рабочий дашборд.
Следующая статья
Отложенные действия
Отложенные действия Chat Assistant: напоминания, таймеры, запуск шагов, расписания и отмена запусков.