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

Функции

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

Зачем нужны функции

Не вся бизнес-логика может быть реализована штатными нодами (агент, LLM, HTTP-запрос). Функции позволяют:

  • Интегрироваться с внешними сервисами -- выполнять запросы к CRM (Bitrix24, AmoCRM), платежным системам, мессенджерам и любым другим API
  • Обрабатывать данные -- фильтровать, сортировать, форматировать и преобразовывать результаты предыдущих нод
  • Управлять памятью -- читать и записывать данные в память пользователя, проекта, организации или потока
  • Выполнять вычисления -- математические операции, работа с датами, генерация идентификаторов

Где используются функции

В рабочих процессах

Функция подключается через ноду Функция в визуальном редакторе рабочих процессов. Нода получает входные данные из предыдущих узлов и возвращает результат, который передается дальше по цепочке.

Нода «Функция» имеет два выхода:

  • Успех -- результат успешного выполнения
  • Ошибка -- ветка обработки ошибок

В агентах

Функции можно привязать к агенту как инструменты (tools). Агент может вызывать функцию по мере необходимости во время разговора с пользователем -- например, чтобы создать заявку в CRM или получить данные клиента.

Основные свойства функции

СвойствоОписание
ИмяУникальное имя функции (используется как идентификатор при вызове)
ОписаниеТекстовое описание назначения функции (помогает агенту понять, когда вызывать)
КодJavaScript-код с доступом к контексту выполнения
ПараметрыJSON Schema, описывающая входные параметры функции
КатегорияПроизвольная метка для организации функций (например, «bitrix24», «http», «data»)
ТаймаутМаксимальное время выполнения (от 1 до 60 секунд, по умолчанию 10)
АктивнаПереключатель, определяющий, доступна ли функция для использования

Список функций

Страница Функции в меню проекта отображает все созданные функции в виде таблицы. Вы можете:

  • Искать по имени
  • Фильтровать по статусу (активные / неактивные) и категории
  • Фильтровать по дате обновления -- быстрые пресеты (сегодня, вчера, 7 дней, 30 дней) или произвольный диапазон
  • Включать и отключать функции переключателем в столбце «Активно»
  • Удалять одну или несколько выбранных функций

Для создания новой функции нажмите кнопку Функция в правом верхнем углу и выберите один из вариантов:

Контекстное меню

Щелкните правой кнопкой мыши по строке функции, чтобы открыть контекстное меню с быстрыми действиями: копирование ID, редактирование, удаление. Подробнее о тестировании см. в разделе Тестирование функций.