Пользовательские функции
Пользовательские функции — это мощный инструмент для расширения стандартных возможностей платформы. Они позволяют вам писать собственный JavaScript-код для решения уникальных задач: от сложных вычислений до интеграции со сторонними API.
Каждая созданная вами функция становится многоразовым компонентом, который можно использовать в качестве отдельного шага в процессе, в виде инструмента для AI-агента, а также вызывать из кода. Подробнее об этом в разделе Использование функций в процессе.
Коллекции
Функции группируются в коллекции. При вызове функции в коде необходимо указывать коллекцию:
// Вызов функции myFunction из коллекции MyCollection
MyCollection.myFunction();
Пользовательские функции можно добавить только в пользовательские коллекции. Если в проекте еще нет таких коллекций, потребуется создать коллекцию при добавлении функции.
Создание и настройка функции
Создание пользовательской функции включает несколько шагов:
Добавление функции
Добавить функцию можно в левом меню или непосредственно на холсте — эти способы эквивалентны.
- В меню
- На холсте
-
В левом меню выберите , затем нажмите Добавить → функцию.
-
Выберите или создайте коллекцию.
Для новой коллекции заполните поля:
- Название коллекции для отображения в интерфейсе. Должно быть уникальным среди пользовательских коллекций.
- Идентификатор коллекции для использования в коде. Должен быть уникальным в рамках проекта и не может совпадать со встроенными коллекциями.
- Описание для отображения на странице Функции.
-
Для новой функции заполните поля:
- Название функции для отображения в интерфейсе.
- Идентификатор функции для использования в коде.
- Описание — особенно важно, если функция будет использоваться в качестве инструмента для AI-агента. Помогает агенту понять, для чего следует вызывать эту функцию.
-
Нажмите Сохранить.
-
Чтобы развернуть список блоков, нажмите в левом верхнем углу холста.
-
В списке блоков выберите Функции, затем в разделе Пользовательские нажмите .
-
Выберите или создайте коллекцию.
Для новой коллекции заполните поля:
- Название коллекции для отображения в интерфейсе. Должно быть уникальным среди пользовательских коллекций.
- Идентификатор коллекции для использования в коде. Должен быть уникальным в рамках проекта и не может совпадать со встроенными коллекциями.
- Описание для отображения на странице Функции.
-
Для новой функции заполните поля:
- Название функции для отображения в интерфейсе.
- Идентификатор функции для использования в коде.
- Описание — особенно важно, если функция будет использоваться в качестве инструмента для AI-агента, и помогает агенту понять, для чего следует вызывать эту функцию.
-
Нажмите Сохранить.
Настройка параметров
Перейдите к редактированию параметров и кода функции.
- В меню
- На холсте
- В левом меню выберите
- На странице Функции нажмите .
- Перетащите функцию на холст.
- На холсте нажмите на блок этой функции, чтобы открыть ее настройки.
- Нажмите Посмотреть код.
На вкладке Параметры укажите:
-
Параметры функции:
- Тип параметра. Поддерживаются как простые типы (
string,number,boolean), так и структуры (object,array) до 5 уровней вложенности. - Название для использования в коде.
- Описание — помогает AI-агенту понять, что именно следует передавать в параметре.
подсказкаВы можете загрузить параметры в виде JSON-схемы: нажмите Импортировать и скачайте образец.
- Тип параметра. Поддерживаются как простые типы (
-
Описание ответа: помогает AI-агенту правильно интерпретировать результат работы функции.
Написание кода
На вкладке Код напишите тело функции на JavaScript. Встроенный редактор поддерживает подсветку синтаксиса, автодополнение, подсказки при наведении на функцию и отображение ошибок.
Особенности и рекомендации:
- Все пользовательские функции являются асинхронными (
async). Это позволяет использовать в их кодеawaitдля асинхронных операций, например для выполнения HTTP-запросов с помощьюfetch(). - Не вставляйте учетные данные и другие секреты в код функции.
Добавьте их в хранилище и используйте в коде с помощью встроенной функции
Credentials.get(). Подробнее смотрите в разделе Учетные данные для интеграций.
Кнопки:
- — открыть панель Функции, где можно посмотреть список функций, найти нужную и вставить ее вызов в код двойным нажатием.
- — посмотреть подключенные пакеты.
- — посмотреть описание и парамеры функции, выбранной в панели Функции.
Зависимости
Если для работы вашего кода требуются внешние npm-пакеты (например, axios или lodash), добавьте их на вкладке Зависимости.
Добавленные пакеты доступны для использования во всех функциях из той же коллекции. Вместе с тем, управление зависимостями выполняется на уровне проекта в целом. В частности, изменение версии пакета автоматически применяется ко всем коллекциям.