Akcje i narzędzia
Zakładka Akcje to miejsce, w którym zarządzasz wszystkim, co Twój agent może robić poza rozmową — narzędziami, które agent wywołuje podczas rozmowy na żywo, hookami pre-fetch, które uruchamiają się przed rozpoczęciem rozmowy, i akcjami po rozmowie, które uruchamiają się po zakończeniu rozmowy. Zmienne pobierania (pola danych, które agent wyodrębnia z każdej rozmowy) znajdują się w tej samej zakładce.
Wszystkie narzędzia, akcje i nowy hook pre-fetch są dostępne we wszystkich planach, w tym Free.
Trzy fazy
Każdy wpis w zakładce Akcje należy do jednej z trzech faz cyklu życia. Rozwijana lista Dodaj narzędzie grupuje je, aby było jasne, kiedy każda rzecz się uruchamia:
| Faza | Kiedy | Przykłady |
|---|---|---|
| Pre fetch | Przed tym, jak agent powie cześć | Wyszukaj dzwoniącego w Twoim CRM po telefonie, pobierz najnowsze zamówienie, pobierz spersonalizowane powitanie z backendu |
| Rozmowa na żywo | Podczas rozmowy, wyzwalane przez AI we właściwym momencie | Przekaż połączenie człowiekowi, sprawdź dostępność kalendarza, przekaż do innego agenta, zapytaj zewnętrzny API o dane |
| Po rozmowie | Po zakończeniu rozmowy | Wyślij podsumowanie emailem, wyślij potwierdzenie SMS, wyślij payload rozmowy do Twojego CRM |
Rozwijana lista otwiera się z Pre fetch na górze, ponieważ każda inna faza ma już mnóstwo opcji — nowy wpis pre-fetch jest najbardziej prawdopodobną rzeczą, której szukasz.
Pre fetch
Hooki pre-fetch pozwalają Twojemu agentowi rozpocząć rozmowę, już wiedząc, kto dzwoni. Uruchamiają się równolegle z konfiguracją połączenia i wstrzykują odpowiedź do systemowego promptu agenta przed wypowiedzeniem pierwszego słowa.
Kiedy go używać
- Rozpoznaj powracającego klienta po numerze telefonu i powitaj go po imieniu
- Pobierz otwarte zamówienie dzwoniącego, ostatnią wizytę lub poziom członkostwa
- Załaduj wcześniej kontekst biznesowy zależny od tego, na którą linię zadzwoniono
- Wstrzyknij notatki z CRM, aby agent znał etap leada i historię
Jak to działa
- Platforma rozpoznaje telefon dzwoniącego (z SIP dla przychodzących, z celu wybierania dla wychodzących).
- Każda aktywna akcja Pre fetch uruchamia się równolegle z twardym limitem czasu 1,5 s na żądanie i ogólnym budżetem 2 s.
- Pomyślne odpowiedzi są konkatenowane do systemowego promptu agenta jako nazwane bloki — agent czyta je w pierwszej turze.
- Niepowodzenia są ciche — wolny lub zepsuty endpoint nigdy nie blokuje powitania. Agent po prostu zaczyna mówić bez tego bloku.
Konfiguracja
| Pole | Opis |
|---|---|
| Nazwa | Wymagana. Wewnętrzna etykieta i nazwa bloku w prompcie — trzymaj krótko i opisowo (np. crm_lookup, vip_check). |
| URL API | Wymagany. Endpoint, z którego pobierać. Obsługuje placeholdery {phone}, {direction}, {agent_id}, {user_id}, {call_id}. |
| Metoda HTTP | GET jest domyślny i najlepiej pasuje. POST / PUT / PATCH / DELETE też działają. |
| Nagłówki | Opcjonalne. Statyczne lub szablonowe (placeholdery też tutaj działają). |
| Parametry zapytania | Opcjonalne. Wstępnie wypełniane przez phone={phone} dla nowych akcji pre-fetch. |
Dostępne zmienne
Te tokeny są podstawiane do URL, nagłówków i parametrów query/body w momencie żądania:
| Zmienna | Źródło | Przykładowa wartość |
|---|---|---|
{phone} | Telefon dzwoniącego (E.164) — dla wychodzących, numer docelowy | +431234567890 |
{direction} | inbound lub outbound | inbound |
{agent_id} | Wewnętrzne ID agenta | 65f1a2b3c4... |
{user_id} | ID właściciela przestrzeni roboczej | 65e0b1c2d3... |
{call_id} | ID połączenia (pozwala Twojemu backendowi skorelować późniejszy payload po rozmowie) | 65f1f2c4d5... |
Nieznane placeholdery pozostają verbatim — złe szablonowanie nigdy nie zawiesza rozmowy.
Co trafia do promptu
Jeśli Twój endpoint pod https://crm.example.com/lookup?phone={phone} zwraca:
{ "name": "Sarah Johnson", "tier": "Gold", "open_orders": 1 }
Systemowy prompt agenta jest uzupełniany o blok otoczony XML, nazwany po akcji:
<call_context>
<block name="crm_lookup">
{ "name": "Sarah Johnson", "tier": "Gold", "open_orders": 1 }
</block>
</call_context>
Nie musisz mówić agentowi, jak go używać — LLM podchwytuje kontekst naturalnie. Opcjonalnie wspomnij o pre-fetch w swoim systemowym prompcie: „Jeśli <call_context> zawiera imię klienta, powitaj go po imieniu."
Ważne ograniczenia
- Tylko połączenia telefoniczne. Pre-fetch nie uruchamia się dla rozmów widgetu (web) — nie ma numeru telefonu do szablonowania.
- Limit 8 KB na ciało odpowiedzi — wszystko dłuższe jest obcinane przed wstrzyknięciem. Limit chroni Twój budżet tokenów promptu i ogranicza promień rażenia złośliwego endpointu.
- Brak oceny
condition— pre-fetch zawsze uruchamia się, gdy jest aktywny. Nie ma jeszcze transkrypcji do oceny.
Używaj GET z endpointem wyszukiwania po telefonie. Trzymaj odpowiedzi małe i ustrukturyzowane (obiekt JSON z 3-5 polami). Agent nie potrzebuje Twojego pełnego rekordu klienta — tylko tych elementów, które zmieniają rozmowę.
Narzędzia rozmowy na żywo
Te uruchamiają się podczas rozmowy. AI decyduje, kiedy wywołać każde narzędzie na podstawie jego opisu i bieżącego dialogu.
Dostępne narzędzia
| Narzędzie | Cel | Kiedy używać |
|---|---|---|
| Przekierowanie połączeń | Przekaż człowiekowi-operatorowi | Klient prosi o osobę, złożone problemy |
| Google Calendar | Sprawdzaj dostępność i rezerwuj wizyty | Klient chce zaplanować spotkanie |
| Outlook Calendar | To samo, przez Microsoft Outlook | Klient chce zaplanować spotkanie |
| Narzędzie API RAG | Pobierz dane na żywo z zewnętrznego API | Potrzeba info w czasie rzeczywistym (zamówienia, magazyn, stan konta) |
| Przekazanie agenta | Przekaż do innego agenta głosowego AI | Dzwoniący potrzebuje innego działu lub specjalisty |
| HubSpot CRM | Odczyt/zapis kontaktów i transakcji w HubSpot | Logowanie rozmowy do HubSpot, wyszukiwanie leada |
| Serwery MCP | Udostępnij narzędzia z dowolnego z Twoich zarejestrowanych serwerów MCP | Prowadzisz serwer narzędzi kompatybilny z MCP i chcesz, aby agent używał jego narzędzi w trakcie rozmowy |
Przekierowanie połączeń
Przekazuj połączenia człowiekowi, gdy spełnione są określone warunki.
| Ustawienie | Opis | Przykład |
|---|---|---|
| Nazwa | Wymagana. Imię osoby lub nazwa działu | "Menedżer Sprzedaży" |
| Numer przekierowania | Domyślny numer telefonu, do którego przekierować | "+49 123 456 789" |
| Warunek wyzwalający | Kiedy agent powinien przekierować | "Klient prosi o menedżera lub problemu nie można rozwiązać" |
| Numery routingu warunkowego | Mapowanie warunek-numer dla routingu | {"billing": "+49 111 222", "technical": "+49 333 444"} |
Jak to działa:
- Podczas rozmowy AI ocenia Warunek wyzwalający.
- Jeśli ustawione są numery routingu warunkowego, pasujący warunek określa, na który numer zadzwonić.
- W przeciwnym razie używany jest Numer przekierowania.
- Agent informuje dzwoniącego o przekierowaniu.
- Połączenie jest przekierowywane — jeśli brak odpowiedzi, wraca do agenta.
Możesz dodać wiele narzędzi Przekierowania połączeń dla różnych działów — jedno dla „Sprzedaży" i drugie dla „Wsparcia Technicznego" z różnymi warunkami i numerami.
Google Calendar
Podłącz swój Google Calendar, aby agent mógł sprawdzać dostępność i rezerwować wizyty podczas rozmów.
Konfiguracja:
- Przejdź do Integracja → Kalendarze i najpierw podłącz swoje konto Google.
- Dodaj narzędzie Google Calendar w zakładce Akcje agenta.
- Wybierz kalendarz do użycia.
- Skonfiguruj swoje ustawienia dostępności.
| Ustawienie | Opis | Domyślne |
|---|---|---|
| Kalendarz | Wymagany. Który kalendarz używać | Twój kalendarz główny |
| Strefa czasowa | Strefa czasowa dla wizyt (format IANA) | Auto-wykrywana |
| Godzina rozpoczęcia pracy | Początek godzin pracy | 9:00 |
| Godzina zakończenia pracy | Koniec godzin pracy | 18:00 |
| Długość slotu | Długość wizyty w minutach | 30 |
| Dni robocze | Dostępne dni tygodnia | Poniedziałek–Piątek |
| Bufor między wizytami | Bufor między wizytami (0–60 min) | 0 |
Obsługiwane długości slotów: 15, 30, 45, 60, 75, 90, 105, 120 minut.
Skonfiguruj swoje godziny pracy i dni dokładnie — agent będzie oferować tylko sloty czasowe w ramach Twojej skonfigurowanej dostępności.
Outlook Calendar
Podłącz swój Outlook Calendar do planowania wizyt podczas rozmów. Działa tak samo jak Google Calendar.
Konfiguracja:
- Przejdź do Integracja → Kalendarze i najpierw podłącz swoje konto Outlook.
- Dodaj narzędzie Outlook Calendar w zakładce Akcje agenta.
- Wybierz kalendarz do użycia.
- Skonfiguruj swoje ustawienia dostępności.
Ustawienia są identyczne jak w Google Calendar (strefa czasowa, godziny pracy, długość slotu, dni robocze, bufor).
Przekazanie agenta
Przekaż połączenie innemu agentowi głosowemu AI na Twoim koncie. Przydatne, gdy masz wyspecjalizowanych agentów dla różnych działów.
| Ustawienie | Opis |
|---|---|
| Agent docelowy | Wymagany. Wybierz, do którego agenta przekierować |
| Warunek wyzwalający | Kiedy przekierować (np. „Dzwoniący pyta o wsparcie techniczne") |
Przykład: Agent recepcji przekazuje dzwoniących do agenta sprzedaży, gdy pytają o ceny, lub do agenta wsparcia, gdy mają problem techniczny.
HubSpot CRM
Odczytuj i zapisuj do swojego HubSpot CRM podczas rozmowy. Pozwala agentowi logować interakcje, wyszukać kontakt po telefonie lub wysłać aktualizacje transakcji bez konieczności pisania wywołań API.
Konfiguracja:
- Przejdź do strony Integracje i podłącz swoje konto HubSpot.
- Dodaj narzędzie HubSpot CRM w zakładce Akcje agenta.
- Wybierz, którego pipeline'u i właściwości agent ma móc dotykać.
Po dodaniu narzędzia AI może dopasować dzwoniącego do kontaktu HubSpot po telefonie, pobrać etap transakcji i aktualizować pola — wszystko z rozmowy na żywo.
Serwery MCP
Udostępnij narzędzia z dowolnego kompatybilnego z MCP serwera podłączonego do Hanc.AI. Jeden agent może pobierać z wielu serwerów MCP; jeden serwer MCP może obsługiwać wielu agentów.
Konfiguracja:
- Podłącz swoje serwery MCP raz pod Integracja → Serwery MCP. Patrz dedykowana strona Serwery MCP po pełne kroki rejestracji.
- Dodaj wpis Serwery MCP do zakładki Akcje tego agenta — jest pogrupowany pod Rozmowa na żywo w rozwijanej liście Dodaj akcję.
- Włącz, do których z Twoich zarejestrowanych połączeń ten agent ma mieć dostęp.
- Dodaj krótką instrukcję „Kiedy używać", aby agent wiedział, kiedy sięgnąć po te narzędzia.
Agent ponownie odkrywa zestaw narzędzi z każdego włączonego serwera MCP na początku każdej rozmowy, więc zmiany wprowadzone po stronie serwera pojawiają się automatycznie w następnej rozmowie. Narzędzia są przemianowane z etykietą połączenia jako prefiksem, więc podobnie nazwane narzędzia z różnych serwerów nie kolidują.
Narzędzie API RAG
Podłącz do zewnętrznych API, aby pobierać informacje w czasie rzeczywistym podczas rozmów — wyszukuj zamówienia, sprawdzaj magazyn, weryfikuj konta lub uzyskaj dostęp do dowolnych danych dostępnych przez API.
| Ustawienie | Opis | Przykład |
|---|---|---|
| Nazwa | Wymagana. Nazwa narzędzia | "Wyszukiwanie zamówień" |
| Opis / Kiedy używać | Wymagany. Kiedy zapytać API | "Klient pyta o status zamówienia" |
| URL API | Wymagany. Endpoint API. Może zawierać tokeny {placeholder}, które zostaną podstawione wartościami ze Schematu parametrów body (patrz poniżej). | "https://api.yourshop.com/orders/{order_id}" |
| Metoda HTTP | Wymagana. Metoda HTTP | GET, POST, PUT, DELETE, PATCH |
| Wiadomość ładowania | Co agent mówi, czekając | "Pozwól, że to sprawdzę..." |
| Limit czasu | Maksymalny czas oczekiwania (ms) | 5000 (domyślnie) |
| Nagłówki | Statyczne nagłówki HTTP wysyłane z każdym żądaniem | {"Authorization": "Bearer KEY"} |
| Parametry zapytania | Statyczne parametry query stringu dodane do każdego żądania | {"apiVersion": "v2"} |
| Schemat parametrów body | Wymagany. JSON Schema opisujący argumenty, które AI powinno wyodrębnić z rozmowy i przekazać do narzędzia. Patrz Pisanie Schematu parametrów body. | Obiekt JSON Schema |
Zawsze ustaw Wiadomość ładowania — cisza podczas wywołań API wydaje się zepsuta dla dzwoniącego.
Stary checkbox „Uruchom przy starcie rozmowy" w Narzędziu API RAG został zastąpiony dedykowanym wpisem Pre fetch. Używaj Pre fetch, gdy chcesz mieć dane przed rozpoczęciem rozmowy; używaj Narzędzia API RAG, gdy agent powinien zdecydować podczas rozmowy, czy pobierać.
Pisanie Schematu parametrów body
Mimo nazwy Schemat parametrów body to nie surowe ciało żądania. To JSON Schema opisujący, co AI powinno wyodrębnić z rozmowy i przekazać do Twojego narzędzia. W zależności od metody HTTP i szablonu URL, te wartości trafiają do URL, query stringu lub ciała JSON:
| Metoda HTTP | Gdzie trafiają wyodrębnione wartości |
|---|---|
URL zawiera {name} | Pasująca wartość jest podstawiana do URL |
GET, DELETE | Pozostałe wartości są dołączane do URL jako ?key=value |
POST, PUT, PATCH | Pozostałe wartości są wysyłane jako ciało JSON |
Minimalna struktura
{
"type": "object",
"properties": {
"param_name": {
"type": "string",
"description": "Co to za wartość i jak AI powinno ją wybrać"
}
},
"required": ["param_name"]
}
Główny type to zawsze "object". properties wymienia każdy argument. required zaznacza, które AI musi zawsze dostarczyć — jeśli klient jeszcze tego nie powiedział, AI zapyta przed wywołaniem narzędzia.
Referencja pól
| Pole | Cel |
|---|---|
type | Typ JSON wartości: "string", "number", "integer", "boolean", "array", "object" |
description | Najważniejsze. Mówi AI, co oznacza wartość, jakiego formatu użyć i kiedy ją dostarczyć. Dodawaj przykłady, kiedy to możliwe. |
enum | Ogranicza wartość do jednej ze stałej listy. AI zmapuje naturalną mowę na najbliższą opcję (np. „the blue one" → "blue"). |
minimum, maximum | Granice numeryczne. AI odmówi/przytnie wartości poza zakresem. |
default | Wartość używana, gdy AI nie przekaże tego pola. Niewymagane, ale dokumentuje wartość niejawną. |
format | Wskazówka walidacji, np. "email", "date" (YYYY-MM-DD), "uri". |
Przykłady
Wyszukiwanie produktów (tylko słowo kluczowe):
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Słowo kluczowe wyszukiwania produktu — np. \"telefon\", \"laptop\", \"Apple\", \"Samsung\""
}
},
"required": ["query"]
}
Używane z URL https://dummyjson.com/products/search?q={query}&limit=5 i GET: wartość query trafia do placeholdera URL. Nic nie trafia do ciała.
Wyszukiwanie zamówienia po ID:
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "ID zamówienia, o które pyta klient, zwykle 6 do 10 cyfr. Zapytaj klienta, jeśli nie podane."
}
},
"required": ["order_id"]
}
Używane z URL https://api.example.com/orders/{order_id} i GET.
Rezerwacja z wieloma wymaganymi polami:
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"description": "ID produktu zwrócone przez poprzednie wywołanie search_products."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Ile pozycji zarezerwować. Domyślnie 1."
},
"delivery_method": {
"type": "string",
"enum": ["pickup", "home_delivery", "locker"],
"description": "Jak klient chce otrzymać produkt."
},
"customer_email": {
"type": "string",
"format": "email",
"description": "Email klienta do potwierdzenia zamówienia. Zapytaj, jeśli nie podane."
}
},
"required": ["product_id", "delivery_method", "customer_email"]
}
Używane z POST https://api.example.com/reservations: cztery wartości trafiają do ciała JSON. AI zapyta klienta o brakujące required pola przed wywołaniem narzędzia.
Narzędzie bez parametrów:
{
"type": "object",
"properties": {}
}
Używaj tego, gdy endpoint jest w pełni statyczny (np. GET /store/hours) i AI nie musi nic przekazywać.
Najlepsze praktyki dla agentów głosowych AI
- Trzymaj schemat płaski. Zagnieżdżone obiekty i tablice działają, ale AI może się pomylić mówiąc przez telefon. Preferuj maksymalnie 3–5 pól najwyższego poziomu.
- Zawsze pisz
descriptiondla każdego pola. Uwzględnij przykłady (np. „telefon", „laptop") — przykłady prowadzą AI bardziej niezawodnie niż abstrakcyjne definicje. - Używaj
enum, kiedy masz stałą listę wartości. Eliminuje to ryzyko, że AI wymyśli wartości lub wyśle„Electronics"zamiast"electronics". - Oznaczaj pole jako
requiredtylko, jeśli narzędzie nie może bez niego działać. Wszystko inne jest opcjonalne, a AI pominie to, gdy klient o tym nie wspomni — żadnych niezręcznych dodatkowych pytań. - Używaj nazw
snake_casei dopasuj wszelkie tokeny{placeholder}w URL dokładnie. - Dokumentuj zachowanie dla brakujących wartości w
description— np.„Pomiń, jeśli brak limitu budżetu",„Domyślnie 5".
Akcje po rozmowie
Akcje po rozmowie uruchamiają się po zakończeniu rozmowy i wygenerowaniu przez łańcuch analizy podsumowania, sentymentu i wyodrębnionych zmiennych. Konsumują dane rozmowy — nie rozmawiają z klientem.
Dostępne akcje
| Akcja | Cel |
|---|---|
| Wyślij email | Wyślij emailem ustrukturyzowane podsumowanie do Twojego zespołu lub klienta |
| Wyślij SMS | Tekstowe potwierdzenie dla dzwoniącego |
| Wyślij WhatsApp | Wiadomość WhatsApp lub szablon (działa wewnątrz i poza 24-godzinnym oknem) |
| Wywołanie API | Wyślij pełny payload rozmowy do zewnętrznego API (CRM, webhook, Twoja hurtownia danych) |
Wyślij email
| Ustawienie | Opis |
|---|---|
| Nazwa | Wymagana. Identyfikator akcji |
| Temat | Wymagany. Temat emaila |
| Treść wiadomości | Wymagana. Treść emaila — może zawierać zmienne pobierania |
| Warunek wyzwalający | Kiedy wysłać (puste = zawsze) |
| Odbiorcy | Wymagani. Adresy email, które zawsze otrzymują emaila |
| Warunkowi odbiorcy | Mapowanie warunek-odbiorca |
Używanie zmiennych w emailu:
Nowy lead z rozmowy telefonicznej:
Imię: {{customer_name}}
Email: {{customer_email}}
Zainteresowany: {{selected_plan}}
Notatki: {{call_notes}}
Wyślij SMS
| Ustawienie | Opis |
|---|---|
| Nazwa | Wymagana. Identyfikator akcji |
| Nazwa nadawcy | Wyświetlana nazwa nadawcy |
| Wiadomość | Wymagana. Treść SMS (może zawierać zmienne) |
| Warunek wyzwalający | Kiedy wysłać |
| Odbiorcy | Wymagani. Numery telefonów, które zawsze otrzymują SMS |
| Warunkowi odbiorcy | Mapowanie warunek-numer |
Wyślij WhatsApp
Wiadomości WhatsApp w HANC używają wcześniej zatwierdzonych szablonów z centralnego konta Twilio Content — nie wklejasz Template SID ręcznie. Edytor akcji pokazuje rozwijaną listę każdego szablonu aktualnie aktywnego i zatwierdzonego, a Ty wybierasz jeden. Placeholdery wewnątrz szablonu ({{1}}, {{2}}, …) są następnie wypełniane inline ze zmiennych rozmowy lub statycznego tekstu, który mapujesz w edytorze.
| Ustawienie | Opis |
|---|---|
| Nazwa | Wymagana. Identyfikator akcji |
| Warunek wyzwalający | Kiedy wysłać |
| Odbiorcy | Wymagani. Numery telefonów, które zawsze otrzymują wiadomość |
| Warunkowi odbiorcy | Mapowanie warunek-numer |
| Szablon | Wymagany. Selektor wcześniej zatwierdzonych szablonów WhatsApp synchronizowanych z centralnego konta Twilio Content. Każdy wpis pokazuje nazwę szablonu, język i podgląd treści, abyś wiedział, który wybrać. |
| Zmienne szablonu | Dla wybranego szablonu edytor wymienia każdy placeholder ({{1}}, {{2}}, …) i pozwala zmapować go na zmienną rozmowy (patrz poniżej) lub statyczny string. |
Dostępne zmienne rozmowy, które możesz zmapować na placeholdery szablonu:
| Zmienna | Opis |
|---|---|
{{call_from}} | Numer telefonu dzwoniącego |
{{call_to}} | Numer, na który zadzwoniono |
{{call_summary}} | Podsumowanie rozmowy wygenerowane przez AI |
{{call_sentiment}} | Sentyment (pozytywny/neutralny/negatywny) |
{{call_task_achieved}} | Czy zadanie rozmowy zostało osiągnięte |
{{call_transcription}} | Pełna transkrypcja rozmowy |
WhatsApp wymaga, aby każda wiadomość inicjowana przez biznes poza 24-godzinnym oknem obsługi klienta używała wcześniej zatwierdzonego szablonu. HANC synchronizuje listę zatwierdzonych szablonów ze współdzielonego konta Twilio Content, więc selektor zawsze pokazuje dokładnie to, co jest kwalifikowane do wysłania teraz — nie możesz przypadkowo wybrać szkicu, odrzuconego szablonu ani SID, który nie istnieje. Aby dodać nowy szablon, skontaktuj się ze wsparciem; po zatwierdzeniu przez WhatsApp pojawia się w selektorze automatycznie.
Wywołanie API
Akcja Wywołanie API po rozmowie to Twój generyczny webhook do reszty Twojego stosu. Wybierz metodę, ustaw URL, a my wyślemy cały payload rozmowy — Twój endpoint otrzyma ustrukturyzowany obiekt JSON opisujący, co się wydarzyło.
| Ustawienie | Opis |
|---|---|
| Nazwa | Wymagana. Identyfikator akcji |
| Warunek wyzwalający | Kiedy uruchomić (puste = każda rozmowa). Oceniany przez LLM względem transkrypcji. |
| URL API | Wymagany. URL endpointu API |
| Metoda HTTP | Wymagana. GET, POST, PUT, DELETE, PATCH |
| Nagłówki | Opcjonalne nagłówki żądania |
| Parametry zapytania | Opcjonalne parametry query string |
Co otrzymuje Twój endpoint
Dla POST / PUT / PATCH Twój endpoint dostaje obiekt JSON w ciele żądania. Twoje skonfigurowane parametry body są łączone z pełnym payloadem rozmowy:
{
"call_from": "+431234567890",
"call_to": "+439876543210",
"direction": "inbound",
"call_type": "phone",
"call_status": "ended",
"start_timestamp": 1730000000000,
"end_timestamp": 1730000187000,
"duration": 187000,
"transcription": [
{ "speaker": "agent", "content": "Hello…", "timestamp": 1730000001000 },
{ "speaker": "user", "content": "Hi…", "timestamp": 1730000003000 }
],
"call_summary": "Customer asked about pricing…",
"task_achieved": true,
"sentiment": { "sentiment": "positive", "explanation": "…" },
"custom_analysis_data": {
"name": "John",
"email": "john@example.com"
},
"collected_data": { /* zgłoszenia formularzy w trakcie rozmowy */ },
"transfer_history": [ /* jeśli doszło do przekazania agenta */ ],
"recording_url": "https://…",
"disconnection_reason": "user_hangup",
"is_anonymous": false,
"is_simulation": false,
"created_at": 1730000000000,
"updated_at": 1730000187000
}
Dla GET / DELETE te same pola są spłaszczone do query stringu — ale zagnieżdżone wartości, takie jak transcription, sentiment i custom_analysis_data, są pomijane (URL-e nie mogą rozsądnie przenosić danych strukturalnych). Używaj POST/PUT/PATCH, jeśli potrzebujesz transkrypcji.
Każde żądanie otrzymuje także nagłówek X-Correlation-Id do śledzenia i ma limit czasu 30 sekund.
- Pre fetch szablonuje
{phone}itd. do URL/nagłówków/query/body. Wraca do promptu, przed rozmową. - Wywołanie API po rozmowie wysyła cały zrzut rozmowy w ciele lub query. Brak szablonowania URL — Twój endpoint dostaje statyczny URL + dynamiczne ciało.
Zmienne pobierania
Zmienne pobierania to niestandardowe pola danych, które AI automatycznie wyodrębnia z rozmów. Na przykład agent może uchwycić imię dzwoniącego, email, numer telefonu lub dowolną inną informację, którą zdefiniujesz.
Domyślne zmienne
Każdy nowy agent jest tworzony z dwoma domyślnymi zmiennymi pobierania:
| Zmienna | Typ | Opis |
|---|---|---|
| Adres email dzwoniącego | ||
| Telefon | Phone | Numer telefonu dzwoniącego |
Są one włączone domyślnie i pokazane w formularzu widgetu rozmowy. Możesz je edytować lub usunąć i dodać własne niestandardowe zmienne.
Typy zmiennych
| Typ | Przypadek użycia | Przykład |
|---|---|---|
| Tekst | Imiona, adresy, notatki, dowolne dane wejściowe | Imię klienta, adres dostawy |
| Liczba | Ilości, budżety, ID | Ilość zamówienia, kwota budżetu |
| Adresy email z walidacją | Email klienta | |
| Telefon | Numery telefonów z walidacją | Numer telefonu klienta |
| Selektor | Wybór z predefiniowanych opcji | Preferowany plan (Basic/Pro/Enterprise) |
| Checkbox | Zgoda lub potwierdzenie tak/nie | „Zgadzam się otrzymywać emaile marketingowe" |
Konfigurowanie zmiennej
| Pole | Opis | Przykład |
|---|---|---|
| Nazwa zmiennej | Wymagana. Identyfikator zmiennej | customer_email |
| Instrukcje dla AI | Wymagane. Instrukcje dla AI, kiedy i jak wyodrębnić tę wartość | „Adres email klienta. Zapytaj, jeśli nie podany." |
| Przykładowy format | (Opcjonalny) Przykład oczekiwanego formatu | "john@example.com" |
| Opcje (dla Selektora) | (Tylko Selektor) Lista dozwolonych opcji | ["Basic", "Pro", "Enterprise"] |
| Pokaż w formularzu | Czy wyświetlać to pole w formularzu widgetu rozmowy | Włączone domyślnie |
Pokaż w formularzu
Gdy Pokaż w formularzu jest włączone, zmienna pojawia się jako widoczne pole wejściowe w widgecie web przed i podczas rozmowy. Pozwala to dzwoniącym wypełnić swoje informacje bezpośrednio, oprócz wyodrębniania ich przez AI z rozmowy.
AI naturalnie zapyta o brakujące informacje podczas rozmowy. Ustaw jasny opis, taki jak „Adres email klienta, zapytaj uprzejmie, jeśli nie podany", a agent sobie z tym poradzi.
Dodawanie narzędzi i akcji
- Przejdź do zakładki Akcje swojego agenta.
- Kliknij Dodaj narzędzie.
- Wybierz odpowiednią fazę z rozwijanej listy — Pre fetch, Rozmowa na żywo lub Po rozmowie.
- Skonfiguruj ustawienia.
- Zapisz — zmiany obowiązują w następnej rozmowie.
Wszystkie wpisy są wymienione razem w tabeli Akcji. Kliknij dowolny wiersz, aby edytować, lub użyj ikony kosza, aby usunąć.
Powiązane
- Przegląd agentów głosowych AI
- Inżynieria promptów — Odwołuj się do narzędzi w swoim prompcie
- Baza wiedzy — Źródła informacji
- Integracje — Zewnętrzne systemy, z którymi Twoje narzędzia mogą rozmawiać