Cuando tus agentes terminan llamadas (o fallan), Ryvo te manda un evento a una URL que tú configuras. Útil para:Documentation Index
Fetch the complete documentation index at: https://ryvo-3dab4d1a.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
- 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
- Entra a app.ryvo.so/developers.
- En la sección Webhook, agrega tu URL pública (HTTPS obligatorio).
- 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.
Eventos disponibles
| Evento | Cuándo se dispara |
|---|---|
call.initiated | Cuando disparas una llamada vía POST /v1/calls. |
call.completed | Cuando termina exitosamente una llamada. |
call.failed | Cuando una llamada termina con error o no contesta. |
Shape de un evento
Todos los eventos comparten esta estructura:call.initiated
call.completed
call.failed
Headers de cada delivery
| Header | Valor |
|---|---|
Content-Type | application/json |
User-Agent | Ryvo-Webhook/1.0 |
X-Ryvo-Signature | t=<unix_secs>,v1=<hex_sha256> — verifica esto. |
X-Ryvo-Event | El tipo de evento (ej. call.completed). |
X-Ryvo-Event-Id | UUID del evento — úsalo para idempotencia. |
X-Ryvo-Delivery | UUID único de este intento de entrega. |
Reintentos automáticos
Si tu endpoint responde con un código que no es2xx o se cuelga más de 10 segundos, reintentamos automáticamente con backoff exponencial:
| Intento | Cuándo |
|---|---|
| 1 | Inmediato cuando ocurre el evento. |
| 2 | 5 minutos después. |
| 3 | 30 minutos después. |
| 4 | 2 horas después. |
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 respuesta200 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 responder200 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.

