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

## Omówienie

Gdy odbierasz połączenia przychodzące Twilio, możesz dynamicznie pobierać dane inicjujące rozmowę przez webhook. Pozwala to dostosować działanie agenta na podstawie informacji o rozmówcy i innych danych kontekstowych.

Informacje o tym, kiedy webhook jest wywoływany i jak wygląda żądanie, znajdziesz w sekcji [Webhooki inicjujące rozmowę](/docs/pl/eleven-agents/customization/personalization#conversation-initiation-webhooks).

## Jak to działa

1. Gdy nadejdzie połączenie Twilio, ElevenAgents wywoła webhook pod wskazanym adresem endpointu, przekazując jako argumenty informacje o połączeniu (`caller_id`, `agent_id`, `called_number`, `call_sid`, `conversation_id`)
2. Twój webhook zwraca dane klienta inicjujące rozmowę, w tym zmienne dynamiczne i nadpisania (przykład poniżej)
3. Dane są używane do rozpoczęcia rozmowy

> **Tip**
>
> System wykorzystuje czas łączenia/wydzwaniania Twilio do równoległego pobrania danych webhooka, zapewniając
> płynne działanie, w którym:
>
> * Użytkownicy słyszą oczekiwany dźwięk łączenia telefonicznego
> * Równolegle ElevenAgents pobiera potrzebne dane webhooka
> * Rozmowa rozpoczyna się z pobranymi danymi, gdy połączenie audio zostanie nawiązane

## Konfiguracja

#### Skonfiguruj szczegóły webhooka

Na [stronie ustawień](https://elevenlabs.io/app/agents/settings) ElevenAgents skonfiguruj adres URL webhooka i dodaj
sekrety potrzebne do uwierzytelniania.

![Włącz webhook](/docs/_fern-img/53e98b709e5751bfb6cf6758372a8105c5408b20191523c7e91c2a7625d8b603.webp)

Kliknij webhook, aby zmienić, które sekrety są wysyłane w nagłówkach.

![Dodaj sekrety do nagłówków](/docs/_fern-img/416d30e6906cd209de92820bfc146ac9478fbb6ce61c8fbbc24d62cad54d9f05.webp)

#### Włącz pobieranie danych inicjujących rozmowę

Na karcie „Security” na [stronie agenta](https://elevenlabs.io/app/agents/agents/) włącz pobieranie danych inicjujących rozmowę dla przychodzących połączeń Twilio i zdefiniuj pola, które można nadpisywać.

![Włącz webhook](/docs/_fern-img/6024b7f7541b8f856514b56ebf391cd6ee24206fd89c07327de1b01d81795c20.webp)

#### Zaimplementuj endpoint webhooka do odbierania danych Twilio

Webhook otrzyma żądanie POST z następującymi parametrami:

| Parametr          | Typ    | Opis                                     |
| ----------------- | ------ | ---------------------------------------- |
| `caller_id`       | string | Numer telefonu rozmówcy                  |
| `agent_id`        | string | ID agenta odbierającego połączenie       |
| `called_number`   | string | Numer Twilio, na który zadzwoniono       |
| `call_sid`        | string | Unikalny identyfikator połączenia Twilio |
| `conversation_id` | string | Identyfikator rozmowy ElevenLabs         |

#### Zwróć dane klienta inicjujące rozmowę

Twój webhook musi zwrócić odpowiedź JSON zawierającą dane inicjujące dla agenta.

> **Info**
>
> Pole `dynamic_variables` musi zawierać wszystkie zmienne dynamiczne zdefiniowane dla agenta. Nadpisania
> są natomiast całkowicie opcjonalne. Więcej informacji o zmiennych dynamicznych i
> nadpisaniach znajdziesz w dokumentacji [zmiennych dynamicznych](/docs/pl/eleven-agents/customization/personalization/dynamic-variables) i
> [nadpisań](/docs/pl/eleven-agents/customization/personalization/overrides).

Przykładowa odpowiedź może wyglądać tak:

```json
{
  "type": "conversation_initiation_client_data",
  "conversation_config_override": {
    "agent": {
      "prompt": {
        "prompt": "The customer's bank account balance is $100. They are based in San Francisco.",
        "llm": "gpt-5.6-luna"
      },
      "first_message": "Hi, how can I help you today?",
      "language": "en"
    },
    "tts": {
      "voice_id": "new-voice-id"
    },
    "conversation": {
      "text_only": false
    }
  },
  "dynamic_variables": {
    "customer_name": "John Doe",
    "account_status": "premium",
    "last_interaction": "2026-01-15"
  },
  "branch_id": "agtbrch_xxxx",
  "environment": "production"
}
```

ElevenAgents użyje zmiennych dynamicznych do uzupełnienia danych inicjujących rozmowę, a rozmowa rozpocznie się płynnie.

> **Warning**
>
> Upewnij się, że webhook odpowiada w rozsądnym czasie, aby uniknąć opóźnień w obsłudze
> połączenia.

## Zabezpieczenia

* Używaj tylko endpointów HTTPS
* Zaimplementuj uwierzytelnianie za pomocą nagłówków żądań
* Przechowuj poufne wartości jako sekrety przez [menedżer sekretów ElevenLabs](https://elevenlabs.io/app/agents/settings)
* Sprawdzaj parametry przychodzących żądań