Elegí el evento
Qué envía cada uno
Llamada analizada
Llamada analizada
ContactShip envía:
{ "data": { "agent": {}, "organization": {}, "call": {}, "campaign": {}, "contact": {} } }, con bloques condicionales.Llega después del análisis; puede esperar evaluaciones. Tu receptor acepta el evento con HTTP 2xx. La configuración y los intentos se revisan en Webhooks de llamadas. Consultá los campos y ejemplos exactos.Contexto antes de una llamada entrante
Contexto antes de una llamada entrante
ContactShip envía:
call con dirección y teléfonos, agent_id, organization_id y contact cuando está disponible.Tu sistema responde: un objeto JSON con los datos que el agente necesita, por ejemplo saldo o estado de un pedido. La respuesta se usa durante la conversación; no es el resultado final. Ver contrato de contexto de entrada.Cambios de conversación en un canal
Cambios de conversación en un canal
Seleccionás
INSERT, UPDATE o DELETE: describen conversaciones, no cada mensaje individual. Configurá URL e interruptor en Canal → Avanzado.Capturá un evento controlado en tu receptor para mapear los campos de ese canal. No apliques el esquema data.call a estos eventos. Para controlar explícitamente el cuerpo enviado, usá una automatización con Body template.Acción Send Webhook del inbox
Acción Send Webhook del inbox
Elegís el disparador y las condiciones de la regla. La acción permite URL, método POST, PUT o PATCH, headers y Body template. Con cuerpo vacío, envía el contexto completo del evento.Definí un cuerpo propio con las variables que necesitás. En Run History, abrí Trigger Payload y el Output de la acción para comprobar los valores disponibles y el resultado. Ver automatizaciones del inbox.
Cierre del seguimiento de un agente de texto
Cierre del seguimiento de un agente de texto
Envía
event: "follow_up_closed", threadId, agentId, motivo de cierre, etapas, fecha, contacto y resumen. Es un cuerpo distinto al webhook de voz, sin envoltorio data.No representa todos los cierres manuales del inbox. Ver campos y ejemplo de cierre y configuración de seguimientos.Fuera de horario y enrutamiento
Fuera de horario y enrutamiento
El webhook fuera de horario notifica al receptor con un POST cuando se aplica esa regla del canal. Configuralo en Respuestas y verificá un mensaje controlado en tu receptor.Los avisos de enrutamiento describen asignación y plazos; la pantalla actual no expone un editor público de su webhook. Coordiná el contrato con soporte según Condiciones, avisos y webhooks. No reutilices una firma ni un parser de otro tipo de webhook.
Cómo probar una integración
1
Separá los receptores
Usá rutas o workflows distintos para voz, contexto de entrada y mensajes. Cada uno puede esperar otro cuerpo o respuesta.
2
Provocá un evento controlado
Hacé una prueba del caso real: llamada, mensaje, cierre o cambio de conversación. No uses un JSON de ejemplo como prueba de entrega.
3
Conservá el cuerpo y la respuesta
Revisá los datos en tu receptor. Para voz, compará con Llamadas → Webhooks; para reglas del inbox, con Run History.
4
Verificá la acción final
Comprobá el ticket, tarea o actualización en tu sistema. Una respuesta HTTP exitosa no demuestra por sí sola que esa acción terminó.
Los reintentos, los headers y las firmas dependen del tipo de webhook. El webhook de llamadas no agrega la firma del enrutamiento, y el cierre de seguimiento no comparte su mecanismo de reintentos.
Preguntas frecuentes
¿Puedo usar la misma URL para todos?
¿Puedo usar la misma URL para todos?
Solo si tu receptor distingue los contratos. Separar rutas simplifica el mapeo y evita responder al webhook de contexto como si fuera una notificación.
¿Dónde veo el JSON que llegó?
¿Dónde veo el JSON que llegó?
En los logs o historial de tu receptor. Para llamadas, también en Llamadas → Webhooks. En automatizaciones, revisá Trigger Payload y los pasos de Run History.
¿El webhook del canal avisa cada mensaje?
¿El webhook del canal avisa cada mensaje?
No. Sus eventos son de conversación. Para mensajes nuevos, elegí ese disparador en una automatización.
Seguí con
Webhook de llamadas
Campos y ejemplos completos.
Integrar tu sistema
Recorrido desde la API hasta el resultado.
