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

# Personalização do Twilio

## Visão geral

Ao receber chamadas de entrada do Twilio, você pode buscar dinamicamente dados de início da conversa por meio de um webhook. Isso permite personalizar o comportamento do seu agente com base nas informações de quem liga e em outros dados contextuais.

Para saber quando o webhook é acionado e o formato da solicitação, consulte [webhooks de início da conversa](/docs/pt/eleven-agents/customization/personalization#conversation-initiation-webhooks).

## Como funciona

1. Quando uma chamada do Twilio é recebida, o ElevenAgents faz uma chamada de webhook para o endpoint especificado, passando informações da chamada (`caller_id`, `agent_id`, `called_number`, `call_sid`, `conversation_id`) como argumentos
2. Seu webhook retorna os dados de cliente para início da conversa, incluindo variáveis dinâmicas e substituições (um exemplo é mostrado abaixo)
3. Esses dados são usados para iniciar a conversa

> **Tip**
>
> O sistema usa o período de conexão/discagem do Twilio para buscar dados do webhook em paralelo, criando uma
> experiência fluida em que:
>
> * Os usuários ouvem o som esperado de conexão telefônica
> * Em paralelo, o ElevenAgents busca os dados necessários do webhook
> * A conversa é iniciada com os dados obtidos quando a conexão de áudio é estabelecida

## Configuração

#### Configure os detalhes do webhook

Na [página de configurações](https://elevenlabs.io/app/agents/settings) do ElevenAgents, configure a URL do webhook e adicione os
secrets necessários para autenticação.

![Ativar webhook](/docs/_fern-img/53e98b709e5751bfb6cf6758372a8105c5408b20191523c7e91c2a7625d8b603.webp)

Clique no webhook para modificar quais secrets são enviados nos cabeçalhos.

![Adicionar secrets aos cabeçalhos](/docs/_fern-img/416d30e6906cd209de92820bfc146ac9478fbb6ce61c8fbbc24d62cad54d9f05.webp)

#### Ative a busca de dados de início da conversa

Na aba "Segurança" da [página do agente](https://elevenlabs.io/app/agents/agents/), ative a busca de dados de início da conversa para chamadas de entrada do Twilio e defina os campos que podem ser substituídos.

![Ativar webhook](/docs/_fern-img/6024b7f7541b8f856514b56ebf391cd6ee24206fd89c07327de1b01d81795c20.webp)

#### Implemente o endpoint de webhook para receber dados do Twilio

O webhook receberá uma solicitação POST com os seguintes parâmetros:

| Parâmetro         | Tipo   | Descrição                                 |
| ----------------- | ------ | ----------------------------------------- |
| `caller_id`       | string | O número de telefone de quem está ligando |
| `agent_id`        | string | O ID do agente que recebe a chamada       |
| `called_number`   | string | O número do Twilio que foi chamado        |
| `call_sid`        | string | Identificador único da chamada do Twilio  |
| `conversation_id` | string | Identificador da conversa do ElevenLabs   |

#### Retorne os dados de cliente para início da conversa

Seu webhook deve retornar uma resposta JSON contendo os dados de início para o agente.

> **Info**
>
> O campo `dynamic_variables` deve conter todas as variáveis dinâmicas definidas para o agente. As substituições,
> por outro lado, são totalmente opcionais. Para mais informações sobre variáveis dinâmicas e
> substituições, consulte a documentação sobre [variáveis dinâmicas](/docs/pt/eleven-agents/customization/personalization/dynamic-variables) e
> [substituições](/docs/pt/eleven-agents/customization/personalization/overrides).

Um exemplo de resposta poderia ser:

```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"
}
```

O ElevenAgents usará as variáveis dinâmicas para preencher os dados de início da conversa, e ela começará sem problemas.

> **Warning**
>
> Garanta que seu webhook responda dentro de um período de tempo razoável para evitar atrasos no
> atendimento da chamada.

## Segurança

* Use apenas endpoints HTTPS
* Implemente a autenticação usando cabeçalhos de solicitação
* Armazene valores sensíveis como secrets usando o [gerenciador de secrets do ElevenLabs](https://elevenlabs.io/app/agents/settings)
* Valide os parâmetros da solicitação recebida