Conceptos
IVR designer — conceptos
Cómo diseñar flujos de llamada en SIVO con el editor visual drag & drop. Tipos de nodo, simulador y versionado.
El IVR designer es el editor visual donde decides qué pasa con cada llamada entrante. Lo abren tus admins, no tu equipo de desarrollo.
Conceptos básicos
Un flujo IVR es un grafo dirigido de nodos conectados. Cada llamada empieza en el nodo start y avanza según las acciones que define cada nodo.
Cada flujo tiene:
- Un nombre (ej.
Atención clientes). - Una versión activa (puedes mantener varias versiones y hacer rollback).
- Un conjunto de nodos y sus conexiones.
- Variables de sesión accesibles desde cualquier nodo.
Los 12 tipos de nodo
| Tipo | Qué hace |
|---|---|
| play | Reproduce un audio o texto-a-voz. |
| menu | Lee opciones y captura DTMF (1, 2, 3…). |
| queue | Envía la llamada a una cola ACD. |
| transfer | Transfiere a una extensión o número externo. |
| condition | Bifurca según hora, festivo, horario o valor de variable. |
| hangup | Cuelga (con audio opcional de despedida). |
| input | Captura dígitos en una variable (ej. DNI, número de pedido). |
| voicemail | Desvía a buzón con notificación por email. |
| webhook | Hace POST a tu API para enriquecer la llamada con datos externos. |
| switch | Routing N-way según valor de variable. |
| function | Ejecuta una función JS personalizada (sandbox seguro). |
| ai_agent | Conversación con un agente IA conversacional. |
Variables de sesión
Algunos nodos generan variables que otros pueden consumir:
inputguarda los dígitos pulsados.webhookguarda la respuesta JSON.ai_agentguarda los datos extraídos por la IA.caller_id_number,caller_id_name,did,nowson variables predefinidas siempre disponibles.
Para usar una variable en un audio o un condicional: {{caller_id_number}} o {{verified_email}}.
Simulador interactivo
Antes de publicar, prueba el flujo con el simulador:
- Abre el flujo → botón “Simular”.
- SIVO renderiza una llamada ficticia con el dial-pad activo.
- Pulsas dígitos en el simulador como si fueras un caller.
- El editor resalta en tiempo real qué nodo se está ejecutando.
- Puedes forzar la hora con el clock override para probar condicionales de horario.
Versionado y rollback
Cada vez que pulsas Guardar, se crea una versión nueva. La versión activa es la que recibe las llamadas en producción.
Para hacer rollback:
- Abre el flujo → menú Versiones.
- Selecciona una versión anterior → “Activar esta versión”.
- La nueva versión activa sustituye a la actual en menos de 1 segundo, sin reiniciar nada.
Validación pre-publicación
Antes de activar una nueva versión, SIVO valida:
- Nodos huérfanos: ningún flujo de control llega a ellos. Te avisa.
- Referencias muertas: nodo que apunta a una cola eliminada o un audio borrado.
- Loops infinitos: ciclos sin salida posible. Te avisa.
- Webhooks: hace un HEAD preflight a las URLs configuradas para verificar reachability.
Si hay errores, no te deja activar. Si hay warnings, te deja pero los muestra.
Asignación a DIDs
Un flujo IVR cobra sentido cuando lo asignas a un DID (un número entrante):
- Settings → DIDs → tu número → IVR.
- Selecciona el flujo (puedes elegir versión específica o “siempre la activa”).
- Opcional: define un flujo alternativo para fuera de horario vinculado a un schedule.
Un mismo flujo puede ser usado por varios DIDs simultáneamente — útil si tienes números regionales que comparten lógica común.
Buenas prácticas
- Mantén el menú corto — 3-4 opciones máximo. Caller’s memory.
- Usa
condition.schedulepara enrutar fuera de horario antes de leer el menú. - Nombra los nodos descriptivamente (
menu_principal,cola_soporte) — facilita el debug. - Loga variables clave con un
webhookal final del flujo si necesitas analítica avanzada. - Prueba en el simulador todos los caminos antes de publicar.
- Versiona antes de cambios grandes — el rollback es tu red de seguridad.