Функции
Функции -- это пользовательские JavaScript-скрипты, которые расширяют возможности ваших агентов и рабочих процессов. С помощью функций вы можете выполнять произвольную логику: обращаться к внешним API, обрабатывать и преобразовывать данные, работать с памятью платформы и многое другое.
Зачем нужны функции
Не вся бизнес-логика может быть реализована штатными нодами (агент, LLM, HTTP-запрос). Функции позволяют:
- Интегрироваться с внешними сервисами -- выполнять запросы к CRM (Bitrix24, AmoCRM), платежным системам, мессенджерам и любым другим API
- Обрабатывать данные -- фильтровать, сортировать, форматировать и преобразовывать результаты предыдущих нод
- Управлять памятью -- читать и записывать данные в память пользователя, проекта, организации или потока
- Выполнять вычисления -- математические операции, работа с датами, генерация идентификаторов
Где используются функции
В рабочих процессах
Функция подключается через ноду Функция в визуальном редакторе рабочих процессов. Нода получает входные данные из предыдущих узлов и возвращает результат, который передается дальше по цепочке.
Нода «Функция» имеет два выхода:
- Успех -- результат успешного выполнения
- Ошибка -- ветка обработки ошибок
В агентах
Функции можно привязать к агенту как инструменты (tools). Агент может вызывать функцию по мере необходимости во время разговора с пользователем -- например, чтобы создать заявку в CRM или получить данные клиента.
Основные свойства функции
| Свойство | Описание |
|---|---|
| Имя | Уникальное имя функции (используется как идентификатор при вызове) |
| Описание | Текстовое описание назначения функции (помогает агенту понять, когда вызывать) |
| Код | JavaScript-код с доступом к контексту выполнения |
| Параметры | JSON Schema, описывающая входные параметры функции |
| Категория | Произвольная метка для организации функций (например, «bitrix24», «http», «data») |
| Таймаут | Максимальное время выполнения (от 1 до 60 секунд, по умолчанию 10) |
| Активна | Переключатель, определяющий, доступна ли функция для использования |
Список функций
Страница Функции в меню проекта отображает все созданные функции в виде таблицы. Вы можете:
- Искать по имени
- Фильтровать по статусу (активные / неактивные) и категории
- Фильтровать по дате обновления -- быстрые пресеты (сегодня, вчера, 7 дней, 30 дней) или произвольный диапазон
- Включать и отключать функции переключателем в столбце «Активно»
- Удалять одну или несколько выбранных функций
Для создания новой функции нажмите кнопку Функция в правом верхнем углу и выберите один из вариантов:
- Пустая функция -- открывает редактор с шаблоном по умолчанию
- Из шаблона -- открывает панель с готовыми шаблонами функций
Щелкните правой кнопкой мыши по строке функции, чтобы открыть контекстное меню с быстрыми действиями: копирование ID, редактирование, удаление. Подробнее о тестировании см. в разделе Тестирование функций.