Гайд
- 1
Что такое переменная
Переменная — это коробка с названием. Бот кладёт в неё значение и позже читает его обратно.
Бот спрашивает «В каком городе вы находитесь?», человек отвечает «Берлин», и ответ попадает в переменную
city. Через десять сообщений бот всё ещё может сказать «Берлин»: значение хранится у конкретного человека, а не у одного сообщения.Само значение вы руками не трогаете. В сообщении переменная выглядит как небольшая цветная плашка с названием переменной. Считайте её заполнителем —
{{city}}, — который FlowCastle подменяет настоящим значением в момент отправки.
- 2
Какие бывают переменные
Переменные контакта хранят своё значение для каждого человека. У одного подписчика
city— Берлин, у другого — Лиссабон. Все собранные ответы живут здесь.Переменные приложения хранят одно значение на всех.
support_emailодинаков для всех подписчиков. Берите их для настроек, которые иначе пришлось бы менять в двадцати сообщениях. В окне выбора переменных эта категория называется App.Переменные бота работают как переменные приложения, но принадлежат одному боту. Категория Bot появляется, только когда к сценарию подключено больше одного бота, — поэтому большинство её никогда не видит.
Системные переменные заполняются за вас: их берут из мессенджера и из часов. Их можно только читать.
Есть и пятая категория — Actions. Она появляется только в блоке, где действие возвращает результат: это значения, которые действие только что посчитало.
- 3
Как вставить переменную в сообщение
Откройте узел сообщения и найдите поле Текст сообщения. Под полем есть небольшая панель, и первая кнопка на ней —
{}.- Поставьте курсор туда, где должно появиться значение.
- Нажмите
{}. Откроется окно выбора переменных: слева категории, сверху поиск. - Нажмите Contact, затем
city.
Переменная вставится плашкой. Другого рабочего способа нет: если просто напечатать слово
city, пользователю уйдёт слово «city».Способ быстрее — наберите
{{прямо в поле. Окно откроется у курсора и будет фильтровать список по мере ввода.Нужно вставить несколько переменных подряд? Держите Ctrl, Cmd или Alt при нажатии — окно останется открытым и не закроется после первого выбора.

- 4
Системные переменные, которые уже есть
Откройте категорию System — внутри две группы.
User Fields — данные о человеке: First Name, Last Name, Email, Phone, Platform ID, Subscribed At, Created At, Status, Tags, Username и Language Code.
Expressions — то, что вычисляется в момент отправки: Current Date, Current Time, Current Day of Week, Bot URL, Referral Link, Identity Token.
Чаще всего боты берут First Name. Значение приходит из мессенджера, и у части аккаунтов имени просто нет — поэтому стройте фразу так, чтобы она читалась и без имени.

- 5
Как создать новую переменную
Создать её можно, не выходя из сообщения, которое вы пишете.
- В окне выбора нажмите категорию, к которой относится переменная, — App или Contact.
- Нажмите Создать.
- Заполните Название: и выберите Тип: — Text, List, Number, Date, Date & Time, Boolean или Secret.
- Нажмите Создать и использовать.
У переменных приложения есть ещё поле Значение: — общая переменная может получить значение сразу. У переменных контакта такого поля нет: их значение своё у каждого человека и записывается уже во время работы бота.
Держите названия короткими, строчными буквами и через нижнее подчёркивание —
city,order_number,support_email. Вам с ними ещё долго жить.Полный список лежит в боковой панели редактора на вкладке Переменные, разделённой на Приложение и Контакт. Там же переименование, удаление и наведение порядка.

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

- 7
Условия и действия работают с теми же переменными
Переменные нужны не только для подстановки в текст. Условие может сравнить переменную и увести разговор в другую ветку: если
city— Берлин, предложите берлинскую встречу. Действия работают в обратную сторону и записывают значения: задать, увеличить счётчик, сохранить ответ интеграции. Начните с основ узла условия; действиям, которые читают и меняют переменные, будет посвящён отдельный материал этой серии. - 8
Если переменная выводится пустой
На месте плашки в сообщении ничего нет. Для этого человека в переменную ещё ничего не записали. Проверьте, что вопрос, который её заполняет, действительно срабатывает раньше — об этом сбор ответов пользователя.
Пользователь видит название переменной обычным текстом. Его напечатали, а не вставили. Удалите и вставьте из окна выбора.
У вас работает, а у подписчика — нет. Скорее всего, вы взяли переменную приложения там, где нужна переменная контакта. Переменная приложения одинакова для всех — так и задумано.
После правки ничего не изменилось. Сохранение — это не публикация. Нажмите Опубликовать.
- 9
Что дальше
Бот научился запоминать — теперь научите его реагировать на запомненное.
