🇪🇸 Español 🇬🇧 English 🇧🇷 Português

Nodo de IVR: Asignar variable

Guarda un valor literal o calculado en una variable que otros nodos del IVR pueden leer más adelante.

Jul 11, 2026

El nodo Asignar variable (SetVariable) guarda un texto —literal o con partes dinámicas— en una variable dentro de la ejecución de la llamada, para que un nodo posterior (Bifurcar, Condición, u otro) tome una decisión en base a ese valor. No reproduce audio ni pausa la llamada.

Requisitos

  • Ninguno especial; se usa dentro del Editor de IVR de cualquier canal de llamadas.

Configuración

  • Nombre de la variable: el identificador con el que otros nodos van a leer el valor (por ejemplo caller_segment).
  • Valor (literal o ${...}): texto fijo, o una plantilla con variables dinámicas. Este nodo resuelve un conjunto acotado de accesores: ${contact.id}, ${contact.name}, ${contact.phone}, ${contact.email}, ${caller.number}, ${locale}, ${wacid}, o cualquier variable guardada antes con otro nodo Asignar variable. No comparte el resolver extendido (${channel.*}, ${now.*}, etc.) que sí usan otros nodos como Solicitud HTTP, Notificar a un agente o Evento analítico.

Ejemplo

Un nodo Asignar variable con nombre caller_email y valor ${contact.email} guarda el correo del contacto para usarlo más adelante, por ejemplo en el cuerpo de una Solicitud HTTP o de una notificación. Un nodo Condición más adelante puede evaluar caller_email != '' para decidir si el llamante tiene datos de contacto completos antes de derivarlo a un flujo u otro.

Consejos

  • Usalo para "precalcular" un valor una sola vez y reutilizarlo en varias condiciones más adelante, en vez de repetir la misma expresión larga en cada nodo.
  • Los tokens que no coinciden con ninguna variable conocida quedan como texto literal (por ejemplo ${typo_de_variable} se guarda tal cual), lo que ayuda a detectar errores de tipeo en la traza de ejecución. Esto incluye accesores que no son soportados por este nodo en particular, como ${contact.tags[0]}: aunque "tags" existe como concepto de contacto en otras partes de Omnifox, este nodo no lo resuelve y el token queda literal.

Solución de problemas

Si un nodo posterior no encuentra el valor esperado, revisá que el nombre de variable coincida exactamente (sensible a mayúsculas) entre el nodo Asignar variable y el nodo que la lee. Si el valor sale vacío o queda como el texto literal ${...}, confirmá que estés usando uno de los accesores soportados (contact.id, contact.name, contact.phone, contact.email, caller.number, locale, wacid) y que el contacto realmente tenga ese dato cargado para ese llamante.

¿Te fue útil?

Artículos relacionados