Przejdź do głównej zawartości

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 plany

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:

FazaKiedyPrzykłady
Pre fetchPrzed tym, jak agent powie cześćWyszukaj dzwoniącego w Twoim CRM po telefonie, pobierz najnowsze zamówienie, pobierz spersonalizowane powitanie z backendu
Rozmowa na żywoPodczas rozmowy, wyzwalane przez AI we właściwym momenciePrzekaż połączenie człowiekowi, sprawdź dostępność kalendarza, przekaż do innego agenta, zapytaj zewnętrzny API o dane
Po rozmowiePo zakończeniu rozmowyWyś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

  1. Platforma rozpoznaje telefon dzwoniącego (z SIP dla przychodzących, z celu wybierania dla wychodzących).
  2. 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.
  3. Pomyślne odpowiedzi są konkatenowane do systemowego promptu agenta jako nazwane bloki — agent czyta je w pierwszej turze.
  4. Niepowodzenia są ciche — wolny lub zepsuty endpoint nigdy nie blokuje powitania. Agent po prostu zaczyna mówić bez tego bloku.

Konfiguracja

PoleOpis
NazwaWymagana. Wewnętrzna etykieta i nazwa bloku w prompcie — trzymaj krótko i opisowo (np. crm_lookup, vip_check).
URL APIWymagany. Endpoint, z którego pobierać. Obsługuje placeholdery {phone}, {direction}, {agent_id}, {user_id}, {call_id}.
Metoda HTTPGET jest domyślny i najlepiej pasuje. POST / PUT / PATCH / DELETE też działają.
NagłówkiOpcjonalne. Statyczne lub szablonowe (placeholdery też tutaj działają).
Parametry zapytaniaOpcjonalne. 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łoPrzykładowa wartość
{phone}Telefon dzwoniącego (E.164) — dla wychodzących, numer docelowy+431234567890
{direction}inbound lub outboundinbound
{agent_id}Wewnętrzne ID agenta65f1a2b3c4...
{user_id}ID właściciela przestrzeni roboczej65e0b1c2d3...
{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.
wskazówka

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ędzieCelKiedy używać
Przekierowanie połączeńPrzekaż człowiekowi-operatorowiKlient prosi o osobę, złożone problemy
Google CalendarSprawdzaj dostępność i rezerwuj wizytyKlient chce zaplanować spotkanie
Outlook CalendarTo samo, przez Microsoft OutlookKlient chce zaplanować spotkanie
Narzędzie API RAGPobierz dane na żywo z zewnętrznego APIPotrzeba info w czasie rzeczywistym (zamówienia, magazyn, stan konta)
Przekazanie agentaPrzekaż do innego agenta głosowego AIDzwoniący potrzebuje innego działu lub specjalisty
HubSpot CRMOdczyt/zapis kontaktów i transakcji w HubSpotLogowanie rozmowy do HubSpot, wyszukiwanie leada
Serwery MCPUdostępnij narzędzia z dowolnego z Twoich zarejestrowanych serwerów MCPProwadzisz 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.

UstawienieOpisPrzykład
NazwaWymagana. Imię osoby lub nazwa działu"Menedżer Sprzedaży"
Numer przekierowaniaDomyślny numer telefonu, do którego przekierować"+49 123 456 789"
Warunek wyzwalającyKiedy agent powinien przekierować"Klient prosi o menedżera lub problemu nie można rozwiązać"
Numery routingu warunkowegoMapowanie warunek-numer dla routingu{"billing": "+49 111 222", "technical": "+49 333 444"}

Jak to działa:

  1. Podczas rozmowy AI ocenia Warunek wyzwalający.
  2. Jeśli ustawione są numery routingu warunkowego, pasujący warunek określa, na który numer zadzwonić.
  3. W przeciwnym razie używany jest Numer przekierowania.
  4. Agent informuje dzwoniącego o przekierowaniu.
  5. Połączenie jest przekierowywane — jeśli brak odpowiedzi, wraca do agenta.
wskazówka

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:

  1. Przejdź do IntegracjaKalendarze i najpierw podłącz swoje konto Google.
  2. Dodaj narzędzie Google Calendar w zakładce Akcje agenta.
  3. Wybierz kalendarz do użycia.
  4. Skonfiguruj swoje ustawienia dostępności.
UstawienieOpisDomyślne
KalendarzWymagany. Który kalendarz używaćTwój kalendarz główny
Strefa czasowaStrefa czasowa dla wizyt (format IANA)Auto-wykrywana
Godzina rozpoczęcia pracyPoczątek godzin pracy9:00
Godzina zakończenia pracyKoniec godzin pracy18:00
Długość slotuDługość wizyty w minutach30
Dni roboczeDostępne dni tygodniaPoniedziałek–Piątek
Bufor między wizytamiBufor między wizytami (0–60 min)0

Obsługiwane długości slotów: 15, 30, 45, 60, 75, 90, 105, 120 minut.

wskazówka

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:

  1. Przejdź do IntegracjaKalendarze i najpierw podłącz swoje konto Outlook.
  2. Dodaj narzędzie Outlook Calendar w zakładce Akcje agenta.
  3. Wybierz kalendarz do użycia.
  4. 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.

UstawienieOpis
Agent docelowyWymagany. Wybierz, do którego agenta przekierować
Warunek wyzwalającyKiedy 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:

  1. Przejdź do strony Integracje i podłącz swoje konto HubSpot.
  2. Dodaj narzędzie HubSpot CRM w zakładce Akcje agenta.
  3. 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:

  1. Podłącz swoje serwery MCP raz pod IntegracjaSerwery MCP. Patrz dedykowana strona Serwery MCP po pełne kroki rejestracji.
  2. Dodaj wpis Serwery MCP do zakładki Akcje tego agenta — jest pogrupowany pod Rozmowa na żywo w rozwijanej liście Dodaj akcję.
  3. Włącz, do których z Twoich zarejestrowanych połączeń ten agent ma mieć dostęp.
  4. 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.

UstawienieOpisPrzykład
NazwaWymagana. Nazwa narzędzia"Wyszukiwanie zamówień"
Opis / Kiedy używaćWymagany. Kiedy zapytać API"Klient pyta o status zamówienia"
URL APIWymagany. 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 HTTPWymagana. Metoda HTTPGET, POST, PUT, DELETE, PATCH
Wiadomość ładowaniaCo agent mówi, czekając"Pozwól, że to sprawdzę..."
Limit czasuMaksymalny czas oczekiwania (ms)5000 (domyślnie)
NagłówkiStatyczne nagłówki HTTP wysyłane z każdym żądaniem{"Authorization": "Bearer KEY"}
Parametry zapytaniaStatyczne parametry query stringu dodane do każdego żądania{"apiVersion": "v2"}
Schemat parametrów bodyWymagany. 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
wskazówka

Zawsze ustaw Wiadomość ładowania — cisza podczas wywołań API wydaje się zepsuta dla dzwoniącego.

notatka

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 HTTPGdzie trafiają wyodrębnione wartości
URL zawiera {name}Pasująca wartość jest podstawiana do URL
GET, DELETEPozostałe wartości są dołączane do URL jako ?key=value
POST, PUT, PATCHPozostał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
PoleCel
typeTyp JSON wartości: "string", "number", "integer", "boolean", "array", "object"
descriptionNajważniejsze. Mówi AI, co oznacza wartość, jakiego formatu użyć i kiedy ją dostarczyć. Dodawaj przykłady, kiedy to możliwe.
enumOgranicza wartość do jednej ze stałej listy. AI zmapuje naturalną mowę na najbliższą opcję (np. „the blue one""blue").
minimum, maximumGranice numeryczne. AI odmówi/przytnie wartości poza zakresem.
defaultWartość używana, gdy AI nie przekaże tego pola. Niewymagane, ale dokumentuje wartość niejawną.
formatWskazó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 description dla 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 required tylko, 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_case i 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

AkcjaCel
Wyślij emailWyślij emailem ustrukturyzowane podsumowanie do Twojego zespołu lub klienta
Wyślij SMSTekstowe potwierdzenie dla dzwoniącego
Wyślij WhatsAppWiadomość WhatsApp lub szablon (działa wewnątrz i poza 24-godzinnym oknem)
Wywołanie APIWyślij pełny payload rozmowy do zewnętrznego API (CRM, webhook, Twoja hurtownia danych)

Wyślij email

UstawienieOpis
NazwaWymagana. Identyfikator akcji
TematWymagany. Temat emaila
Treść wiadomościWymagana. Treść emaila — może zawierać zmienne pobierania
Warunek wyzwalającyKiedy wysłać (puste = zawsze)
OdbiorcyWymagani. Adresy email, które zawsze otrzymują emaila
Warunkowi odbiorcyMapowanie 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

UstawienieOpis
NazwaWymagana. Identyfikator akcji
Nazwa nadawcyWyświetlana nazwa nadawcy
WiadomośćWymagana. Treść SMS (może zawierać zmienne)
Warunek wyzwalającyKiedy wysłać
OdbiorcyWymagani. Numery telefonów, które zawsze otrzymują SMS
Warunkowi odbiorcyMapowanie 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.

UstawienieOpis
NazwaWymagana. Identyfikator akcji
Warunek wyzwalającyKiedy wysłać
OdbiorcyWymagani. Numery telefonów, które zawsze otrzymują wiadomość
Warunkowi odbiorcyMapowanie warunek-numer
SzablonWymagany. 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 szablonuDla 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:

ZmiennaOpis
{{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
Dlaczego selektor, a nie wolny tekst

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.

UstawienieOpis
NazwaWymagana. Identyfikator akcji
Warunek wyzwalającyKiedy uruchomić (puste = każda rozmowa). Oceniany przez LLM względem transkrypcji.
URL APIWymagany. URL endpointu API
Metoda HTTPWymagana. GET, POST, PUT, DELETE, PATCH
NagłówkiOpcjonalne nagłówki żądania
Parametry zapytaniaOpcjonalne 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 vs Wywołanie API po rozmowie
  • 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:

ZmiennaTypOpis
EmailEmailAdres email dzwoniącego
TelefonPhoneNumer 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

TypPrzypadek użyciaPrzykład
TekstImiona, adresy, notatki, dowolne dane wejścioweImię klienta, adres dostawy
LiczbaIlości, budżety, IDIlość zamówienia, kwota budżetu
EmailAdresy email z walidacjąEmail klienta
TelefonNumery telefonów z walidacjąNumer telefonu klienta
SelektorWybór z predefiniowanych opcjiPreferowany plan (Basic/Pro/Enterprise)
CheckboxZgoda lub potwierdzenie tak/nie„Zgadzam się otrzymywać emaile marketingowe"

Konfigurowanie zmiennej

PoleOpisPrzykład
Nazwa zmiennejWymagana. Identyfikator zmiennejcustomer_email
Instrukcje dla AIWymagane. 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 formularzuCzy wyświetlać to pole w formularzu widgetu rozmowyWłą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.

wskazówka

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

  1. Przejdź do zakładki Akcje swojego agenta.
  2. Kliknij Dodaj narzędzie.
  3. Wybierz odpowiednią fazę z rozwijanej listy — Pre fetch, Rozmowa na żywo lub Po rozmowie.
  4. Skonfiguruj ustawienia.
  5. 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