enВойти в Senler

Данные и переменные в агенте

Кратко

В инструкции агента можно использовать четыре вида данных:

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

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

Данные текущего диалога

При подготовке ответа Senler использует не всю базу проекта, а выбранный фрагмент текущего диалога. В нём есть текущее событие, время сообщений, их авторы и явные связи ответов на сообщения. В групповом диалоге в служебной разметке истории у участников указывается внутренний ID лида Senler; доступные имя или username также могут быть показаны рядом с автором.

Эта разметка помогает агенту понимать ход беседы, но её не следует разбирать в пользовательской инструкции. Если правило зависит от точного поля текущего лида, вставьте это поле через «Данные лида». Например, {{lead_data.id}} — внутренний ID лида Senler, а {{lead_data.external_user_id}} — ID пользователя в подключённом канале. Это разные значения.

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

Вставьте данные в инструкцию

  1. Поставьте курсор в нужное место инструкции агента.
  2. Нажмите «Вставить переменную». Откроется окно «Данные и переменные».
  3. Выберите вкладку «Проект», «Лид», «Диалог» или «Данные лида».
  4. Найдите поле по названию или системному имени.
  5. Нажмите «Значение», чтобы подставить его в текст, либо «Условие», чтобы выбрать один из двух фрагментов инструкции в зависимости от значения.
Вставьте данные в инструкцию. 4. «Данные лида»
4. «Данные лида»

После вставки в редакторе останется запись вида {{lead_data.first_name}}. Перед каждым ответом Senler заменит её фактическим значением текущего лида, и только затем передаст инструкцию агенту. Если значения нет, вместо него будет пустое место. Подстановка сама по себе не разрешает агенту изменять данные.

«Условие» вставляет блок {{#if ...}}. Например, так можно задать обращение к клиенту:

{{#if lead_data.first_name}}
Обращайся к клиенту по имени: {{lead_data.first_name}}.
{{else}}
Сначала спроси, как обращаться к клиенту.
{{/if}}

В этом примере заполненное имя включает первый фрагмент, а отсутствие имени — фрагмент после {{else}}. Для других типов данных важно учитывать правило: условие также считается невыполненным для числа 0, логического значения false, пустого массива [], пустого объекта {} и строки из одних пробелов. Строка "0", напротив, включает первый фрагмент.

Поэтому не используйте такое условие как универсальную проверку «значение задано»: например, нулевой остаток — это известное значение, но он попадёт в ветку else. Замените текст в обеих ветках правилами для своей задачи.

Системные данные лида

На вкладке «Данные лида» доступны следующие поля:

ПолеЧто будет подставлено
{{lead_data.id}}Внутренний ID лида в Senler
{{lead_data.first_name}}Имя
{{lead_data.last_name}}Фамилия
{{lead_data.full_name}}Имя и фамилия, собранные из заполненных полей
{{lead_data.username}}Имя пользователя в канале, если оно известно
{{lead_data.email}}Email
{{lead_data.phone}}Телефон
{{lead_data.avatar_url}}Ссылка на аватар
{{lead_data.channel_id}}Внутренний ID подключённого канала
{{lead_data.channel_type}}Тип канала
{{lead_data.external_user_id}}ID пользователя на стороне канала
{{lead_data.language_code}}Код языка лида
{{lead_data.lead_source}}Источник создания лида
{{lead_data.lead_type}}Тип лида
{{lead_data.created_at}}Дата и время создания лида
{{lead_data.updated_at}}Дата и время последнего обновления лида

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

Примеры для инструкции

Обращение по имени:

Если имя заполнено, обращайся к клиенту по имени: {{lead_data.first_name}}.

Передача точного идентификатора во внешний инструмент:

Когда инструменту нужен внутренний ID лида Senler, используй {{lead_data.id}}.
Когда нужен ID пользователя в канале, используй {{lead_data.external_user_id}}.
Не подменяй один идентификатор другим.

Постоянные данные проекта:

В конце ответа указывай актуальный адрес: {{project.office_address}}.

Переменные проекта

Переменные проекта хранят постоянные общие данные: тарифы, ссылки, правила, контакты, адреса, промокоды или юридические условия. Значение {{project.имя_переменной}} одинаково для всех диалогов проекта.

Переменные лида

Переменные лида — это собственные данные конкретного клиента: город, сегмент, статус заказа, интерес, последний продукт или дата следующего контакта. Значение {{lead.имя_переменной}} берётся у текущего лида.

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

Переменные диалога

Переменная диалога хранит значение для текущей переписки. Например, {{dialog.deal_id}} подставит номер сделки, которую обсуждают именно здесь. Значение сохраняется между ответами агента и запусками автоматизаций, но не переносится автоматически в другую переписку с тем же клиентом.

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

Ссылка на переменную и подстановка значения — разные действия

Кнопка @ открывает единый каталог ссылок для инструкции. В разделе «Переменные» можно добавить заметный тег переменной проекта, лида или диалога. Такой тег помогает сформулировать правило для работы с переменной и сразу включает агенту доступ на чтение выбранной переменной.

Кнопка «Вставить переменную» добавляет шаблон {{...}}. Senler подставляет значение в инструкцию до запуска агента; для этой подстановки отдельное право инструмента не требуется. Однако шаблон не даёт агенту возможности получить другое поле по ходу разговора или сохранить новое значение.

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

Настройте самостоятельную работу с переменными

Откройте вкладку «Инструменты» агента.

  1. В блоке «Переменные» нажмите «Настроить». Откроется окно доступа к переменным.
  2. В поле «Уровень доступа» выберите правило по умолчанию: «Нет доступа», «Только чтение» или «Чтение и запись».
  3. Нажмите «Добавить переменную».
Настройте самостоятельную работу с переменными. Отмеченные элементы: 3. окно доступа к переменным; 4. «Уровень доступа»; 5. «Добавить переменную»
3. окно доступа к переменным · 4. «Уровень доступа» · 5. «Добавить переменную»

В окне выбора откройте вкладку «Проект», «Лид» или «Диалог». Найдите нужное поле через поиск, затем отметьте отдельные переменные либо все переменные выбранного типа. Если нужного поля ещё нет, используйте кнопку создания. После выбора нажмите «Готово»; стрелка назад возвращает к настройкам без закрытия всего окна.

Настройте самостоятельную работу с переменными. Отмеченные элементы: 7. «Проект»; 8. «Лид»; 9. «Диалог»; 10. поиск; 11. все переменные выбранного типа
7. «Проект» · 8. «Лид» · 9. «Диалог» · 10. поиск · 11. все переменные выбранного типа

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

Нажмите «Сохранить», чтобы перенести выбранные права в черновик агента. «Отмена» закрывает окно без применения текущей правки.

Настройте самостоятельную работу с переменными. Отмеченные элементы: 16. уровень доступа; 17. «Общие права»; 18. крестик; 19. «Сохранить»; 20. «Отмена»
16. уровень доступа · 17. «Общие права» · 18. крестик · 19. «Сохранить» · 20. «Отмена»

Выдавайте минимально необходимые права. Режим «Чтение и запись» позволяет агенту изменить значение, но сам по себе не является командой что-либо менять: нужное действие всё равно следует описать в инструкции или запросить в диалоге.

Проверьте и опубликуйте изменения

  1. Дождитесь сохранения черновика агента после изменения инструкции или прав.
  2. Протестируйте агента: задайте вопрос, для которого нужно выбранное поле, и проверьте результат. Если разрешена запись, используйте учебные данные — тест может изменить их.
  3. Когда результат вас устраивает, опубликуйте новую версию. Сохранение окна переменных само по себе не обновляет опубликованного агента.

Для подстановки можно взять {{dialog.deal_id}}: сначала заполните номер сделки в нужном диалоге, затем отправьте в той же переписке вопрос о номере сделки. В другом диалоге этого значения может не быть. При тестировании в отдельной переписке проверьте её собственные данные.

Личные и групповые диалоги

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

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

Переменные проекта от участника не зависят и остаются общими для всего проекта. Подстановка lead_data и lead относится к текущему лиду ответа. Чтобы изменить данные другого участника группового диалога инструментом, его нужно однозначно указать по имени или ответом на его сообщение.

Почему переменная не изменилась

Проверьте по порядку:

  1. Для подстановки проверьте системное имя внутри {{...}} и наличие значения в выбранном источнике: проекте, текущем лиде или текущем диалоге.
  2. Для собственной переменной проверьте, что её определение существует в «Настройки» -> «Переменные».
  3. Если агент читает или меняет переменную инструментом, она добавлена в блоке «Переменные» и для неё разрешён нужный доступ.
  4. Для изменения выбран режим «Чтение и запись», а не «Только чтение».
  5. В групповом чате или комментариях однозначно указан нужный участник.
  6. Изменения агента сохранены и опубликованы; рабочий диалог использует новую версию.

Если участник или право записи не определены однозначно, безопасный результат — не менять значение и объяснить, что нужно уточнить.

Где находятся настройки

  • форма настроек агента
  • список агентов
  • пункт «Агенты» в боковом меню