functionУправление переменными в функциях и сценариях

Как работает действие Управление переменными в функциях и сценариях, откуда брать значения и как строить последовательность изменений.

Действие Управление переменными позволяет автоматически менять пользовательские переменные во время работы агента.

Это основной способ поддерживать значения в актуальном состоянии без ручного редактирования. Например, через это действие можно сохранить имя клиента, записать номер заказа, округлить стоимость, обновить JSON с данными заявки или очистить служебную переменную до значения по умолчанию.

Где доступно это действие

Действие Управление переменными можно использовать:

  • в функциях;

  • в сценариях.

С его помощью можно изменять и переменные области Агент, и переменные области Диалог.

Что настраивается в действии

В каждом блоке изменения настраиваются четыре основные части:

  1. какую переменную изменить;

  2. что с ней сделать;

  3. откуда взять значение;

  4. при каких условиях выполнять изменение.

1. Какую переменную изменить

В этом поле вы выбираете нужную пользовательскую переменную из списка.

Можно выбрать:

  • переменную агента;

  • переменную диалога.

2. Что сделать с переменной

Набор доступных операций зависит от типа переменной.

Не обязательно запоминать весь список действий. Достаточно понимать общий принцип: для каждого типа доступны только те изменения, которые логичны именно для него.

Строка

Для строковых переменных обычно используются такие операции:

  • заменить значение;

  • очистить переменную;

  • дописать текст к текущему значению.

Число

Для числовых переменных обычно используются такие операции:

  • заменить значение;

  • прибавить или вычесть число;

  • округлить значение.

Логическое значение

Для логических переменных обычно используются такие операции:

  • установить Да;

  • установить Нет;

  • переключить текущее значение.

JSON

Для JSON-переменных обычно используются такие операции:

  • изменить поле;

  • добавить новое поле;

  • добавить элементы в массив;

  • удалить значение или поле.

Дата и время

Для переменных даты и времени обычно используются такие операции:

  • поставить текущую дату или время;

  • сдвинуть значение вперёд;

  • сдвинуть значение назад.

circle-info

Если в действии используется очистка переменной, она возвращается к значению по умолчанию.

3. Откуда взять значение

В поле Откуда взять значение доступны четыре основных источника:

  1. Ввести вручную — вы сами вводите нужное значение.

  2. Взять из параметра функции — значение подставляется из параметра функции.

  3. Взять из системной переменной — значение берётся из системных данных платформы.

  4. Взять из пользовательской переменной — в выбранную переменную записывается значение другой пользовательской переменной.

Это позволяет строить не только простые записи, но и целые цепочки изменений внутри одного действия.

4. Дополнительные условия

Блок Дополнительные условия нужен, чтобы менять переменную не всегда, а только при нужной ситуации.

Например, изменение можно выполнять:

  • если переменная пустая;

  • если в переменной уже что-то есть;

  • если значения равно чему-то.

Условия работают как фильтр перед выполнением действия.

Что важно:

  • условий можно добавить несколько;

  • изменение выполнится только тогда, когда соблюдены все добавленные условия.

Можно менять несколько переменных за одно действие

В одном действии можно добавить сразу несколько изменений переменных.

Это удобно, когда после одной функции или одного сценария нужно:

  • записать имя клиента;

  • сохранить номер заказа;

  • обновить JSON с деталями заявки;

  • передать нужные данные администратору в мессенджер.

Порядок изменений имеет значение

Блоки изменения переменных можно менять местами перетягиванием.

Это важно, когда результат одного изменения должен использоваться в следующем.

Пример:

  1. Сначала вы округляете числовое значение.

  2. Потом записываете уже округлённый результат в нужную переменную.

Если поменять блоки местами, логика сработает по-другому.

Практические примеры

Сохранить имя клиента в переменную диалога

Подходит, если функция получает имя клиента отдельным параметром.

Логика:

  1. Выберите переменную диалога ClientName.

  2. В поле Что сделать выберите замену значения.

  3. В поле Откуда взять значение выберите Параметр функции.

  4. Укажите параметр с именем клиента.

После этого имя сохранится в конкретном диалоге и его можно будет использовать в промпте, отчётах, Custom API и Python.

Не перезаписывать уже заполненную переменную

Подходит, если вы хотите записать значение только один раз.

Логика:

  1. Выберите нужную переменную.

  2. Настройте источник значения.

  3. В Дополнительных условиях укажите Если переменная пустая.

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

Очистить служебную переменную агента до значения по умолчанию

Подходит для сброса временных или служебных значений.

Логика:

  1. Выберите переменную агента.

  2. В поле Что сделать выберите очистку переменной.

  3. Сохраните действие.

После выполнения переменная вернётся к значению по умолчанию.

Сначала округлить цену, потом сохранить её в основную переменную

Подходит для сценариев, где нужно подготовить значение перед отправкой в CRM, Custom API или отчёт.

Один из удобных вариантов:

  1. В первом блоке изменения округлите числовую переменную.

  2. Во втором блоке запишите полученное значение в другую пользовательскую переменную.

  3. Перетащите блоки так, чтобы округление было выше записи.

Тогда второе изменение будет работать уже с подготовленным значением.

Last updated

Was this helpful?