Skip to main content
Cuando tus agentes terminan llamadas (o fallan), Ryvo te manda un evento a una URL que tú configuras. Útil para:
  • Actualizar el deal en tu CRM con el resultado de la llamada.
  • Disparar un follow-up automatizado si la llamada falló.
  • Loggear el resumen de cada conversación en tu data warehouse.

Configurar tu webhook

  1. Entra a app.ryvo.so/developers.
  2. En la sección Webhook, agrega tu URL pública (HTTPS obligatorio).
  3. Copia el signing secret que generamos. Solo se muestra una vez — guárdalo en un secret manager. Lo necesitas para verificar la firma de cada evento.
La URL del webhook debe ser pública y aceptar peticiones POST. Si está detrás de un firewall o requiere auth, los eventos no van a llegar.

Eventos disponibles

Por defecto recibes todos los eventos. En el futuro vas a poder filtrar por tipo desde el portal.

Shape de un evento

Todos los eventos comparten esta estructura:

call.initiated

call.completed

call.failed

Headers de cada delivery

Reintentos automáticos

Si tu endpoint responde con un código que no es 2xx o se cuelga más de 10 segundos, reintentamos automáticamente con backoff exponencial: Después del 4to intento fallido, marcamos la entrega como exhausted y no volvemos a intentar. Puedes ver el historial en app.ryvo.so/developers.

Idempotencia del lado del receptor

Aunque hagamos retry solo en errores, un mismo evento puede llegarte 2 veces (ej. tu endpoint procesó OK pero la respuesta 200 se perdió en la red). Por eso te mandamos X-Ryvo-Event-Id: guarda los IDs procesados y descarta duplicados.

Responde rápido

Tu endpoint debe responder 200 en menos de 10 segundos. Si necesitas hacer trabajo lento (LLM call, sync a una API externa), responde 200 inmediato y procesa async (cola, background job).

Próximos pasos

Verificar firmas

Cómo validar que el evento viene de Ryvo y no de un atacante.

Probar tu webhook

Desde el portal puedes mandarte un evento de prueba.