Pobieranie aktualnych danych w trakcie rozmowy
Pozwól agentowi zapytać Twój system o zamówienie, stan magazynu lub konto, gdy dzwoniący czeka.
Dzięki Narzędzie API RAG agent w środku rozmowy pyta Twój system o aktualne dane — status zamówienia, stan produktu w magazynie, dane konta — i na ich podstawie odpowiada. Kiedy go użyć, agent decyduje na podstawie Twojego opisu.
Konfiguracja
- Dodaj narzędzie
Otwórz agenta → Akcje → Dodaj narzędzie → CRM i usługi → Narzędzie API RAG.
- Opisz je i wskaż swój endpoint
Pole Co wpisać Nazwa np. Wyszukiwanie zamówienia Warunek ogólny Kiedy go używać, np. klient pyta o status zamówienia URL endpointu API np. https://api.yourshop.com/orders/{order_id}—{placeholders}są wypełniane wartościami, które zbiera agentMetoda HTTP GET,POST,PUT,DELETElubPATCHWiadomość wykonania Co mówi agent, gdy czeka, np. Chwileczkę, sprawdzam zamówienie Limit czasu żądania (ms) Jak długo czekać na odpowiedź; domyślnie 5000 Nagłówki, Parametry zapytania Opcjonalne stałe wartości, np. Twój klucz API - Określ, co agent musi zebrać
Schemat parametrów (JSON) wymienia wartości, które agent zbiera od dzwoniącego i wysyła — zobacz niżej. Jeśli brakuje wymaganej wartości, agent najpierw o nią zapyta.
Zawsze wypełniaj Wiadomość wykonania — cisza w trakcie żądania brzmi jak zerwane połączenie.
Schemat parametrów
To nie jest sama treść żądania, tylko JSON Schema wartości do zebrania. Gdzie trafiają:
| Przypadek | Dokąd trafia wartość |
|---|---|
URL zawiera {name} | Do URL |
GET, DELETE | Reszta jako ?key=value |
POST, PUT, PATCH | Reszta jako treść JSON |
Wyszukiwanie zamówienia po numerze:
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Numer zamówienia, o które pyta klient, zwykle od 6 do 10 cyfr. Zapytaj, jeśli go nie poda."
}
},
"required": ["order_id"]
}
Rezerwacja z kilkoma wartościami:
{
"type": "object",
"properties": {
"product_id": { "type": "string", "description": "ID produktu z wcześniejszego wyszukiwania." },
"quantity": { "type": "integer", "minimum": 1, "maximum": 10, "description": "Ile sztuk. Domyślnie 1." },
"delivery_method": { "type": "string", "enum": ["pickup", "home_delivery", "locker"], "description": "Jak klient chce odebrać towar." },
"customer_email": { "type": "string", "format": "email", "description": "E-mail do potwierdzenia. Zapytaj, jeśli go nie poda." }
},
"required": ["product_id", "delivery_method", "customer_email"]
}
Statyczny endpoint, np. godziny otwarcia: { "type": "object", "properties": {} }.
Dobre schematy dla głosu:
- Trzymaj je płasko: 3–5 wartości.
- Do każdej wartości napisz
descriptionz przykładami — to one najlepiej prowadzą agenta. - Do stałych opcji używaj
enum: agent zamieni „ten niebieski” nablue. - Oznacz wartość jako
requiredtylko wtedy, gdy bez niej żądanie nie zadziała. - Używaj nazw w
snake_case, które pasują do{placeholders}w URL.
Przykłady zastosowań
- Status zamówienia — „Gdzie jest moje zamówienie 482913?”
- Dostępność — sprawdzenie stanu magazynu lub wolnego stolika we własnym systemie.
- Pytania o konto — saldo, koniec umowy, otwarte zgłoszenia.
Częste problemy
| Problem | Co sprawdzić |
|---|---|
| Agent nigdy go nie używa | Niech Warunek ogólny nazywa konkretną prośbę |
| Twój endpoint dostaje puste wartości | Nazwy w schemacie muszą dokładnie odpowiadać {placeholders} |
| Agent mówi, że nie mógł sprawdzić | Twój endpoint odpowiadał dłużej niż limit czasu albo zwrócił błąd |
Powiązane
- Poznaj dzwoniącego, zanim zacznie się rozmowa — dane przed powitaniem
- Serwery MCP — wiele narzędzi z jednego serwera