> 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.

# Personalizacja

## Omówienie

Personalizacja pozwala dostosować zachowanie agenta do każdego użytkownika, dzięki czemu rozmowy są bardziej naturalne i lepiej dopasowane do kontekstu. ElevenLabs oferuje kilka metod personalizacji:

1. **Zmienne dynamiczne** — wstawiaj wartości w czasie działania do promptów i wiadomości
2. **Nadpisania** — całkowicie zastępuj prompty systemowe lub wiadomości
3. **Webhooki rozpoczęcia rozmowy** — pobieraj dane z serwera przy rozpoczęciu rozmowy

## Metody personalizacji

#### [Zmienne dynamiczne](/docs/pl/eleven-agents/customization/personalization/dynamic-variables)

Zdefiniuj wartości w czasie działania za pomocą składni `{{ var_name }}`, aby personalizować wiadomości,
prompty systemowe i narzędzia agenta.

#### [Nadpisania](/docs/pl/eleven-agents/customization/personalization/overrides)

Całkowicie zastępuj prompty systemowe, pierwsze wiadomości, ustawienia języka lub głosu dla każdej
rozmowy.

#### [Webhooki rozpoczęcia rozmowy](/docs/pl/eleven-agents/customization/personalization#conversation-initiation-webhooks)

Pobieraj zmienne dynamiczne i nadpisania z serwera dla rozmów przychodzących.

## Struktura danych klienta inicjującego rozmowę

Obiekt `conversation_initiation_client_data` określa, co można dostosować przy rozpoczynaniu rozmowy. Klienci mogą wysyłać go bezpośrednio. Webhook rozpoczęcia rozmowy zwraca ten sam obiekt.

```json
{
  "type": "conversation_initiation_client_data",
  "conversation_config_override": {
    "agent": {
      "prompt": {
        "prompt": "overriding system prompt",
        "llm": "gpt-5.6-luna"
      },
      "first_message": "overriding first message",
      "language": "en"
    },
    "tts": {
      "voice_id": "voice-id-here"
    },
    "conversation": {
      "text_only": false
    },
    "asr": {
      "keywords": ["Acme Corp", "Contoso"]
    }
  },
  "custom_llm_extra_body": {
    "temperature": 0.7,
    "max_tokens": 100
  },
  "dynamic_variables": {
    "string_var": "text value",
    "number_var": 1.2,
    "integer_var": 123,
    "boolean_var": true
  },
  "user_id": "your_custom_user_id",
  "branch_id": "agtbrch_xxxx",
  "environment": "production"
}
```

> **Warning**
>
> Systemowych zmiennych dynamicznych (z prefiksem `system__`) nie można wysyłać ani nadpisywać w
> danych inicjujących klienta. Przez pole `dynamic_variables` można ustawiać tylko niestandardowe zmienne dynamiczne.

## Webhooki rozpoczęcia rozmowy

W przypadku telefonii i wiadomości przychodzących ElevenAgents może pobierać te dane inicjujące z twojego serwera zamiast od klienta. Gdy webhook jest włączony, ElevenAgents wysyła żądanie `POST` i stosuje zwrócony JSON.

Skonfiguruj adres URL webhooka i sekrety nagłówków w [ustawieniach Agents](https://elevenlabs.io/app/agents/settings). Na karcie **Security** agenta włącz **Fetch initiation client data from a webhook** oraz wszystkie pola nadpisań, które może zawierać odpowiedź.

Webhook działa dla nowej rozmowy przychodzącej przez Twilio voice, Exotel, SIP trunk, WhatsApp lub Twilio SMS, gdy dane inicjujące klienta nie są jeszcze dostępne. Działa też dla sesji [Amazon Connect](/docs/pl/eleven-agents/phone-numbers/c-caa-s-integrations/amazon-connect#dynamic-variables), gdzie odpowiedź jest łączona z kontekstem kontaktu dostarczanym przez Amazon Connect.

Połączenia wychodzące Twilio voice, Exotel, SIP i WhatsApp uruchamiają go tylko wtedy, gdy żądanie wychodzące nie zawierało `conversation_initiation_client_data`. Wychodzące wiadomości WhatsApp nigdy go nie uruchamiają — przekaż zamiast tego zmienne dynamiczne w żądaniu wychodzącym.

Nie działa on w rozmowach przez widget lub SDK, innych integracjach wiadomości ani we wznowionych wątkach WhatsApp i SMS.

> **Warning**
>
> Rozmowy podglądowe uruchamiane na stronie ustawień agenta nie wywołują webhooków rozpoczęcia rozmowy.
> Podczas testów w podglądzie używaj placeholderów **Dynamic Variables** w edytorze agenta.
> Te placeholdery nie są używane w produkcyjnych rozmowach przychodzących.

ElevenAgents wysyła kontekst dzwoniącego w treści żądania:

```json
{
  "caller_id": "+15551234567",
  "called_number": "+15557654321",
  "agent_id": "agent_7101k5zvyjhmfg983brhmhkd98n6",
  "call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "conversation_id": "conv_8901k5zvyjhmfg983brhmhkd98n6"
}
```

`caller_id` i `called_number` to numery telefonów w Twilio, Exotel, SIP i SMS. W przychodzącym WhatsApp są to identyfikator użytkownika WhatsApp i identyfikator numeru telefonu WhatsApp. W połączeniach wychodzących `caller_id` to twój numer, a `called_number` to numer osoby, do której dzwonisz. `call_sid` to SID połączenia dostawcy w telefonii oraz pusty ciąg w WhatsApp, SMS i Amazon Connect. Połączenia SIP mogą także zawierać `call_id` i `sip_headers`. Sesje Amazon Connect zawierają `call_id` ustawione na identyfikator kontaktu.

Twoja odpowiedź musi mieć powyższą strukturę `conversation_initiation_client_data`. Uwzględnij każdą niestandardową zmienną dynamiczną zdefiniowaną przez agenta. Nadpisania są opcjonalne i muszą być włączone w **Security**. Treść odpowiedzi HTTP musi mieć maksymalnie 256 KB (262 144 bajty).

Nieudany webhook lub przekroczenie limitu czasu może uniemożliwić rozpoczęcie rozmowy. Konfigurację Twilio opisuje [Personalizacja Twilio](/docs/pl/eleven-agents/customization/personalization/twilio-personalization). Ten webhook jest oddzielny od [webhooków po rozmowie](/docs/pl/eleven-agents/workflows/post-call-webhooks).

## Wybór właściwego podejścia

<thead>
  <tr>
    <th>
      Metoda
    </th>

    <th>
      Najlepsze zastosowanie
    </th>

    <th>
      Wdrożenie
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      **Zmienne dynamiczne**
    </td>

    <td>
      * Wstawianie danych konkretnego użytkownika do szablonów treści - Utrzymywanie spójnego zachowania
        agenta z osobistymi szczegółami - Personalizowanie parametrów narzędzi
    </td>

    <td>
      Zdefiniuj zmienne za pomocą 

      `{{ variable_name }}`

       i przekaż wartości w czasie działania
    </td>
  </tr>

  <tr>
    <td>
      **Nadpisania**
    </td>

    <td>
      * Całkowita zmiana zachowania agenta dla każdego użytkownika - Zmiana języków lub głosów - Starsze
        aplikacje (rozważ migrację do zmiennych dynamicznych)
    </td>

    <td>
      Włącz konkretne uprawnienia do nadpisywania w ustawieniach bezpieczeństwa i przekaż pełną treść
      zastępującą
    </td>
  </tr>

  <tr>
    <td>
      **Webhooki rozpoczęcia rozmowy**
    </td>

    <td>
      * Personalizowanie przychodzących rozmów Twilio, SIP, WhatsApp lub SMS z serwera -
        Wyszukiwanie kontekstu dzwoniącego przed rozpoczęciem rozmowy
    </td>

    <td>
      Włącz webhook w ustawieniach Security i zwróć `conversation_initiation_client_data`
    </td>
  </tr>
</tbody>

## Dowiedz się więcej

* [Dokumentacja zmiennych dynamicznych](/docs/pl/eleven-agents/customization/personalization/dynamic-variables)
* [Dokumentacja nadpisań](/docs/pl/eleven-agents/customization/personalization/overrides)
* [Personalizacja Twilio](/docs/pl/eleven-agents/customization/personalization/twilio-personalization)