5️⃣Власні функції AI
Власні функції дозволяють підключити будь-яку зовнішню систему до вашого AI-асистента. Коли під час розмови з клієнтом AI вирішить, що потрібно виконати дію — він автоматично відправить запит на ваш сервер із потрібними параметрами та використає відповідь у розмові.

Приклади використання:
Перевірка статусу замовлення за номером
Перевірка наявності товару на складі
Отримання інформації з CRM (дані клієнта, історія покупок)
Запис клієнта на послугу
Розрахунок вартості доставки
Будь-яка інша логіка, яку може обробити ваш бекенд
Як створити власну функцію
Перейдіть у Налаштування AI → AI Функції → Власні функції та натисніть «Додати функцію».
Поля функції
Назва функції (обов'язкове)
Технічна назва функції латиницею. Дозволено лише малі літери, цифри та підкреслення. Повинна починатися з літери.
Приклади:
get_order_statuscheck_stockcalculate_deliverybook_appointment
Ця назва передається в полі function у webhook-запиті — саме за нею ваш сервер визначає, яку дію потрібно виконати.
Опис функції (обов'язкове)
Текстовий опис того, що робить функція. AI використовує цей опис для того, щоб зрозуміти, коли потрібно викликати функцію. Чим точніше опис — тим краще AI визначатиме момент виклику.
Приклади:
перевіряє статус замовлення за номером замовленняперевіряє наявність товару на складі за артикуломрозраховує вартість доставки за адресою та вагою
Пишіть опис мовою, на якій працює ваш AI-асистент.
Інструкція для AI (необов'язкове)
Додаткові правила поведінки AI, коли ця функція активна. Наприклад, можна вказати, що AI повинен завжди викликати цю функцію в певних ситуаціях, або як інтерпретувати відповідь.
Приклади:
завжди викликай цю функцію, коли клієнт питає про статус замовлення, не покладайся на попередні відповідіякщо функція повернула помилку, попроси клієнта повторити номер замовленняпісля отримання результату, представ інформацію у зручному вигляді для клієнта
Параметри функції
Список даних, які AI збере від клієнта та передасть у запиті на ваш сервер. Для кожного параметра вказується:
Назва (ключ)
Технічна назва параметра латиницею (наприклад, order_id, phone, product_sku)
Тип
Тип даних: Текст, Число, Ціле число, Так/Ні
Обов'язковий
Чи повинен AI обов'язково зібрати цей параметр перед викликом
Підказка для AI
Опис параметра, щоб AI розумів, що саме потрібно запитати у клієнта
Допустимі значення
(необов'язково) Перелік конкретних значень через кому. Якщо заповнено — AI обиратиме лише з цих варіантів
Приклад параметрів для функції get_order_status:
order_id
Текст
Так
номер замовлення клієнта
—
Приклад параметрів для функції book_appointment:
service
Текст
Так
назва послуги
консультація, діагностика, ремонт
date
Текст
Так
бажана дата у форматі ДД.ММ.РРРР
—
phone
Текст
Так
контактний телефон клієнта
—
comment
Текст
Ні
додатковий коментар
—
Налаштування вебхука
Для того, щоб ваш сервер отримував виклики від AI, потрібно налаштувати вебхук.
Крок 1: Створіть endpoint на вашому сервері
Ваш сервер повинен мати URL, який приймає POST-запити та повертає JSON-відповідь.
Крок 2: Зареєструйте вебхук у JediDesk
Перейдіть у розділ Інтеграція → API та створіть вебхук:
Вкажіть URL вашого сервера
У списку подій оберіть
ai.func_call
Формат запиту (webhook payload)
Коли AI вирішує викликати вашу функцію, JediDesk відправляє POST-запит на ваш вебхук з таким JSON-тілом:
event
Завжди ai.func_call
data.function
Назва функції, яку AI вирішив викликати
data.parameters
Об'єкт з параметрами, які AI зібрав від клієнта
timestamp
Час виклику у форматі ISO 8601
token
API-токен вашої компанії (для верифікації запиту)
request_id
Унікальний ідентифікатор запиту (UUID)
Як визначити яку функцію викликано
Якщо у вас кілька власних функцій, всі виклики приходять на один вебхук. Розрізняйте їх за полем data.function:
Формат відповіді
Ваш сервер повинен повернути JSON-відповідь. AI використає цю відповідь для формування повідомлення клієнту.
Успішна відповідь (HTTP 200):
Відповідь з помилкою:
AI розуміє структуру вашої відповіді та самостійно формулює повідомлення для клієнта на основі отриманих даних. Тому не потрібно формувати готовий текст — достатньо повернути дані.
Рекомендації до відповіді
Повертайте зрозумілі назви полів (краще
delivery_date, ніжdd)Якщо помилка — повертайте текст помилки в полі
error, AI передасть суть клієнтуВідповідь має повернутися протягом розумного часу (до 10 секунд)
Максимальний розмір відповіді — не обмежений жорстко, але великі відповіді можуть вплинути на якість інтерпретації AI
Верифікація запиту
Для безпеки рекомендуємо перевіряти token у вхідному запиті — він відповідає API-токену вашої компанії з розділу Інтеграція → API.
Повний приклад: функція «Перевірка статусу замовлення»
1. Створення функції в JediDesk
Назва:
get_order_statusОпис:
перевіряє статус замовлення за номером замовленняІнструкція для AI:
завжди викликай цю функцію, коли клієнт питає про статус замовлення або доставку. Не вигадуй статус самостійно.Параметри:
order_id— Текст, обов'язковий, підказка:номер замовлення клієнта
2. Налаштування вебхука
URL:
https://yoursite.com/api/jedidesk-webhookПодія:
ai.func_call
3. Обробник на вашому сервері
4. Як це виглядає у діалозі
Управління функціями
Увімкнути/вимкнути — перемикач зліва від назви функції. Вимкнена функція не буде доступна AI.
Редагувати — кнопка з іконкою олівця.
Видалити — кнопка з іконкою кошика.
Аналітика — кнопка з іконкою графіка. Показує статистику викликів функції: кількість, успішні/помилкові, середній час відповіді.
Логування
Всі виклики кастомних функцій логуються. Переглянути їх можна в розділі Інтеграція → API → Логи вебхуків. Для кожного виклику зберігається:
Відправлений запит (payload)
Статус відповіді (HTTP код)
Тіло відповіді
Час виклику
Це допомагає у відлагодженні, якщо функція не працює як очікувалось.
Поширені питання
Скільки власних функцій можна створити?
Кількість обмежена тарифним планом. Якщо ви бачите повідомлення про обмеження — зверніться до підтримки або перейдіть на вищий план.
Чи можна мати кілька функцій на одному вебхуку?
Так. Всі виклики ai.func_call йдуть на один зареєстрований вебхук. Розрізняйте їх за полем data.function.
Що станеться, якщо мій сервер не відповість?
AI повідомить клієнту, що не вдалося отримати інформацію, та запропонує спробувати пізніше або звернутися до менеджера.
Як AI вирішує, коли викликати функцію?
AI аналізує опис функції та контекст розмови. Якщо запит клієнта відповідає опису — AI збирає необхідні параметри та робить виклик. Поле «Інструкція для AI» додатково уточнює правила виклику.
Чи можна тестувати функцію без реального сервера?
Так. Ви можете використати сервіси на кшталт webhook.site або requestbin.com для отримання та перегляду запитів під час тестування.
Last updated