For the complete documentation index, see llms.txt. This page is also available as Markdown.

Переменные

В данном разделе вы найдете информацию по переменным.

Переменные — это подстановки, которые Савви заполняет автоматически в момент ответа. Вы пишете в инструкции {current_datetime}, а модель получает уже готовое «Saturday, January 02, 2025 at 16:03+03:00».

Все переменные записываются в фигурных скобках и делятся на три группы:

Группа
Что внутри
Кто заполняет

Системные

Дата, время, часовой пояс, канал, ссылка на диалог, параметры агента

Платформа

Канальные

Данные о собеседнике и о сделке / заявке / товаре, которые пришли из подключённого канала

Канал

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

То, что агент запомнил в ходе диалога сам

Агент

Как вставить переменную

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

Переменные работают не только в системной инструкции. Их же можно подставлять:

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

Доступны в любом агенте, независимо от того, какие каналы подключены.

Переменная
Тип
Что подставляет

{current_datetime}

Строка

Текущие дата и время в формате Saturday, January 02, 2025 at 16:03+03:00

{current_datetime_iso}

Строка

Те же дата и время в формате ISO

{current_date}

Строка

Только текущая дата

{current_time}

Строка

Только текущее время

{current_year}

Целое число

Текущий год

{current_timezone}

Строка

Часовой пояс, в котором работает агент

{now_datetime}

Дата-время

Текущие дата и время в «нативном» формате — не строкой, а объектом даты

{channel_name}

Строка

Кодовое название канала, из которого пришло обращение — см. таблицу ниже

{chat_link}

Строка

Ссылка на этот диалог в кабинете Савви. Удобно передавать в уведомление менеджеру, чтобы он открыл переписку одним нажатием

{instance_name}

Строка

Название агента

{instance_max_answer_tokens}

Целое число

Максимальное количество токенов, доступных агенту на один ответ

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

Пример: срок доставки от текущей даты

Канальные переменные

Когда обращение приходит из подключённого канала, вместе с сообщением в Савви попадают данные о собеседнике и о том объекте, в котором идёт переписка: сделке в CRM, заявке в хелпдеске, карточке товара на маркетплейсе. Эти данные и становятся канальными переменными.

Набор переменных зависит от канала. У Telegram есть имя и username, у amoCRM — идентификаторы сделки и контакта, у Wildberries — артикул товара, у голосового канала — номер телефона и причина завершения звонка.

Базовый набор

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

Переменная
Что подставляет

{name}

Имя собеседника, как его передал канал

{username}

Логин собеседника в канале, например ник в Telegram

{link}

Ссылка на переписку на стороне канала — на сделку в CRM или чат в мессенджере

{source_chat_id}

Идентификатор чата на стороне канала

{source_channel_id}

Идентификатор самого канала

{channel_name}

Кодовое название канала

{custom_fields}

Дополнительные поля конкретного канала. В CRM сюда попадают собственные поля сделки — см. ниже

Кодовые названия каналов

Значение {channel_name} — это техническое имя канала, а не то, как он подписан в интерфейсе. Именно его нужно указывать в условиях, если агент работает сразу в нескольких каналах и должен отвечать по-разному.

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

Канал

Значение channel_name

amoCRM / Kommo

amocrm, kommo

Битрикс24

bitrix

RetailCRM

retailcrm

GetCourse

getcourse

Telegram

telegram_bot

WhatsApp

whatsapp

MAX

max, max_bot

VK

vk

Instagram

instagram, instagram_comments

Facebook

facebook

Савви Виджет

widget

Jivo

jivo

Электронная почта

email, umnico_email

UseDesk

usedesk

HelpDeskEddy

helpdeskeddy

PlanFix

planfix

Omnidesk

omnidesk

Zoho

zoho_salesiq, zoho_teaminbox

Umnico

umnico

Wazzup

wazzup

Wildberries

wildberries_review, wildberries_question

OZON

ozon_review, ozon_question, ozon_chat

Яндекс.Маркет

yandexmarket_review, yandexmarket_chat

Авито

avito

ЦИАН

cian

Персональный канал (API)

custom

Голосовой агент

inbound_voice_call, outbound_voice_call

Тестовый чат и тестовый звонок в кабинете

test_chat, test_voice_call

Как узнать переменные своего канала

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

1

Найдите живой диалог из нужного канала

Раздел История, фильтр по каналу. Нужен диалог, в котором уже есть сообщения от клиента.

2

Выгрузите экспорт диалога

Подробнее про экспорт — в статье Работа с чатами.

3

Посмотрите параметры в самом верху

Названия параметров из шапки — это и есть имена переменных. Их можно подставлять в инструкцию и передавать в аргументы функций.

Переменные amoCRM и Kommo

Из сделки, кроме базового набора, приходят идентификаторы, этап воронки и источник переписки:

Переменная
Пример значения
Что подставляет

{lead_id}

41230987

Идентификатор сделки

{contact_id}

70112233

Идентификатор контакта

{manager_id}

10554477

Идентификатор ответственного менеджера

{pipeline_id}

10233445

Идентификатор воронки

{status_id}

80112233

Идентификатор этапа сделки

{price}

15000

Бюджет сделки

{source}

Сделка #41230987

Название источника, как он подписан в amoCRM

{source_id}

21100500

Идентификатор источника

{origin}

help.message

Откуда пришло обращение — идентификатор интеграции мессенджера или сервиса

{chat_id}

a1b2c3d4-5e6f-…

Идентификатор чата, UUID

{customer_id}

9f8e7d6c-5b4a-…

Идентификатор покупателя, UUID

{talk_id}

17420

Идентификатор беседы

{talk_category}

—

Категория беседы, если задана

Идентификаторы удобно передавать в веб-хуки и в уведомления менеджеру: по ним принимающая сторона поймёт, о какой именно сделке речь.

Пример: разная ссылка на регистрацию в зависимости от источника

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

Переменные Битрикс24

Набор похож на amoCRM по смыслу, но отличается и названиями, и форматом значений:

Переменная
Пример значения
Что подставляет

{entity_type}

deal

Тип объекта, в котором идёт переписка — сделка или лид

{entity_id}

4207

Идентификатор этого объекта

{contact_id}

3115

Идентификатор контакта

{manager_id}

1042

Идентификатор ответственного менеджера

{pipeline_id}

7

Идентификатор направления

{status_id}

C7:NEW

Стадия сделки — вместе с номером направления

{origin}

telegrambot

Канал, из которого пришло обращение в открытую линию

{openline_id}

12

Идентификатор открытой линии

{chat_id}

2318

Идентификатор чата

{bot_id}

987

Идентификатор бота Савви в Битриксе

{client_id}

a7c31f…

Идентификатор приложения Савви

Свои поля сделки

Кроме стандартных переменных агент видит и ваши собственные поля сделки — те, что вы выбрали при настройке канала. Они приезжают внутри {custom_fields}.

Имя переменной складывается из префикса entity_ и того псевдонима, который вы задали полю в настройках канала. Задали полю UF_CRM_1758727500777 псевдоним «Промокод» — агент увидит его как entity_Промокод.

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

Переменные голосового канала

У голосового агента свой набор:

Переменная
Что подставляет

{customer_phone}

Номер телефона собеседника

{channel_phone}

Номер, с которого работает агент

{call_close_reason}

Причина завершения звонка — см. значения ниже

{room_name}

Идентификатор комнаты звонка

Возможные значения {call_close_reason}:

Значение
Что произошло

agent_finished

Агент завершил разговор сам

participant_disconnected

Собеседник положил трубку

participant_inactive

Собеседник молчал дольше допустимого

participant_busy

Занято

participant_no_answer

Не взяли трубку

voicemail

Ответил автоответчик

max_duration

Достигнут лимит длительности звонка

transferred

Звонок переведён на менеджера

internal_error

Внутренняя ошибка

{call_close_reason} заполняется после завершения звонка, поэтому применять его стоит не в самом разговоре, а в том, что происходит после: в веб-хуке, уведомлении менеджеру или условии исходящего обзвона — например, перезвонить только тем, кто не взял трубку.

Переменные в интеграциях

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

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

Телефон приходит далеко не из каждого канала: в голосовом он есть всегда, в мессенджерах — нет. Пропишите в инструкции запасной вариант: «Если телефон не известен — попроси клиента его назвать».

Так же переменные передаются в веб-хуки — в том числе прямо в строку URL. Например, идентификатор сделки из CRM можно подставить в адрес запроса, чтобы внешний сервис сразу понял, о какой сделке речь.

Пользовательские переменные

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

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

Пользовательские переменные

Частые ошибки

Симптом
Причина

Переменная подставляется пустой

Канал не передаёт эти данные. Проверьте по экспорту диалога, что параметр вообще приходит

Условие по {channel_name} не срабатывает

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

Агент ошибается в датах и сроках

Проверьте часовой пояс в Доп. настройки → Рабочее время. Иногда причина в маскировании персональных данных.

Последнее обновление

Это было полезно?