Переменные: поля и таблицы
Переменные хранят данные внутри бота: имя клиента, его ответы, статус заказа, результаты шагов. Подставляя переменные в текст, условия и действия, вы делаете диалог персональным — бот обращается по имени, повторяет ответы и принимает решения на их основе.
Что где хранится
Главное — понимать, как долго живёт значение.
| Хранилище | Что хранит | Сколько живёт |
|---|---|---|
| Переменные сценария | Ответы на вопросы, поля форм, результаты действий | Один проход сценария |
| Карточка клиента | Имя, фамилия, телефон, email — {{system.*}} | Постоянно |
| Доп. поля CRM | Поля клиента и сделки в CRM, например «День рождения» | Постоянно; бот только записывает в них |
| Глобальные поля | Общие значения для всего аккаунта — {{global.*}} | Постоянно, одно значение на всех |
| Таблицы | Строки данных: заявки, записи, каталоги | Постоянно |
| Секреты | Токены и ключи интеграций — {{secret.*}} | Постоянно, подставляются только в запросы |
Переменные сценария
Ответ на «Вопрос», поле «Формы», результат действия или формулы сохраняется в переменную и доступен до конца этого прохода сценария. Когда сценарий завершится и клиент начнёт его заново, собранные переменные будут пустыми. При каждом старте бот заново заполняет только данные карточки клиента: {{name}}, {{phone}}, {{email}} и другие — см. Системные переменные.
Исключение — кнопка из старого сообщения: если клиент нажмёт её после завершения сценария, бот продолжит с этого места и вернёт переменные прошлого прохода.
Пользовательские поля в конструкторе — это список имён переменных с подписями. Он нужен, чтобы выбирать переменные в Условии и подсказках. Значения в нём не хранятся.
Что хранится постоянно
- Карточка клиента. Имя, фамилию, телефон и email бот читает как
{{system.first_name}},{{system.phone}}и т. д. Записать их можно из «Вопроса» и «Формы» (настройка «Дополнительно записать в CRM») или из AI-шага. - Доп. поля CRM. «Вопрос», «Форма» и действие «Установить пользовательское поле» умеют сохранить ответ в поле клиента или сделки. Прочитать такое поле в сценарии нельзя, но его видят сотрудники и использует расписание «Относительно даты».
- Глобальные поля — одно значение на весь аккаунт. Подставляются как
{{global.имя}}. См. Глобальные поля. - Таблицы — строки данных, в том числе привязанные к клиенту. См. Таблицы.
Секреты
Чувствительные значения (токены, API-ключи) хранятся отдельно и подставляются как {{secret.имя}} — только в запросы к внешним системам. В тексте сообщений секреты не раскрываются.
Как использовать переменные в тексте
Оберните имя в двойные фигурные скобки: «Здравствуйте, {{name}}!» превратится в «Здравствуйте, Анна!». Запасное значение — через вертикальную черту: {{name|друг}}. Подробнее — Переменные в тексте.
Переменные можно использовать:
- в условиях — для ветвления;
- в формулах — для вычислений (там имя пишется без скобок);
- в действиях — для передачи данных во внешние системы.
Когда применять
- Персонализация. Обращаться к клиенту по имени и повторять его выбор.
- Ветвление. Принимать решения по ответу клиента в «Условии».
- Сбор заявок. Складывать заявки в таблицы или передавать в CRM.
- Память между диалогами. Сохранять важное в карточку клиента, поля CRM или таблицу — переменные сценария для этого не подходят.
Пример
Бот спрашивает имя и город клиента (нода «Вопрос»). Имя он сразу записывает в карточку клиента, а город остаётся переменной сценария. Дальше в сообщениях бот обращается по имени, «Условие» выбирает филиал по городу, а действие добавляет строку с заявкой в таблицу «Заявки». В следующий раз бот снова знает имя — оно в карточке, — а город спросит заново.