> This is a page from the ElevenLabs documentation. For an index of the documentation, fetch https://elevenlabs.io/docs/llms.txt.

# ERPNext

Za pomocą poniższych [narzędzi webhook](/docs/pl/reception-ai/integrations/webhooks) recepcjonista może rozpoznawać dzwoniących, którzy są już leadami w ERPNext, rejestrować nowych dzwoniących jako leady z ich imieniem, numerem telefonu i notatką o tym, czego potrzebują, oraz dodawać komentarze do istniejących leadów, aby zespół sprzedaży mógł do nich oddzwonić. ERPNext i framework Frappe obsługują statyczny klucz API i sekret oraz treści żądań JSON, więc działa to w Frappe Cloud i na stronach hostowanych samodzielnie.

## Zanim zaczniesz

### Utwórz użytkownika API

W ERPNext utwórz użytkownika dla Reception.ai, na przykład `reception@yourcompany.com`, i przypisz mu wyłącznie rolę **Sales User**. Żądania API działają z uprawnieniami tego użytkownika, więc nie używaj konta administratora.

### Wygeneruj klucze

Otwórz użytkownika, wybierz kartę **Settings**, rozwiń **API Access** i wybierz **Generate Keys**. Od razu skopiuj **API Secret** z wyskakującego okna: ERPNext pokazuje go tylko raz. **API Key** pozostaje widoczny w tej samej sekcji.

Każde narzędzie poniżej wysyła nagłówek żądania o nazwie `Authorization` z wartością `token API_KEY:API_SECRET`, gdzie klucz i sekret są połączone dwukropkiem. Ustaw jego **Type** na **Secret**.

> **Warning**
>
> Klucz i sekret mogą odczytywać i zmieniać wszystko, na co pozwala rola **Sales User**. Nie umieszczaj ich we
> współdzielonych dokumentach, a jeśli wyciekną, ponownie wybierz **Generate Keys**, aby je zastąpić.

### Znajdź adres swojej strony

Adresy URL narzędzi zaczynają się od adresu otwieranego w przeglądarce, aby korzystać z ERPNext. W tabelach poniżej użyto `https://YOUR-SITE.example.com`; zastąp go własnym adresem.

## Utwórz narzędzia

Dla każdego narzędzia przejdź do **Integrations**, wybierz **Add integration**, wybierz **Webhook Tool** i ustaw **Assign to agents** na **Receptionist**. Dla każdego parametru oznaczonego niżej jako „Always” ustaw **Value** na **Fixed value**.

### Znajdź leada

| Pole                    | Wartość                                                                                                                                                                                                                                                                               |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nazwa**               | `find_erpnext_lead`                                                                                                                                                                                                                                                                   |
| **Opis**                | "Znajdź dzwoniącego wśród naszych leadów po numerze telefonu. Użyj na początku rozmowy, aby sprawdzić, czy kontaktował się z nami wcześniej."                                                                                                                                         |
| **Metoda**              | GET                                                                                                                                                                                                                                                                                   |
| **URL**                 | `https://YOUR-SITE.example.com/api/resource/Lead`                                                                                                                                                                                                                                     |
| **Nagłówki żądania**    | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                                                                                           |
| **Parametry zapytania** | `or_filters` (string, wymagane): "Filtr dla ostatnich siedmiu cyfr numeru dzwoniącego, dokładnie taki jak `[["mobile_no","like","%5550123%"],["phone","like","%5550123%"]]`."  `fields` (string): Zawsze `["name","lead_name","status"]`.  `limit_page_length` (integer): Zawsze `5`. |

### Zarejestruj nowego leada

| Pole                 | Wartość                                                                                                                                                                                                                                                                                                                                                                                                            |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Nazwa**            | `create_erpnext_lead`                                                                                                                                                                                                                                                                                                                                                                                              |
| **Opis**             | "Zarejestruj dzwoniącego jako nowego leada, gdy `find_erpnext_lead` go nie znajdzie."                                                                                                                                                                                                                                                                                                                              |
| **Metoda**           | POST                                                                                                                                                                                                                                                                                                                                                                                                               |
| **URL**              | `https://YOUR-SITE.example.com/api/resource/Lead`                                                                                                                                                                                                                                                                                                                                                                  |
| **Nagłówki żądania** | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                                                                                                                                                                                                                        |
| **Parametry treści** | `first_name` (string, wymagane): "Imię dzwoniącego."  `last_name` (string): "Nazwisko dzwoniącego."  `mobile_no` (string, wymagane): "Numer telefonu dzwoniącego w formacie międzynarodowym, na przykład +14155550123."  `email_id` (string): "Adres e-mail dzwoniącego, jeśli go podał."  `lead_owner` (string): Zawsze adres e-mail sprzedawcy, który oddzwania do nowych leadów.  `notes` (array): patrz niżej. |

Aby ustawić źródło leadów, dodaj `source` (string) jako stałą wartość, która dokładnie odpowiada jednemu z rekordów **Lead Source**. W ERPNext 16 i nowszych wersjach jest to pole `utm_source`, które musi odpowiadać rekordowi **UTM Source**.

`notes` wypełnia kartę **Notes** leada. Dodaj opis: „Wyślij dokładnie jeden element z informacją, czego potrzebuje dzwoniący”. W sekcji **Each item** wybierz `object`, a następnie wybierz **Add field** dla każdego z tych pól:

* `note` (string, wymagane): "Czego potrzebuje dzwoniący i kiedy chce, aby do niego oddzwonić."
* `added_by` (string): Zawsze adres e-mail użytkownika API.

### Zapisz szczegóły rozmowy

| Pole                 | Wartość                                                                                                                                                                                                                                                                                                                                                            |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Nazwa**            | `add_erpnext_lead_comment`                                                                                                                                                                                                                                                                                                                                         |
| **Opis**             | "Dodaj komentarz do leada dzwoniącego z informacją, czego potrzebuje. Użyj, gdy `find_erpnext_lead` znalazło dzwoniącego, podając nazwę leada, na przykład CRM-LEAD-2026-00012."                                                                                                                                                                                   |
| **Metoda**           | POST                                                                                                                                                                                                                                                                                                                                                               |
| **URL**              | `https://YOUR-SITE.example.com/api/method/frappe.desk.form.utils.add_comment`                                                                                                                                                                                                                                                                                      |
| **Nagłówki żądania** | `Authorization`: `token API_KEY:API_SECRET`                                                                                                                                                                                                                                                                                                                        |
| **Parametry treści** | `reference_doctype` (string): Zawsze `Lead`.  `reference_name` (string, wymagane): "Nazwa leada z `find_erpnext_lead` lub `create_erpnext_lead`."  `content` (string, wymagane): "Czego potrzebuje dzwoniący i kiedy chce, aby do niego oddzwonić."  `comment_email` (string): Zawsze adres e-mail użytkownika API.  `comment_by` (string): Zawsze `Reception.ai`. |

Wybierz **Enable** w każdym narzędziu, a następnie [przetestuj recepcjonistę](/docs/pl/reception-ai/receptionist/testing) jako nowy dzwoniący, który prosi o oddzwonienie. Lead pojawi się na liście **Lead**, przypisany do sprzedawcy, z komentarzem recepcjonisty.

> **Tip**
>
> Dodaj [procedurę](/docs/pl/reception-ai/receptionist/rules-and-procedures) dla dzwoniących: znajdź
> leada, a następnie zarejestruj go z notatką, jeśli nie został znaleziony, lub zapisz szczegóły rozmowy przy
> znalezionym leadzie. Dodaj regułę, że recepcjonista nigdy nie odczytuje dzwoniącym danych leadów.

> **Warning**
>
> Recepcjonista tworzy filtr wyszukiwania na podstawie rozmowy, więc dzwoniący może próbować nakłonić go
> do wyszukania leadów innych osób. Narzędzie zwraca tylko maksymalnie pięć nazw i statusów, ale zachowaj
> powyższą regułę. Jeśli **Sales User** daje większy dostęp, niż chcesz, na przykład do klientów i
> ofert, utwórz własną rolę, która może tylko odczytywać, tworzyć i komentować leady.

## Ograniczenia

* Wyszukiwanie sprawdza ostatnie siedem cyfr numeru. Numery zapisane ze spacjami lub myślnikami wśród tych cyfr nie zostaną znalezione, a dwóch dzwoniących może mieć takie same ostatnie siedem cyfr.
* Ta konfiguracja obejmuje tylko leady. Recepcjonista nie wyszukuje kontaktów ani klientów i nie tworzy szans sprzedaży.

## Rozwiązywanie problemów

| Problem                                     | Co sprawdzić                                                                                                                                                              |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 401 lub 403 z ERPNext                       | Wartość nagłówka musi zawierać `token`, spację, a następnie klucz i sekret połączone dwukropkiem. Sprawdź, czy użytkownik jest aktywny i ma rolę **Sales User**.          |
| Znani dzwoniący nie są znajdowani           | Zapisuj numery bez spacji i myślników oraz sprawdź, czy numer znajduje się w polu **Mobile No** lub **Phone** leada.                                                      |
| Błąd dotyczący właściciela leada lub źródła | `lead_owner` musi być adresem e-mail aktywnego użytkownika, a `source` musi dokładnie odpowiadać **Lead Source** (`utm_source` i **UTM Source** w ERPNext 16 i nowszych). |
| Błąd dotyczący numeru telefonu              | ERPNext sprawdza numery telefonów. Powiedz recepcjoniście, aby wysyłał tylko cyfry z opcjonalnym początkowym `+`.                                                         |
| Błąd dotyczący `added_by`                   | `added_by` w `notes` musi być adresem e-mail aktywnego użytkownika, na przykład użytkownika API.                                                                          |
| Komentarz nie został dodany                 | `reference_name` musi być nazwą istniejącego leada, na przykład `CRM-LEAD-2026-00012`. Sprawdź, czy najpierw uruchomiono narzędzie wyszukiwania lub tworzenia.            |