Webhooks
Habilite integrações externas recebendo eventos de webhook.
Visão geral
Determinados eventos no ElevenLabs podem ser configurados para acionar webhooks, permitindo que aplicações e sistemas externos recebam e processem esses eventos conforme ocorrem. Os tipos de evento compatíveis atualmente incluem:
Configuração
Os webhooks podem ser criados, desativados e excluídos na página de configurações gerais. Para usuários em Workspaces, apenas os administradores do workspace podem configurar os webhooks do workspace.

Após a criação, o webhook pode ser selecionado para monitorar eventos nas configurações de produtos, como a Agents Platform.
Os webhooks podem ser desativados na página de configurações gerais a qualquer momento. Webhooks que falham repetidamente são desativados automaticamente se houver 10 ou mais falhas consecutivas e a última entrega bem-sucedida tiver ocorrido há mais de 7 dias, ou se nunca tiverem sido entregues com sucesso. Webhooks desativados automaticamente precisam ser reativados na página de configurações. Os webhooks podem ser excluídos se não estiverem em uso por nenhum produto.
Tentativas
As novas tentativas de webhook podem ser ativadas para cada webhook, para tentar novamente a entrega automaticamente quando uma solicitação falhar. As novas tentativas vêm desativadas por padrão. Ative-as ao criar ou atualizar um webhook pela API ou nas configurações do webhook.
post_call_transcription.Cronograma de novas tentativas
Quando uma tentativa de entrega falha com um erro que permite nova tentativa, o sistema tenta novamente até 5 vezes, com intervalos crescentes entre as tentativas:
Uma pequena variação aleatória (de até 10% do intervalo) é adicionada a cada nova tentativa para distribuir a carga e evitar problemas de sobrecarga simultânea.
Erros que permitem nova tentativa
Nem todas as falhas acionam uma nova tentativa. Apenas os seguintes códigos de status HTTP são considerados elegíveis:
- Códigos de status
5xx(erros de servidor, como 500, 502, 503, 504). 429(Muitas solicitações).408(Tempo limite da solicitação).
Erros de solicitação na faixa 4xx (como 400, 401, 403, 404) não são tentados novamente, pois geralmente indicam um problema de configuração que exige correção manual.
Limites de fila por webhook
Cada webhook é limitado a 100 tarefas de nova tentativa pendentes. Se um webhook acumular mais de 100 novas tentativas na fila, tarefas adicionais serão descartadas até que as tentativas existentes sejam processadas. Isso evita que um único webhook configurado incorretamente consuma recursos excessivos.
Comportamento de desativação automática
O sistema acompanha falhas consecutivas de entrega para cada webhook. Um webhook é desativado automaticamente quando ambas as condições a seguir são atendidas:
- Ocorreram 10 ou mais falhas consecutivas de entrega.
- O webhook nunca foi entregue com sucesso ou a última entrega bem-sucedida ocorreu há mais de 7 dias.
Quando um webhook é desativado automaticamente, os administradores do workspace recebem uma notificação por e-mail. O webhook deve ser reativado manualmente na página de configurações antes de retomar as entregas.
Integração
Para integrar com webhooks, crie um manipulador de endpoint para receber dados de eventos de webhook como solicitações POST. Após validar a assinatura, o manipulador deve retornar HTTP 200 imediatamente para indicar o recebimento bem-sucedido. A falha recorrente em retornar uma resposta de sucesso pode fazer com que o webhook seja desativado automaticamente.
A carga útil da nova tentativa é idêntica à da tentativa de entrega original. Os consumidores de webhook não conseguem distinguir uma entrega inicial de uma nova tentativa apenas pela carga útil, portanto, projete seu manipulador para ser idempotente — processar o mesmo evento várias vezes deve produzir o mesmo resultado. Use event_timestamp e identificadores específicos do evento (como conversation_id) para eliminar eventos duplicados, se necessário.
Campos de nível superior
Exemplo de carga útil de webhook
Autenticação
É importante que o listener valide todos os webhooks recebidos. Atualmente, os webhooks oferecem suporte à autenticação por assinaturas HMAC. Configure a autenticação HMAC:
- Armazenando com segurança o segredo compartilhado gerado na criação do webhook
- Verificando o cabeçalho ElevenLabs-Signature no seu endpoint usando o SDK
O SDK JavaScript disponibiliza constructEvent; o SDK Python disponibiliza construct_event com rawBody, sig_header e secret (em Python, eles não se chamam payload / signature). Ambos verificam a assinatura, validam o carimbo de data e hora e analisam o payload JSON.
Python
JavaScript
Exemplo de manipulador de webhook usando FastAPI: