Skip to main content
Cada cuerpo de webhook tiene un campo type cuyo valor es uno de los tipos de evento de esta página. Cuando te suscribes a un endpoint, el arreglo events debe contener los tipos de evento que quieres (o estar vacío para suscribirte a todo). Estos eventos se entregan en dos modalidades: Las cargas útiles de ejemplo a continuación muestran el sobre del endpoint en su orden de transmisión (claves ordenadas alfabéticamente: data, event_id, type); las entregas heredadas incluyen los mismos data sin event_id.

Eventos de llamadas

telephony.incoming

Se envía cuando una llamada entrante llega a uno de tus números de teléfono. Las entregas al endpoint son notificaciones de envío sin espera para cada llamada entrante, sin importar si el número está configurado con un agente o con un webhook. Los números sin un agente asignado también reciben la solicitud de configuración bloqueante en el webhook heredado; consulta telephony.incoming / web.incoming para ver el esquema completo de solicitud/respuesta.

telephony.complete

Se envía cuando finaliza una llamada de telefonía entrante o saliente. No bloqueante. Incluye la transcripción, la URL de la grabación cuando está disponible y el resumen de facturación. Consulta telephony.complete / web.complete para ver el esquema de la carga útil.

telephony.tool

Se envía después de que una llamada de telefonía invoca una herramienta de función. Notificación de auditoría no bloqueante: la herramienta ya se ejecutó cuando se entrega este evento; cubre tus propias herramientas de función (no las herramientas integradas, de base de conocimiento, conexión de aplicaciones o MCP).
response es el resultado ejecutado: {"status": <http status>, "response": <your endpoint's JSON>} si tiene éxito, o {"status": <status>, "error": "<message>"} si falla.

web.incoming

El equivalente de telephony.incoming para el canal web, enviado cuando se inicia una sesión de widget web o una llamada de prueba de micrófono del builder. Las entregas al endpoint son de envío sin espera para cada sesión web. Las claves publicables en mode="webhook" también reciben la solicitud de configuración bloqueante en el webhook heredado; esa solicitud bloqueante tiene una estructura diferente (origin_domain, publishable_key_prefix; sin números de teléfono). Consulta telephony.incoming / web.incoming.
from_number siempre es el literal "web". Para sesiones del widget en modo webhook, to_number está vacío (el número de agente de la sesión se asigna después de la configuración); para llamadas de prueba de micrófono del builder, origin_domain y publishable_key_prefix están vacíos.

web.complete

El equivalente de telephony.complete para el canal web, que cubre llamadas del widget web (direction: "web") y llamadas de prueba de micrófono del builder (direction: "test"). No bloqueante. Tiene la misma estructura de carga útil que telephony.complete, además de origin_domain, con from_number establecido como "web".
En el webhook heredado de una sola URL, las llamadas de prueba de micrófono del builder históricamente se reportan como telephony.complete; solo las llamadas con direction: "web" usan allí el tipo web.complete. El sistema de endpoints asigna tanto las llamadas web como las de prueba a web.*. Las cargas útiles históricas pueden contener los valores heredados de direction widget o mic.

web.tool

El equivalente de telephony.tool para el canal web. data contiene origin_domain en lugar de from_number / to_number.

Eventos de voz

La creación de voces personalizadas es asincrónica. Estos eventos no bloqueantes te permiten reaccionar a un resultado final en lugar de consultar repetidamente el endpoint de detalles del clon.

voice.ready

Se envía cuando una voz personalizada termina de procesarse y puede asignarse a un agente.

voice.failed

Se envía cuando el procesamiento de una voz personalizada alcanza un fallo permanente.

Eventos de calidad

call.graded

Se envía cada vez que se completa una ejecución de calificación con IA para una llamada. No bloqueante.
Una llamada puede calificarse más de una vez — una calificación heurística rápida suele ir seguida de una calificación completa con modelo una vez que la grabación está disponible, y es posible recalificar manualmente. Cada ejecución completada emite su propio evento call.graded; considera el valor más reciente de graded_at como autoritativo.

issue.reported

Se envía cuando se crea un reporte de problema — ya sea enviado por una persona usuaria desde el panel (source: "user") o automáticamente mediante la calificación de llamadas (source: "system"). No bloqueante.
Recalificar una llamada vuelve a generar sus reportes de problemas creados por el sistema, lo que vuelve a emitir issue.reported para los reportes recreados. Elimina duplicados por call_id + title si solo quieres una notificación por cada problema subyacente.

Eventos de llamadas de prueba

test-call.completed

Se envía cuando una ejecución de llamada de prueba alcanza un estado terminal — completed o failed, incluidas las ejecuciones que fallaron al iniciarse y nunca produjeron una llamada. No bloqueante. Útil para integrar ejecuciones de CI por lotes con tus sistemas de chat/notificaciones.

Eventos de alertas

alert.triggered

Se envía cuando una regla de alerta con el canal Entregar a webhooks de desarrolladores habilitado supera su umbral. No bloqueante. Una regla se activa una vez y luego respeta su período de espera, por lo que una infracción sostenida genera un evento por cada ventana de período de espera.
Consulta la guía de alertas para crear reglas, métricas, períodos de espera y los canales de correo electrónico / Slack.

Relacionado

telephony.incoming / web.incoming

La carga útil bloqueante de llamadas entrantes a la que debes responder.

telephony.complete / web.complete

Transcripción y métricas posteriores a la llamada.

Endpoints de webhook

Suscribe una URL a un subconjunto de estos eventos.

Herramientas de funciones

Cómo se generan los eventos telephony.tool / web.tool.