> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brosbots.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Własne integracje (kreator)

> Połącz agenta z dowolnym systemem: zapytania do Twojego API w trakcie rozmowy, webhooki ze zdarzeniami i leady z formularzy.

Kiedy w katalogu nie ma Twojego systemu, zbudujesz integrację sam, w kreatorze
krok po kroku: **Integracje** → zakładka **Własne**. Nie trzeba znać JSON-a
ani pisać kodu, wystarczy adres API i (zwykle) klucz.

Kreator robi trzy rodzaje integracji:

| Rodzaj | Co robi | Przykład |
| - | - | - |
| **W trakcie rozmowy** | agent wywołuje Twoje API, kiedy klient o coś prosi, i odczytuje odpowiedź | „Gdzie jest moja paczka?” → agent sprawdza status w sklepie |
| **Powiadomienie po zdarzeniu** | wysyłamy podpisaną wiadomość na Twój adres po rozmowie, SMS-ie, kampanii | po każdej rozmowie wpis w CRM przez n8n |
| **Leady z formularzy** | formularz ze strony wysyła lead, agent od razu oddzwania | formularz kontaktowy → telefon w kilka sekund |

## W trakcie rozmowy

Zacznij od kafelka **Od zera** albo od szablonu:

* **Status zamówienia** - agent pyta o numer zamówienia i czyta status oraz
  datę dostawy,
* **Zapisz kontakt w CRM** - agent zapisuje imię, telefon i sprawę klienta,
* **Wolne terminy** - agent sprawdza wolne godziny w danym dniu.

Szablon wypełnia wszystko poza adresem Twojego API. Kreator ma sześć kroków.

### 1. Cel

Nazwa i opis. **Opis czyta agent**, żeby zdecydować, kiedy użyć integracji,
więc pisz konkretnie, jak do nowego pracownika: co integracja sprawdza i co
agent ma potem powiedzieć klientowi.

### 2. Połączenie

Metoda (`GET`, `POST`…), adres i opcjonalne nagłówki.

* **Wklej cURL**: polecenie `curl` z dokumentacji API wypełnia metodę, adres,
  nagłówki i pola. Token z nagłówka `Authorization: Bearer` i login z `-u`
  zamieniają się w zapisany klucz.
* **Logowanie do API**: wybierz zapisany klucz albo dodaj nowy (Bearer token,
  klucz API w nagłówku, login i hasło, własny nagłówek). Klucze są
  przechowywane zaszyfrowane.
* W adresie i nagłówkach możesz użyć danych rozmowy: `{{caller_number}}`
  (numer dzwoniącego), `{{called_number}}`, `{{direction}}` i każdej zmiennej
  rozmowy. Numer dzwoniącego nie musi być więc polem, o które agent pyta.

### 3. Dane od klienta

O co agent ma zapytać, zanim wyśle zapytanie. Każde pole ma nazwę (litery,
cyfry i `_`), typ i opis dla agenta.

| Typ | Co dostaje Twoje API |
| - | - |
| Tekst | tekst |
| Liczba | liczba |
| Tak / nie | `true` / `false` |
| Data | tekst `RRRR-MM-DD` |
| Telefon | tekst w formacie `+48600100200` |

Dla `POST`, `PUT` i `PATCH` pola idą w treści jako JSON, dla `GET` i `DELETE`
jako parametry w adresie.

### 4. Test

Wysyła prawdziwe zapytanie z przykładowymi wartościami, **bez zapisywania**.
Widzisz wysłane zapytanie (klucz jest zamaskowany) i odpowiedź Twojego API.
Z odpowiedzi zaznaczasz pola, które agent ma przeczytać.

### 5. Odpowiedź

* **Co agent mówi, czekając** - np. „Chwileczkę, sprawdzam”. Puste: ogólna
  fraza z ustawień agenta.
* **Pola odpowiedzi dla agenta** - ścieżki z kropkami, np. `order.status`
  albo `items.0.name`. Agent dostaje tylko te pola: odpowiada szybciej i nie
  zmyśla z pól, które nic nie znaczą dla klienta. Gdy żadnej ścieżki nie ma
  w odpowiedzi (API zmieniło format), agent dostaje całą odpowiedź.
* **Co powiedzieć, kiedy system nie odpowie** - zdanie, które agent powie
  przy błędzie albo braku odpowiedzi.
* **Maksymalny czas czekania** - od 3 do 10 sekund.

### 6. Agenci

* **Kiedy klient mówi…** - przykładowe zdania, po których agent ma użyć
  integracji. Rozpozna też podobne.
* **Którzy agenci** - zaznacz agentów. Zmiana działa od następnej rozmowy.

Integrację edytujesz później w tym samym kreatorze. Przycisk **Zaawansowane**
otwiera pełny edytor narzędzia ([Narzędzia](/pl/voice-agent/tools)).

## Powiadomienie po zdarzeniu

Webhook z podpisanymi zdarzeniami: `call.completed`, `call.started`,
`sms.received`, `campaign.completed`, `balance.low`, `lead.dropped`, z wyborem agentów
i testem. Szczegóły i sprawdzanie podpisu: [Webhooki](/pl/integrations/webhooks).

## Leady z formularzy

Kreator w czterech krokach daje agentowi adres dla formularza:

1. **Agent** - który agent ma oddzwaniać. Najlepiej z szablonu
   **Oddzwanianie do leadów**.
2. **Ustawienia** - godziny i dni dzwonienia, nazwa pola z telefonem
   (zwykle puste: rozpoznamy je samo), kierunkowy kraju, ignorowanie powtórek.
3. **Test** - wklej przykładowe zgłoszenie (JSON albo linie `pole: wartość`
   z maila z formularza). **Nikt nie dostaje telefonu**: widzisz numer, pola
   i to, kiedy agent by zadzwonił.
4. **Adres** - przycisk **Włącz i pokaż adres** włącza leady u agenta i pokazuje
   adres do wklejenia w formularzu, polecenie cURL i adres z kluczem dla
   formularzy Google Ads.

Agent nie musi mieć wcześniej węzła **Webhook z formularza** w grafie:
kreator dodaje go sam. Więcej o tym, jakie dane przyjmujemy i co znaczą
odpowiedzi: [Oddzwanianie do leadów z formularza](/pl/integrations/leads/lead-webhook).

## Bezpieczeństwo

* Klucze do API i klucze do podpisu webhooków są w bazie zaszyfrowane
  i nie wracają z API w całości.
* Adresy w sieci prywatnej i `localhost` są blokowane, zarówno w zapytaniach
  w trakcie rozmowy, jak i w webhookach.
* Adres dla leadów zawiera klucz: wklejaj go po stronie serwera albo
  w ustawieniach narzędzia formularzowego, nie w kodzie strony.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.