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

В сценариях доступны следующие типы переменных:
- системные переменные;
- диалоговые переменные;
- глобальные переменные;
- константы.
Системные
Данные в такой переменной появляются в момент получения сообщения от клиента. Системные переменные содержат информацию о диалоге:
- Мессенджеры — доступные мессенджеры, используются в блоке «Отправка сообщения *»;
- Линии — доступные линии, используются в блоке «Отправка сообщения *»;
- chat_is_open — статус чата: закрыт — «False» или открыт — «True»;
- company_id — ID проекта, к которой привязан бот;
- date — текущая дата в часовом поясе компании в формате %d.%m.%Y;
- datetime — текущая дата и время в часовом поясе компании в формате %d.%m.%Y %H:%M:%S;
- time — текущее время в часовом поясе компании в формате %d.%m.%Y %H:%M:%S;
- day_of_week — день недели в часовом поясе компании, возможные значения: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday;
- day_of_month — день месяца в числовом формате, например, 27;
- email — почтовый адрес, с которого пришло сообщение;
- file_in_message — проверка наличия файла в сообщении;
- file_link — ссылка на файл;
- file_or_message — текст сообщения либо ссылка на файл;
- from_app_id — ID приложения или CRM-системы, из которых пришло сообщение (возможные значения — bitrix, amo, yclients, altegio, null, native, webchat, mobileapp, cabinet, msbot, app_ );
- from_side — отправитель сообщения, возможные значения: out, in. В некоторых случаях может быть пустое;
- id_chat — ID диалога с клиентом;
- license_id — линия, на которую пришло сообщение;
- link — ссылка на объявление Авито (начиная с https://);
- message — текст сообщения;
- messenger_type — канал или email, с которого пришло сообщение. Нужно сделать условие вида messenger_type = и указать одно из возможных значений: WhatsApp (WhatsApp Business Api), grWhatsApp (WhatsApp WEB), caWhatsApp (WhatsApp Cloud API), ViberBot, Telegram, TelegramBot, Avito, Vkontakte, Instagram*, Facebook*, vkNotify, email);
- month_eng — обозначение месяца на английском языке;
- month_ru — обозначение месяца на русском языке;
- name — имя клиента (указать как в ChatApp Dialog);
- name_chat — имя чата, из которого отправили сообщение;
- outgoing_side — показывает, если последнее сообщение является исходящим;
- phone — номер телефона, с которого пришло сообщение;
- responsible — ID ответственного за диалог сотрудника;
- sender — проверка отправителя: сотрудник или робот. Возможные значения поля sender: employee, system;
- tag — метка диалога, используется только в блоке «Условие»;
- telegram_subtype — указание Telegram bot или Telegram Business аккаунт;
- username — username клиента.
Системные переменные даты и времени можно использовать отдельно от сообщения клиента. Если сообщения от клиента нет, то берутся текущие дата и время зоны GMT+3. Если сообщение от клиента пришло, то из часового пояса проекта.
Важно! Системные переменные нельзя использовать в блоке Входящий Webhook.
Диалоговые
Значение такой переменной уникально для каждого диалога. Например, если бот ведет одновременно 2 диалога, изменение глобальной переменной в одном диалоге не повлияет на значение такой же переменной в другом диалоге.
Диалоговую переменную можно создать и изменить. Для этого:
- Зайдите в редактор сценариев;
- В углу справа нажмите «Переменные»;
- Кликните на плюсик или по уже существующей переменной;
- Выберите тип данных;
- Введите название;
- Нажмите «Сохранить».

Глобальная
Значение глобальной переменной одно для всех диалогов. Ее можно создать и изменить. Глобальной переменной, например, является линия или мессенджер, в котором сейчас общается бот.
Для этого:
- Зайдите в редактор сценариев;
- В углу справа нажмите «Переменные»;
- Кликните на плюсик или по уже существующей переменной;
- Выберите тип переменной, тип данный и укажите значение;
- Нажмите сохранить.

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

В редакторе можно использовать переменные в тексте сообщения. Обозначается переменная двойными скобками {{var}}, а на ее место подставляется значение из переменной. В качестве переменной можно задать любую существующую переменную.

Если значений переменных много, рекомендуем использовать другой способ.
1. Перейдите в раздел «Переменные» в правом верхнем углу окна и нажмите «+».

2. В открывшемся окне укажите:
- «Тип переменной» – «Глобальная»;
- «Тип данных» – «Строка» или «Целое число»;
- «Название переменной»;
- «Значения».
В раздел «Значения» добавьте необходимые слова или числа: значение переменных через точку с запятой – ;
3. Нажмите «Сохранить».

4. Затем добавьте созданную переменную в блок «Условие». Укажите условие: содержит ⊃ или не содержит ∌ {{название переменной}}.

Так сценарий станет компактнее и управлять значениями будет проще.