StreloБаза знанийВ кабинет

Как сохранить значение в переменную - нода «Сохранить в переменную»

Нода «Сохранить в переменную» записывает любое значение в переменную текущей сессии. Потом это значение можно подставить в сообщения, проверить в условиях или передать в другие ноды. Еще называют: записать в переменную, создать переменную, задать переменную, set variable.

Пошагово

  1. В левой панели редактора сценария, группа «Контакт», найдите блок «Сохранить в переменную» и перетащите на холст.
  2. Соедините с предыдущей нодой.
  3. Кликните по ноде - откроется панель «Сохранить в переменную».
  4. В поле «Имя переменной» введите название латиницей без пробелов, например city или chosen_plan. Под этим именем значение будет доступно дальше в сценарии.
  5. В поле «Значение» введите текст. Чтобы вставить другую переменную - нажмите @, появится список доступных переменных. Можно смешивать текст и подстановки: Привет, {{first_name}}! Ваш заказ {{order_id}}.
  6. Соедините выход ноды со следующим шагом.
  7. Сохраните сценарий. Готово. При прохождении этой ноды значение запишется в переменную и сохранится до конца воронки - переживет паузы и ожидания ответа.

Как потом использовать сохраненное значение?

В любом поле с поддержкой переменных - нажмите @ или введите {{имя_переменной}}. Например, в «Отправить сообщение» напишите Доставка в {{city}} доступна! - и получите персонализированный ответ.

Переменная сессии vs. поле контакта: что выбрать?

  • Переменная сессии (эта нода) - живет только в рамках текущего прохождения сценария. После завершения воронки исчезает. Удобно для промежуточных расчетов, выбора пользователя в конкретном квизе.
  • Поле контакта (нода «Установить поле») - сохраняется в карточке контакта навсегда. Видно в CRM, доступно в следующих сценариях. Удобно для имени, города, статуса клиента. Частый паттерн: «Сохранить в переменную» собирает и склеивает данные внутри воронки, а в конце «Установить поле» переносит нужное в карточку контакта.

Можно ли перезаписать переменную?

Да. Если в сценарии ниже стоит еще одна нода «Сохранить в переменную» с тем же именем - она перезапишет значение. Это работает как замена.

Если не получается

  • Вместо значения осталось {{имя}}. Переменная не была заполнена к моменту прохождения ноды: опечатка в имени, лишний пробел внутри скобок или нода-источник стоит ниже по сценарию. Проверьте: имя в подстановке совпадает один в один, и нода, которая задает нужную переменную, стоит выше по сценарию.
  • Нода ничего не сохранила. Поле «Имя переменной» оставлено пустым - нода пропускает шаг. Заполните имя.
  • {{user_answer}} подставляется пустым. Перед нодой нет шага «Ожидание ответа», или пользователь еще не ответил. Поставьте «Ожидание ответа» выше по сценарию.
  • Переменная не видна в списке @ в другой ноде. Поле «Имя переменной» пустое - добавьте имя, и переменная появится в каталоге.
  • Значение «потерялось» после паузы. Переменные сессии специально переживают паузы и ожидания. Скорее всего, переменная перезаписывается другой нодой с тем же именем ниже по сценарию. Проверьте все ноды «Сохранить в переменную» с одинаковыми именами.
  • Кириллица или пробел в имени переменной. Используйте латиницу без пробелов (my_var), иначе подстановка не сработает. Регистр важен: City и city - разные переменные.

Лимиты и тариф

Нода доступна на всех тарифах, включая Free. Числовых лимитов на количество переменных или длину значения нет. Если сохраненное значение потом вставляется в сообщение - действуют обычные лимиты Telegram на длину сообщений.

Не нашли ответ?

Спросите ИИ-ассистента или напишите живой поддержке - поможем разобраться.