Актуальні дані під час дзвінка
Нехай агент питає у вашої системи замовлення, залишок на складі або дані акаунта, поки абонент чекає.
Із API Tool RAG агент просто посеред розмови запитує у вашої системи актуальні дані — статус замовлення, залишок товару, дані акаунта — і відповідає за ними. Коли його викликати, агент вирішує сам за вашим описом.
Налаштування
- Додайте інструмент
Відкрийте агента → Дії → Додати інструмент → CRM і сервіси → API Tool RAG.
- Опишіть його й спрямуйте на ваш ендпоінт
Поле Що вказати Назва наприклад, Пошук замовлення Загальна умова Коли його використовувати, наприклад, клієнт питає про статус замовлення URL API-ендпоінту наприклад, https://api.yourshop.com/orders/{order_id}—{placeholders}заповнюються значеннями, які зібрав агентHTTP-метод GET,POST,PUT,DELETEабоPATCHПовідомлення під час виконання Що агент каже, поки чекає, наприклад, Хвилинку, перевіряю ваше замовлення Тайм-аут запиту (мс) Скільки чекати на відповідь; за замовчуванням 5000 Заголовки, Параметри запиту Необов'язкові постійні значення, наприклад ваш API-ключ - Укажіть, що агент має дізнатися
Схема параметрів тіла (JSON) перелічує значення, які агент дізнається в абонента й надсилає, — див. нижче. Якщо обов'язкового значення бракує, агент спершу запитає його.
Завжди заповнюйте Повідомлення під час виконання — тиша, поки йде запит, звучить як обірваний дзвінок.
Схема параметрів тіла
Це не саме тіло запиту, а JSON Schema значень, які треба зібрати. Куди вони потрапляють:
| Випадок | Куди йде значення |
|---|---|
В URL є {name} | В URL |
GET, DELETE | Решта — як ?key=value |
POST, PUT, PATCH | Решта — як тіло JSON |
Пошук замовлення за номером:
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Номер замовлення, про яке питає клієнт, зазвичай від 6 до 10 цифр. Якщо не назвав, запитай."
}
},
"required": ["order_id"]
}
Бронювання з кількома значеннями:
{
"type": "object",
"properties": {
"product_id": { "type": "string", "description": "ID товару з попереднього пошуку." },
"quantity": { "type": "integer", "minimum": 1, "maximum": 10, "description": "Скільки штук. За замовчуванням 1." },
"delivery_method": { "type": "string", "enum": ["pickup", "home_delivery", "locker"], "description": "Як клієнт хоче отримати товар." },
"customer_email": { "type": "string", "format": "email", "description": "Email для підтвердження. Якщо не назвав, запитай." }
},
"required": ["product_id", "delivery_method", "customer_email"]
}
Статичний ендпоінт, наприклад години роботи: { "type": "object", "properties": {} }.
Добрі схеми для голосу:
- Тримайте схему пласкою: 3–5 значень.
- Пишіть
descriptionдля кожного значення, із прикладами, — саме вони найкраще спрямовують агента. - Для фіксованих варіантів використовуйте
enum: агент зіставить «синій» ізblue. - Позначайте значення як
required, лише якщо без нього запит не спрацює. - Використовуйте імена в
snake_case, що збігаються з{placeholders}в URL.
Приклади використання
- Статус замовлення — «Де моє замовлення 482913?»
- Наявність — перевірити залишок або вільний столик у вашій власній системі.
- Питання щодо акаунта — баланс, кінець договору, відкриті тікети.
Поширені проблеми
| Проблема | Що перевірити |
|---|---|
| Агент його не викликає | Нехай Загальна умова називає конкретний запит |
| Ваш ендпоінт отримує порожні значення | Імена в схемі мають точно збігатися з {placeholders} |
| Агент каже, що не зміг перевірити | Ваш ендпоінт відповідав довше за тайм-аут або повернув помилку |
Див. також
- Дізнатися, хто телефонує, ще до початку дзвінка — дані до привітання
- MCP-сервери — багато інструментів з одного сервера