> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Zendesk

## Omówienie

Połącz swoich agentów AI ElevenLabs z [Zendesk](https://www.zendesk.com/), aby zarządzać zgłoszeniami wsparcia, użytkownikami i organizacjami. Ta integracja pozwala agentom tworzyć i aktualizować zgłoszenia, wyszukiwać istniejące rekordy, zarządzać użytkownikami i odpowiadać na przychodzące komentarze do zgłoszeń.

## Możliwości

| Możliwość                   | Obsługa                                                                                                                                                                                                                    |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tryb zerowej retencji (ZRM) | Nieobsługiwany                                                                                                                                                                                                             |
| Załączniki w wyzwalaczach   | Obrazy (PNG, JPEG, GIF, WebP) i pliki PDF w przychodzących komentarzach do zgłoszeń, gdy w ustawieniach agenta włączono **Allow file attachments**, a LLM agenta obsługuje dane wejściowe w postaci obrazów lub dokumentów |
| Załączniki w narzędziach    | Nieobsługiwane — narzędzia takie jak `zendesk_show_ticket` i `zendesk_list_ticket_comments` zwracają pola tekstowe i nie pobierają załączników                                                                             |

## Konfiguracja

Ta integracja obsługuje trzy metody uwierzytelniania: aplikację OAuth ElevenLabs, własnego klienta OAuth oraz token API.

> **Note**
>
> Zendesk [wycofuje tokeny API](https://support.zendesk.com/hc/en-us/articles/10851263566234)
> jako metodę uwierzytelniania i przechodzi na dostęp wyłącznie przez OAuth. Istniejące integracje Zendesk
> oparte na tokenach API będą nadal działać do 30 kwietnia 2027 roku. ElevenLabs pracuje nad obsługą tej
> migracji i proaktywnie skontaktuje się z klientami, których ona dotyczy, aby pomóc im przejść na OAuth
> przed tym terminem. W każdej chwili możesz przełączyć się na poniższą metodę **Custom OAuth client**.

#### OAuth

#### Znajdź swoją subdomenę

Twoja subdomena Zendesk to pierwsza część adresu URL Zendesk (np. `mycompany` z `mycompany.zendesk.com`).

#### Połącz w ElevenLabs

W konfiguracji integracji ElevenLabs wybierz dane logowania **OAuth2**, wpisz swoją **subdomain** i kliknij **Connect**.

#### Autoryzuj połączenie

Zendesk wyświetli stronę autoryzacji z listą dostępów, o które prosi aplikacja ElevenLabs: dostęp do odczytu na całym koncie oraz dostęp do zapisu zgłoszeń, użytkowników, webhooków i wyzwalaczy. Zaloguj się jako użytkownik z uprawnieniami potrzebnymi agentowi i kliknij **Allow**. Zendesk przekieruje cię z powrotem do ElevenLabs, a połączenie zostanie utworzone.

Autoryzuj jako administrator, jeśli planujesz używać wyzwalaczy Zendesk — tworzenie webhooków i edycja wyzwalaczy są ograniczone do administratorów Zendesk.

#### Token API

#### Włącz dostęp przez token API

W [Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center) przejdź do **Apps and integrations > APIs > Zendesk API** i włącz **Token Access**.

#### Wygeneruj token API

Przejdź do **Apps and integrations > APIs > API tokens** i kliknij **Add API token**. Od razu skopiuj token — po zamknięciu okna nie będzie już wyświetlany.

#### Znajdź swoją subdomenę

Twoja subdomena Zendesk to pierwsza część adresu URL Zendesk (np. `mycompany` z `mycompany.zendesk.com`).

#### Połącz w ElevenLabs

W konfiguracji integracji ElevenLabs wpisz swój **email**, **API token** i **subdomain**.

#### Własny klient OAuth

#### Skopiuj adres URL przekierowania

W konfiguracji integracji Zendesk w ElevenLabs skopiuj **redirect URL**.

#### Utwórz klienta OAuth w Zendesk

W [Zendesk Admin Center](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Admin-Center) przejdź do **Apps and integrations > APIs > OAuth clients** i kliknij **Add Client**. Wpisz **name** oraz unikalny **identifier**.

#### Dodaj adres URL przekierowania

Wklej **redirect URL** skopiowany z ElevenLabs do konfiguracji klienta OAuth.

#### Zapisz sekret

Zapisz klienta OAuth. Zendesk wyświetli **secret** — skopiuj go i przechowuj bezpiecznie. Po zamknięciu okna nie będzie już wyświetlany.

#### Połącz w ElevenLabs

W konfiguracji integracji ElevenLabs wpisz **identifier** jako ID klienta i podaj **secret**. Zendesk przekieruje cię, aby autoryzować połączenie.

## Zakresy OAuth

Połączenie za pomocą danych logowania **OAuth2** przyznaje ElevenLabs następujące [zakresy Zendesk OAuth](https://developer.zendesk.com/api-reference/ticketing/oauth/grant_type_tokens/). Dostęp do odczytu jest przyznawany dla całego konta, a dostęp do zapisu jest wymagany osobno dla każdego zasobu, więc token nie może modyfikować zasobów, których integracja nie używa.

| Zakres           | Cel                                                                                                                                                                                                                                                                                                                                   |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `read`           | Dostęp do odczytu punktów końcowych GET. Służy do pobierania zgłoszeń, komentarzy do zgłoszeń i ich załączników, użytkowników, organizacji, zgłoszeń problemowych i wyników wyszukiwania, a także — gdy połączono wyzwalacz — do wyszukiwania wyzwalacza Zendesk i odczytu sekretu podpisywania webhooka tworzonego przez ElevenLabs. |
| `tickets:write`  | Tworzenie, aktualizowanie, usuwanie i scalanie zgłoszeń, publikowanie komentarzy publicznych i wewnętrznych oraz dodawanie lub usuwanie tagów. Używany przez narzędzia zgłoszeń i do publikowania odpowiedzi agenta po uruchomieniu wyzwalacza Zendesk.                                                                               |
| `users:write`    | Tworzenie, aktualizowanie i usuwanie użytkowników, w tym zbiorcze tworzenie lub aktualizowanie. Używany przez narzędzia zarządzania użytkownikami.                                                                                                                                                                                    |
| `webhooks:write` | Tworzenie webhooka, który dostarcza agentowi zdarzenia zgłoszeń po aktywacji wyzwalacza Zendesk, oraz usuwanie tego webhooka po dezaktywacji wyzwalacza.                                                                                                                                                                              |
| `triggers:write` | Dodawanie akcji webhooka ElevenLabs do wskazanego wyzwalacza Zendesk oraz usuwanie tej akcji po dezaktywacji wyzwalacza.                                                                                                                                                                                                              |

Token nigdy nie przekracza uprawnień użytkownika, który go autoryzował — faktyczny dostęp to część wspólna tych zakresów i roli tego użytkownika w Zendesk.

Te zakresy nie dotyczą dwóch pozostałych metod uwierzytelniania: własny klient OAuth żąda `read` i `write` (pełny dostęp do odczytu i zapisu), a token API ma wszystkie uprawnienia użytkownika Zendesk, do którego należy.

## Ujawnianie danych

Poniższa tabela zawiera wszystkie pola, do których integracja uzyskuje dostęp na twoim koncie Zendesk, informacje o tym, czy ElevenLabs je przechowuje, oraz kiedy i dlaczego są używane. **Odczyt** oznacza, że wartość jest używana podczas przetwarzania, ale nie jest zapisywana. **Odczyt i zapis** oznacza, że jest zapisywana w rekordzie rozmowy ElevenLabs. **Zapis** oznacza, że integracja wysyła ją do Zendesk.

| Dane                                                     | Dostęp         | Powód                                                                                                                                                                                                                                     |
| -------------------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Identyfikator zgłoszenia                                 | Odczyt i zapis | Przychodzi w danych webhooka wyzwalacza — to jedyne dane zgłoszenia, które Zendesk wysyła do ElevenLabs. Jest zapisywany jako zewnętrzny identyfikator rozmowy, dynamiczna zmienna `integration__zendesk_ticket_id` i link do zgłoszenia. |
| Temat zgłoszenia                                         | Odczyt i zapis | Odczytywany ze zgłoszenia po uruchomieniu wyzwalacza. Zapisywany jako dynamiczna zmienna `integration__zendesk_ticket_subject`, aby prompt systemowy i narzędzia mogły odwołać się do tematu zgłoszenia.                                  |
| Czas utworzenia zgłoszenia                               | Odczyt i zapis | Odczytywany wraz ze zgłoszeniem. Zapisywany jako dynamiczna zmienna `integration__zendesk_ticket_created_at` do użycia w prompcie, na przykład do określenia wieku zgłoszenia.                                                            |
| Identyfikator zgłaszającego                              | Odczyt i zapis | Odczytywany wraz ze zgłoszeniem. Zapisywany jako dynamiczna zmienna `integration__zendesk_ticket_requester_id` i używany do przypisywania komentarzy — zgłaszający, który jest też pracownikiem, nadal jest traktowany jako klient.       |
| Tagi zgłoszenia                                          | Odczyt         | Odczytywane przy każdym uruchomieniu wyzwalacza, aby wykryć tag `agent-rating-<score>` i tag `force-agent`. W rozmowie zapisywana jest tylko wynikowa ocena; sama lista tagów nie jest zapisywana.                                        |
| Treść komentarzy, publicznych i wewnętrznych             | Odczyt i zapis | Odczytywana z komentarzy zgłoszenia przy każdym uruchomieniu wyzwalacza. Zapisywana jako transkrypcja rozmowy i wysyłana do LLM agenta — to rozmowa, na którą odpowiada agent.                                                            |
| Identyfikatory komentarzy                                | Odczyt i zapis | Odczytywane wraz z komentarzami. Najnowszy identyfikator jest zapisywany jako znacznik ostatniego przetworzenia, aby kolejne uruchomienie wyzwalacza pomijało komentarze, na które agent już odpowiedział.                                |
| Identyfikator autora komentarza                          | Odczyt i zapis | Odczytywany wraz z komentarzami i używany do wyszukania autora. Zapisywany jako identyfikator użytkownika w wiadomości transkrypcji, gdy autor nie ma adresu e-mail.                                                                      |
| Rola autora komentarza                                   | Odczyt         | Odczytywana dla każdego autora komentarza, aby ustalić, czy komentarz stanie się w transkrypcji wiadomością klienta czy pracownika. Sama rola nie jest zapisywana, tylko wynikowe przypisanie każdej wiadomości.                          |
| Adres e-mail autora komentarza                           | Odczyt i zapis | Odczytywany dla każdego autora komentarza. Zapisywany jako identyfikator użytkownika w wiadomościach transkrypcji przypisanych klientowi, aby można było powiązać rozmowy z osobą między zgłoszeniami.                                    |
| Adres e-mail zgłaszającego                               | Odczyt i zapis | Odczytywany wraz z rekordem użytkownika zgłaszającego. Zapisywany jako dynamiczna zmienna `integration__zendesk_ticket_requester_email`, aby prompt i narzędzia mogły zwrócić się do klienta lub go wyszukać.                             |
| Metadane załącznika: nazwa pliku, typ MIME, rozmiar      | Odczyt i zapis | Odczytywane wraz z komentarzami, aby sprawdzić, czy załącznik ma obsługiwany typ i mieści się w limitach rozmiaru. Zapisywane w wiadomości transkrypcji, do której należy załącznik.                                                      |
| Zawartość pliku załącznika                               | Odczyt i zapis | Pobierana tylko wtedy, gdy dla agenta włączono **Zezwalaj na załączniki plików**, a jego LLM obsługuje ten typ pliku. Zapisywana jako pliki rozmowy, aby agent mógł odczytać, co wysłał klient.                                           |
| Subdomena Zendesk                                        | Odczyt i zapis | Podawana przez ciebie podczas łączenia. Zapisywana w ustawieniach połączenia integracji, ponieważ tworzy bazowy URL API.                                                                                                                  |
| E-mail konta Zendesk, tylko uwierzytelnianie tokenem API | Odczyt i zapis | Podawany przez ciebie podczas łączenia. Zapisywany w ustawieniach połączenia, ponieważ uwierzytelnianie tokenem API wysyła e-mail konta wraz z tokenem.                                                                                   |
| Token API, tokeny dostępu i odświeżania OAuth            | Odczyt i zapis | Przechowywane w formie zaszyfrowanej i używane tylko do uwierzytelniania wywołań API. Nigdy nie są udostępniane agentowi, promptowi ani API.                                                                                              |
| Sekret podpisywania webhooków                            | Odczyt i zapis | Odczytywany raz podczas aktywacji wyzwalacza. Przechowywany w formie zaszyfrowanej i używany do sprawdzania, czy przychodzące webhooki rzeczywiście pochodzą z twojego konta Zendesk.                                                     |
| Tytuł, warunki i działania wyzwalacza                    | Odczyt         | Odczytywane podczas aktywacji wyzwalacza, aby znaleźć go po nazwie i zachować jego obecne działania przy dodawaniu działania webhooka ElevenLabs. Nie są zapisywane.                                                                      |
| Odpowiedź agenta                                         | Zapis          | Publikowana jako publiczny komentarz do zgłoszenia lub jako komentarz wewnętrzny, gdy włączony jest tryb cienia. To cel tej integracji.                                                                                                   |
| Link do rozmowy                                          | Zapis          | Publikowany raz na zgłoszenie jako komentarz wewnętrzny, aby pracownicy mogli otworzyć rozmowę w ElevenLabs.                                                                                                                              |
| Komunikat o błędzie załącznika                           | Zapis          | Publikowany jako komentarz wewnętrzny, gdy załącznik został pominięty, bo ma nieobsługiwany typ, jest za duży lub nie udało się go pobrać, aby pracownicy wiedzieli, że agent go nie widział.                                             |
| Rejestracja webhooka ElevenLabs                          | Zapis          | Tworzona podczas aktywacji wyzwalacza Zendesk i usuwana podczas jego dezaktywacji. To punkt końcowy, który Zendesk wywołuje przy zdarzeniach dotyczących zgłoszeń.                                                                        |
| Działanie webhooka w twoim wyzwalaczu                    | Zapis          | Dodawane do wskazanego wyzwalacza podczas aktywacji i usuwane podczas dezaktywacji. Istniejące działania wyzwalacza są zachowywane.                                                                                                       |
| Zgłoszenia, komentarze, tagi, użytkownicy i organizacje  | Zapis          | Zapisywane tylko przez narzędzia Zendesk włączone dla agenta, z parametrami podanymi przez agenta podczas rozmowy. Żaden zapis nie następuje poza wywołaniem narzędzia lub odpowiedzią wyzwalacza.                                        |

Integracja wywołuje API Zendesk tylko wtedy, gdy uruchomi się połączony wyzwalacz lub agent użyje narzędzia Zendesk. Nie odpyta cyklicznie twojego konta Zendesk ani nie eksportuje danych zbiorczo.

Rekordy zwracane przez narzędzia Zendesk są zapisywane w transkrypcji rozmowy jako część wyniku wywołania narzędzia, więc narzędzie, które odczytuje rekord, również go zapisuje. Przechowywanie zapisanych danych podlega ustawieniom prywatności agenta, który obsłużył zgłoszenie, w tym usuwaniu transkrypcji i danych osobowych.

## Narzędzia Zendesk

Dodaj narzędzia Zendesk do swojego agenta, aby zarządzać zgłoszeniami, użytkownikami i organizacjami podczas rozmów. Po połączeniu integracji możesz włączyć wybrane narzędzia na stronie konfiguracji agenta.

### Dostępne narzędzia

Integracja oferuje ponad 30 narzędzi w następujących kategoriach:

* **Zgłoszenia** — twórz, aktualizuj, usuwaj, wyświetlaj i wyszukuj zgłoszenia. Dostępne są też operacje zbiorcze (tworzenie, aktualizowanie i usuwanie wielu zgłoszeń).
* **Komentarze i tagi** — dodawaj publiczne lub wewnętrzne komentarze do zgłoszeń oraz dodawaj lub usuwaj tagi.
* **Użytkownicy** — wyszukuj, twórz, aktualizuj i usuwaj użytkowników. Obsługiwane jest zbiorcze tworzenie lub aktualizowanie danych użytkowników.
* **Organizacje** — pobieraj dane organizacji i wyświetlaj jej zgłoszenia.
* **Wyszukiwanie** — uruchamiaj zapytania wyszukiwania Zendesk dla zgłoszeń, użytkowników i organizacji (np. `type:ticket status:open`).

### Przykładowe narzędzia

#### zendesk_create_ticket

Tworzy nowe zgłoszenie do pomocy technicznej. Agent zbiera dane od rozmówcy i otwiera zgłoszenie w jego imieniu.

| Parametr                 | Typ     | Opis                                                    |
| ------------------------ | ------- | ------------------------------------------------------- |
| `ticket.subject`         | string  | Krótki temat zgłoszenia                                 |
| `ticket.comment.body`    | string  | Szczegółowy opis problemu                               |
| `ticket.requester.email` | string  | Adres e-mail zgłaszającego                              |
| `ticket.requester.name`  | string  | Imię i nazwisko zgłaszającego                           |
| `ticket.priority`        | string  | `urgent`, `high`, `normal` lub `low`                    |
| `ticket.status`          | string  | `new`, `open`, `pending`, `hold`, `solved` lub `closed` |
| `ticket.assignee_id`     | integer | ID agenta, któremu przypiszesz zgłoszenie               |
| `ticket.group_id`        | integer | ID grupy, do której skierujesz zgłoszenie               |
| `ticket.custom_fields`   | array   | Tablica obiektów `{id, value}` dla pól niestandardowych |

#### zendesk_search

Wyszukuje w Zendesk zgłoszenia, użytkowników lub organizacje za pomocą składni zapytań Zendesk.

| Parametr | Typ    | Opis                                                                                          |
| -------- | ------ | --------------------------------------------------------------------------------------------- |
| `query`  | string | Zapytanie wyszukiwania (np. `type:ticket status:open` lub `type:user email:user@example.com`) |

#### zendesk_add_comment

Dodaje publiczny lub wewnętrzny komentarz do istniejącego zgłoszenia — przydatne do publikowania podsumowań rozmów lub notatek po rozmowie.

| Parametr                   | Typ     | Opis                                          |
| -------------------------- | ------- | --------------------------------------------- |
| `ticket_id`                | integer | Zgłoszenie, do którego dodasz komentarz       |
| `ticket.comment.body`      | string  | Treść komentarza w formacie zwykłego tekstu   |
| `ticket.comment.html_body` | string  | Wersja HTML komentarza (opcjonalnie)          |
| `ticket.comment.public`    | boolean | Czy komentarz jest widoczny dla zgłaszającego |

#### zendesk_get_user

Pobiera profil użytkownika, aby agent mógł zwracać się do rozmówców po imieniu lub potwierdzić ich tożsamość.

| Parametr  | Typ     | Opis                                 |
| --------- | ------- | ------------------------------------ |
| `user_id` | integer | ID użytkownika Zendesk do wyszukania |

### Konfiguracja narzędzi

#### Dodaj narzędzie integracji

Na stronie konfiguracji agenta kliknij **Dodaj narzędzie** i wybierz **Dodaj narzędzie integracji**.

![Dodaj narzędzie integracji](/docs/_fern-img/ef3a82e0747f1b1da18fb6b4755812abe161d436582312e47836e621a44d83c7.webp)

#### Wybierz narzędzia Zendesk

Wybierz połączenie Zendesk i włącz narzędzia, których ma używać agent. Możesz włączyć ich tyle, ile potrzebujesz — na przykład agent do selekcji zgłoszeń z dostępem tylko do odczytu może potrzebować jedynie narzędzi do wyszukiwania i wyświetlania list, a agent pełnej obsługi może też tworzyć i aktualizować zgłoszenia.

![Wybierz narzędzia Zendesk](/docs/_fern-img/9161ae75a4c514d477174622bd4857d6faf62a11825bc7d4d191176e52a72f91.webp)

#### (Opcjonalnie) Podaj parametry

Agent wypełnia parametry każdego narzędzia podczas rozmowy na podstawie tego, co mówi rozmówca. Nie musisz na stałe wpisywać wartości parametrów. Możesz jednak wstępnie wypełnić lub ograniczyć wybrane parametry — na przykład ustawić domyślne `priority` lub `group_id` — aby ukierunkować działanie agenta.

#### Starsza konfiguracja webhooka

> **Note**
>
> Jeśli używasz natywnej integracji Zendesk, narzędzia są konfigurowane automatycznie. Poniższe kroki
> dotyczą tylko ręcznej konfiguracji webhooka.

Starsza integracja używa trzech narzędzi webhook do utworzenia agenta wsparcia. Sprawdź konfigurację każdego narzędzia na kartach poniżej.

#### zendesk_get_ticket_comments

**Nazwa:** zendesk_get_ticket_comments
**Opis:** Pobiera komentarze zgłoszenia.
**Metoda:** GET
**URL:** `https://acmecorp.zendesk.com/api/v2/tickets/{ticket_id}/comments.json`

**Nagłówki:**

* **Content-Type:** `application/json`
* **Authorization:** *(Sekret: `zendesk_key`)*

**Parametry ścieżki:**

* **ticket_id:** Wyodrębnij wartość z pola `id` w wynikach get_resolved_tickets.

**JSON narzędzia:**

```json
{
  "type": "webhook",
  "name": "zendesk_get_ticket_comments",
  "description": "Retrieves the comments of a ticket.",
  "api_schema": {
    "url": "https://acmecorp.zendesk.com/api/v2/tickets/{ticket_id}/comments.json",
    "method": "GET",
    "path_params_schema": [
      {
        "id": "ticket_id",
        "type": "string",
        "description": "Extract the value from the id field in the get_resolved_tickets results.",
        "dynamic_variable": "",
        "constant_value": "",
        "required": false,
        "value_type": "llm_prompt"
      }
    ],
    "query_params_schema": [],
    "request_body_schema": null,
    "request_headers": [
      {
        "type": "secret",
        "name": "Authorization",
        "secret_id": "zendesk_api_token"
      },
      {
        "type": "value",
        "name": "Content-Type",
        "value": "application/json"
      }
    ]
  },
  "response_timeout_secs": 20,
  "dynamic_variables": {
    "dynamic_variable_placeholders": {}
  }
}
```

#### zendesk_get_resolved_tickets

**Nazwa:** zendesk_get_resolved_tickets
**Opis:** Pobiera wszystkie rozwiązane zgłoszenia do pomocy technicznej z Zendesk.
**Metoda:** GET
**URL:** `https://acmecorp.zendesk.com/api/v2/search.json?query=type:ticket+status:solved`

**Nagłówki:**

* **Content-Type:** `application/json`
* **Authorization:** *(Sekret: `zendesk_key`)*

**JSON narzędzia:**

```json
{
  "type": "webhook",
  "name": "zendesk_get_resolved_tickets",
  "description": "Retrieves all resolved support tickets from Zendesk.",
  "api_schema": {
    "url": "https://acmecorp.zendesk.com/api/v2/search.json?query=type:ticket+status:solved",
    "method": "GET",
    "path_params_schema": [],
    "query_params_schema": [],
    "request_body_schema": null,
    "request_headers": [
      {
        "type": "secret",
        "name": "Authorization",
        "secret_id": "zendesk_api_token"
      },
      {
        "type": "value",
        "name": "Content-Type",
        "value": "application/json"
      }
    ]
  },
  "response_timeout_secs": 20,
  "dynamic_variables": {
    "dynamic_variable_placeholders": {}
  }
}
```

#### zendesk_open_ticket

**Nazwa:** zendesk_open_ticket
**Opis:** Otwiera nowe zgłoszenie do pomocy technicznej.
**Metoda:** POST
**URL:** `https://acmecorp.zendesk.com/api/v2/tickets.json`

**Nagłówki:**

* **Content-Type:** `application/json`
* **Authorization:** *(Sekret: `zendesk_key`)*

**Parametry treści:**

* **ticket:** Obiekt zawierający:
  * **comment:**
    * **body:** Szczegółowy opis problemu wymagającego wsparcia.
  * **subject:** Krótki temat.
  * **requester:**
    * **name:** Imię i nazwisko zgłaszającego.
    * **email:** Prawidłowy adres e-mail.

**JSON narzędzia:**

```json
{
  "type": "webhook",
  "name": "zendesk_open_ticket",
  "description": "API endpoint to open a customer support ticket\nMake sure the authorization header is formated as \"Authorization: Basic <auth>\".",
  "api_schema": {
    "url": "https://acmecorp.zendesk.com/api/v2/tickets.json",
    "method": "POST",
    "path_params_schema": [],
    "query_params_schema": [],
    "request_body_schema": {
      "id": "body",
      "type": "object",
      "description": "Details for the support ticket",
      "required": false,
      "properties": [
        {
          "id": "ticket",
          "type": "object",
          "description": "This is the main ticket body which contains all of the information needed to open a ticket.",
          "required": true,
          "properties": [
            {
              "id": "comment",
              "type": "object",
              "description": "This is the comment with information about the issue.",
              "required": true,
              "properties": [
                {
                  "id": "body",
                  "type": "string",
                  "description": "Body of the issue. Include all relevant details for the issue. ",
                  "dynamic_variable": "",
                  "constant_value": "",
                  "required": true,
                  "value_type": "llm_prompt"
                }
              ]
            },
            {
              "id": "subject",
              "type": "string",
              "description": "Create a short subject line for the support issue. Add \"DEMO: \" before the subject.",
              "dynamic_variable": "",
              "constant_value": "",
              "required": true,
              "value_type": "llm_prompt"
            },
            {
              "id": "requester",
              "type": "object",
              "description": "The details of the support requester",
              "required": true,
              "properties": [
                {
                  "id": "email",
                  "type": "string",
                  "description": "The email address of the requester. This should look like \njohnsmith@hotmail.com\nYou MUST use the @ symbol and remove any spaces.",
                  "dynamic_variable": "",
                  "constant_value": "",
                  "required": true,
                  "value_type": "llm_prompt"
                },
                {
                  "id": "name",
                  "type": "string",
                  "description": "The full name of the requester. ",
                  "dynamic_variable": "",
                  "constant_value": "",
                  "required": true,
                  "value_type": "llm_prompt"
                }
              ]
            }
          ]
        }
      ]
    },
    "request_headers": [
      {
        "type": "secret",
        "name": "Authorization",
        "secret_id": "zendesk_api_token"
      },
      {
        "type": "value",
        "name": "Content-Type",
        "value": "application/json"
      }
    ]
  },
  "response_timeout_secs": 20,
  "dynamic_variables": {
    "dynamic_variable_placeholders": {}
  }
}
```

> **Warning**
>
> Dodaj sekret Zendesk swojego obszaru roboczego do sekretów agenta.

## Wyzwalacze Zendesk

Skonfiguruj wyzwalacze Zendesk, aby agent monitorował przychodzące komentarze do zgłoszeń i reagował na nie, zapewniając wsparcie pierwszej linii.

### Konfiguracja

#### Utwórz wyzwalacz w Zendesk

W centrum administracyjnym Zendesk przejdź do **Objects and rules > Business rules > Triggers** i kliknij **Add trigger**. Skonfiguruj warunki określające, na które zdarzenia związane ze zgłoszeniami ma reagować agent (np. nowe zgłoszenia w konkretnej grupie lub komentarze do zgłoszeń z określonym tagiem). Zanotuj nazwę wyzwalacza — będzie potrzebna w kolejnym kroku.

Jeśli nie możesz zapisać wyzwalacza, ponieważ brakuje działania, dodaj proste działanie, takie jak dodanie do zgłoszenia tagu „agent przetwarza”.

#### Połącz wyzwalacz w ElevenLabs

Na stronie konfiguracji agenta dodaj nowy wyzwalacz i wybierz **Zendesk Trigger**. Skonfiguruj pola:

* **Agent**: agent obsługujący przychodzące rozmowy.
* **Trigger Rule Name**: nazwa wyzwalacza Zendesk utworzonego w poprzednim kroku.
* **Daily Ticket Limit** (opcjonalnie): maksymalna liczba zgłoszeń obsługiwanych przez agenta dziennie. Pozostaw puste, aby nie ustawiać limitu.

Po aktywowaniu wyzwalacza ElevenLabs tworzy webhook na twoim koncie Zendesk i dodaje go jako działanie do wskazanego wyzwalacza. Dezaktywacja wyzwalacza usuwa webhook i działanie.

#### (Opcjonalnie) Sprawdź wyzwalacz w Zendesk

W centrum administracyjnym Zendesk przejdź do **Objects and rules > Business rules > Triggers** i otwórz wcześniej utworzony wyzwalacz. Powinno być w nim widoczne nowe działanie.

Jeśli wcześniej utworzyłeś inne działanie, możesz je teraz usunąć.

### Tryb cienia

Włącz tryb cienia w wyzwalaczu Zendesk, aby agent mógł obserwować i tworzyć szkice odpowiedzi bez bezpośredniego odpowiadania klientom. Gdy tryb cienia jest aktywny, agent zapisuje odpowiedzi jako **komentarze wewnętrzne** w zgłoszeniu zamiast jako odpowiedzi publiczne. Komentarze wewnętrzne widzą tylko agenci i administratorzy Zendesk — użytkownik końcowy nie otrzymuje powiadomienia.

> **Warning**
>
> Tryb cienia wpływa tylko na sposób publikowania odpowiedzi przez agenta. Jeśli agent używa narzędzi, które modyfikują
> zgłoszenie (np. zmieniają status, dodają tagi lub przypisują zgłoszenie), te zmiany nadal
> zostaną wprowadzone. Aby zapobiec niezamierzonym modyfikacjom, użyj osobnej wersji agenta bez wywołań
> narzędzi modyfikujących.

Tryb cienia przydaje się do oceny jakości agenta przed uruchomieniem. Porównaj wewnętrzne komentarze z rzeczywistymi odpowiedziami wsparcia, aby ocenić trafność i ton, a następnie przełącz agenta w tryb aktywny, gdy będziesz mieć pewność co do jego odpowiedzi.

### Unikanie pętli

Gdy agent odpowiada na komentarz do zgłoszenia przez API Zendesk, ta odpowiedź sama jest nowym komentarzem — co może ponownie uruchomić agenta i utworzyć nieskończoną pętlę. Aby temu zapobiec, dodaj do wyzwalacza Zendesk jeden z poniższych warunków.

**Wyklucz konto usługi z wyzwalacza.** Utwórz osobnego użytkownika Zendesk dla integracji (np. `ai-agent@yourcompany.com`) i użyj danych logowania tego konta podczas łączenia z ElevenLabs. Następnie dodaj do wyzwalacza Zendesk ten warunek:

* **Current User**, **Is Not**, **\<twoje konto usługi>**

**Wyklucz aktualizacje API z wyzwalacza.** Filtruje to wszystkie aktualizacje wprowadzone przez API Zendesk, niezależnie od użytkownika, który je wykonał:

* **Ticket > Update Via**, **Is Not**, **Web Service (API)**

## Przydatne linki

* [Dokumentacja API Zendesk](https://developer.zendesk.com/api-reference/)
* [Zarządzanie tokenami API](https://support.zendesk.com/hc/en-us/articles/4408889192858-Managing-API-token-access-to-the-Zendesk-API)
* [Przewodnik po wyzwalaczach Zendesk](https://support.zendesk.com/hc/en-us/articles/203662246-About-triggers-and-how-they-work)