# Інструменти

Дозвольте асистенту діяти в системах вашого клієнта — бронювати, шукати, передавати — а не лише говорити

> Full REST + WebSocket API reference: https://api.happ.tools/reference

Інструменти перетворюють асистента на щось, що *робить* речі: кожен — це функція, яку AI може викликати посеред розмови — ваш вебхук або той, що постачається з Happ.

<ToolsPageDemo />

## Додавання інструмента [#додавання-інструмента]

1. Відкрийте вкладку **Інструменти** всередині асистента.
2. **Webhook** — HTTP-запит до вашого API. Задайте назву, опис, схему параметрів, URL, метод і спільний секрет. Приклади: `create_reservation` (POST), `lookup_customer` (GET).
3. **Built-in** — без налаштувань, є в кожного асистента: `searchKnowledge` (векторний пошук по прикріпленій базі знань), `turnOffAiMode` (передає розмову оператору-людині з повним контекстом), `searchPreviousConversations` (піднімає, про що цей клієнт говорив раніше) і `sendImage` (надсилає в чат зображення з бази знань).
4. Пишіть описи, що пояснюють *коли* викликати, а не лише що робить інструмент — AI бачить назву, опис і схему параметрів у своєму промпті.
5. Натисніть **Check** на будь-якому інструменті, щоб запустити тестовий виклик і перевірити відповідь.

AI заповнює обов'язкові параметри з контексту (спершу запитуючи клієнта, якщо даних бракує), а виклики інструментів рекурсивні — результати йдуть у наступний хід, тож можна об'єднати кілька інструментів в одній відповіді.

## Приклад webhook-виклику [#приклад-webhook-виклику]

POST на ваш endpoint зі зібраними параметрами плюс `chatId`:

```json
{ "table_id": "T-12", "time": "2026-05-18T19:30:00Z", "guests": 4, "phone": "+380501234567", "chatId": "chat-uuid" }
```

Поверніть короткий JSON, який AI зможе переказати:

```json
{ "result": "Booking confirmed. Confirmation number #12345." }
```

Задайте інструменту секрет — і кожен виклик нестиме `Authorization: Basic <секрет>`. Виклики з тілом (POST, PUT, PATCH) додатково несуть `X-Signature: sha256=<hex>` — HMAC-SHA256 від сирого тіла; перерахуйте його перед обробкою. GET-інструмент передає параметри в query-рядку і підпису не несе.

**API:** [api.happ.tools/reference](https://api.happ.tools/reference)

## Далі [#далі]

* [База знань](/docs/agents/knowledge) — дозвольте йому шукати інформацію перед дією
* [Контроль AI](/docs/workspace/ai-control) — як `turnOffAiMode` передає розмову і коли AI вмикається знову
* [Канали](/docs/integrations/messengers) — де відбуваються виклики інструментів: Telegram, Instagram, WhatsApp, голос
