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 recibir (o estar vacío para suscribirte a todos).
Estos eventos se entregan en dos estilos:
- Las entregas a endpoints son siempre notificaciones no bloqueantes con reintentos: responde con cualquier 2xx; el sobre incluye un
event_idpara deduplicar. - Los intercambios bloqueantes se ejecutan solo en el webhook heredado de URL única: la solicitud de configuración
telephony.incoming/web.incoming(números en modo webhook y claves de widget, tiempo de espera de 10 s) y el despacho de herramientas en modo webhook. Tu respuesta da forma a la llamada en vivo.
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 a endpoints son
notificaciones de envío y olvido enviadas 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 reciben además 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 completa, la URL de la grabación 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 conocimientos, de conexión de aplicaciones
ni MCP).
response es el resultado ejecutado: {"status": <http status>, "response": <your endpoint's JSON>} en caso de éxito, o
{"status": <status>, "error": "<message>"} en caso de error.
web.incoming
El equivalente de telephony.incoming para el canal web, enviado cuando inicia una
sesión de widget web o una llamada de prueba de micrófono del builder.
Las entregas a endpoints son de envío y olvido para cada sesión web.
Las claves publicables en mode="webhook" reciben además 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 de widgets en modo webhook,
to_number está vacío (el número del 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 de
widgets 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 en "web".
En el webhook heredado de URL única, 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 calidad
call.graded
Se envía cada vez que se completa una ejecución de evaluación con IA
para una llamada. No bloqueante.
Una llamada puede evaluarse más de una vez — una evaluación heurística rápida suele
ir seguida de una evaluación completa con un modelo cuando la grabación está
disponible, y es posible volver a evaluar manualmente. Cada ejecución completada
envía su propio evento
call.graded; considera el valor más reciente de graded_at
como la fuente autorizada.issue.reported
Se envía cuando se crea un reporte de problema —
ya sea que un usuario lo presente desde el dashboard (source: "user") o
que la evaluación de llamadas lo genere automáticamente (source: "system"). No bloqueante.
Volver a evaluar una llamada reconstruye sus reportes de problemas generados por el sistema,
lo que vuelve a enviar
issue.reported para los reportes recreados. Elimina duplicados según
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 final — completed o failed, incluidas las ejecuciones
que fallaron al iniciarse y nunca generaron una llamada. No bloqueante. Útil
para integrar ejecuciones de CI por lotes con tus sistemas de chat/notificaciones.
Eventos de alerta
alert.triggered
Se envía cuando una regla de alerta con el canal Entregar a
webhooks de desarrollador 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 produce un evento por cada ventana 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.