Перейти к основному содержимому

Пользовательские функции

Пользовательские функции — это мощный инструмент для расширения стандартных возможностей платформы. Они позволяют вам писать собственный JavaScript-код для решения уникальных задач: от сложных вычислений до интеграции со сторонними API.

Каждая созданная вами функция становится многоразовым компонентом, который можно использовать в качестве отдельного шага в процессе, в виде инструмента для AI-агента, а также вызывать из кода. Подробнее об этом в разделе Использование функций в процессе.

Коллекции

Функции группируются в коллекции. При вызове функции в коде необходимо указывать коллекцию:

// Вызов функции myFunction из коллекции MyCollection
MyCollection.myFunction();
к сведению

Пользовательские функции можно добавить только в пользовательские коллекции. Если в проекте еще нет таких коллекций, потребуется создать коллекцию при добавлении функции.

Создание и настройка функции

Создание пользовательской функции включает несколько шагов:

  1. Добавление функции.
  2. Настройка параметров.
  3. Написание кода.
  4. Добавление зависимостей.

Добавление функции

Добавить функцию можно в левом меню или непосредственно на холсте — эти способы эквивалентны.

  1. В левом меню выберите , затем нажмите Добавить → функцию.

  2. Выберите или создайте коллекцию.

    Для новой коллекции заполните поля:

    • Название коллекции для отображения в интерфейсе. Должно быть уникальным среди пользовательских коллекций.
    • Идентификатор коллекции для использования в коде. Должен быть уникальным в рамках проекта и не может совпадать со встроенными коллекциями.
    • Описание для отображения на странице Функции.
  3. Для новой функции заполните поля:

    • Название функции для отображения в интерфейсе.
    • Идентификатор функции для использования в коде.
    • Описание — особенно важно, если функция будет использоваться в качестве инструмента для AI-агента. Помогает агенту понять, для чего следует вызывать эту функцию.
  4. Нажмите Сохранить.

Настройка параметров

Перейдите к редактированию параметров и кода функции.

  1. В левом меню выберите
  2. На странице Функции нажмите .

На вкладке Параметры укажите:

  • Параметры функции:

    • Тип параметра. Поддерживаются как простые типы (string, number, boolean), так и структуры (object, array) до 5 уровней вложенности.
    • Название для использования в коде.
    • Описание — помогает AI-агенту понять, что именно следует передавать в параметре.
    подсказка

    Вы можете загрузить параметры в виде JSON-схемы: нажмите Импортировать и скачайте образец.

  • Описание ответа: помогает AI-агенту правильно интерпретировать результат работы функции.

Параметры пользовательской функции

Написание кода

На вкладке Код напишите тело функции на JavaScript. Встроенный редактор поддерживает подсветку синтаксиса, автодополнение, подсказки при наведении на функцию и отображение ошибок.

Код пользовательской функции

Особенности и рекомендации:

  • Все пользовательские функции являются асинхронными (async). Это позволяет использовать в их коде await для асинхронных операций, например для выполнения HTTP-запросов с помощью fetch().
  • Не вставляйте учетные данные и другие секреты в код функции. Добавьте их в хранилище и используйте в коде с помощью встроенной функции Credentials.get(). Подробнее смотрите в разделе Учетные данные для интеграций.

Кнопки:

  •  — открыть панель Функции, где можно посмотреть список функций, найти нужную и вставить ее вызов в код двойным нажатием.
  •  — посмотреть подключенные пакеты.
  •  — посмотреть описание и парамеры функции, выбранной в панели Функции.

Зависимости

Если для работы вашего кода требуются внешние npm-пакеты (например, axios или lodash), добавьте их на вкладке Зависимости.

Зависимости

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