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

В сценариях доступны следующие типы переменных:
Системные
Данные в такой переменной появляются в момент получения сообщения от клиента. Системные переменные содержат информацию о диалоге:
- 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, ozon, wildberries, max, maxBot);
- month_eng — обозначение месяца на английском языке;
- month_ru — обозначение месяца на русском языке;
- name — имя клиента (указать как в ChatApp Dialog);
- name_chat — имя чата, из которого отправили сообщение;
- outgoing_side — показывает, если последнее сообщение является исходящим;
- phone — номер телефона, с которого пришло сообщение;
- quoted_file — ссылка на файл исходного сообщения (если вложение присутствует);
- quoted_message — текст исходного сообщения, на которое был дан ответ;
- responsible — ID ответственного за диалог сотрудника;
- responsible_name — имя ответственного за диалог сотрудника;
- sender — проверка отправителя: сотрудник или робот. Возможные значения поля sender: employee, system;
- sender_id — ID пользователя, который отправил сообщение;
- tag — метка диалога, используется только в блоке «Условие»;
- telegram_subtype — указание Telegram bot или Telegram Business аккаунт;
- username — username клиента.
Важно! Системные переменные нельзя использовать в блоке Входящий Webhook.
Диалоговые
Значение такой переменной уникально для каждого диалога. Например, если бот ведет одновременно 2 диалога, изменение диалоговой переменной в одном диалоге не повлияет на значение такой же переменной в другом диалоге. Диалоговую переменную можно создать и изменить. Для этого:
- Зайдите в редактор сценариев;
- В углу справа нажмите «Переменные»;
- Кликните на плюсик или по уже существующей переменной (для изменения ее названия);
- Выберите тип данных;
- Введите название;
- Нажмите «Сохранить».
Изменить значение диалоговой переменной можно с помощью блока «Изменение переменной».

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

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

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

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

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

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