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

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

Пользовательские функции — это мощный инструмент для расширения стандартных возможностей платформы. Они позволяют вам писать собственный 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. Встроенный редактор поддерживает подсветку синтаксиса, автодополнение, подсказки при наведении на функцию и отображение ошибок.

В редакторе вы можете менять только тело функции. Чтобы изменить параметры функции, используйте вкладку Параметры, а чтобы подключить npm-пакеты — вкладку Зависимости.

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

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

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

Кнопки:

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

Зависимости

предупреждение

Подключение внешних npm-пакетов пока поддерживается только для движка версии 1.

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

Зависимости

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