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

Condiciones y ramificaciones en workflows: if, switch y grupos AND/OR

Aprende a usar condiciones en workflows de Omnifox: el nodo Si, Switch de varias ramas, grupos AND/OR, El contacto tiene etiqueta y Horario laboral.

July 11, 2026

Un workflow sin condiciones es una linea recta: hace lo mismo con todos los contactos. Las condiciones en workflows son el cerebro de la automatizacion, porque deciden por donde sigue cada conversacion segun quien escribe, que canal usa, que dice o a que hora llega. En Omnifox un workflow es siempre un trigger + un grafo de nodos, y las condiciones son los nodos que abren varias salidas (edges) para que cada caso tome su propio camino.

En esta guia recorremos los nodos de condicion reales del editor: Si (una regla), Switch (varias ramas), los grupos anidados AND/OR, El contacto tiene etiqueta y Horario laboral. Al final tendras un ejemplo de ruteo completo listo para copiar.

El nodo Si: la decision mas simple

Si (una regla) evalua una sola condicion y abre dos salidas: verdadero y falso. Es la bifurcacion clasica de tipo binario.

Un flujo tipico:

  1. Trigger Mensaje recibido (filtro: solo primer mensaje).
  2. Nodo Si -> regla: {{$conversation.channel_name}} es WhatsApp.
  3. Rama verdadero -> Enviar plantilla de WhatsApp.
  4. Rama falso -> Enviar mensaje normal.

La gracia del nodo Si es que puedes evaluar cualquier variable de contacto, conversacion o mensaje. Por ejemplo, ramificar segun {{$contact.company}} este vacio o no para separar clientes B2B de consumidores finales. Recuerda la regla clave del motor: una variable desconocida se resuelve como cadena vacia, no rompe la evaluacion.

Switch: mas de dos caminos

Cuando necesitas mas de dos salidas, el nodo Switch (varias ramas) es la herramienta correcta. Cada rama tiene su propio conjunto de reglas y el flujo toma la primera que se cumple, de arriba hacia abajo, con una salida de fallback al final para lo que no encaje.

Un caso frecuente es rutear por palabra clave o por etapa del contacto:

  • Rama 1: el texto contiene "factura" -> Transferir a un agente del equipo de facturacion.
  • Rama 2: el texto contiene "precio" o "planes" -> Asignar agente IA de ventas.
  • Rama 3 (fallback): Enviar mensaje con el menu de opciones.

El orden importa: coloca arriba las reglas mas especificas y deja las genericas abajo. Si dos ramas pudieran cumplirse a la vez, gana la primera.

Grupos AND/OR: logica que se lee como una frase

Las reglas reales rara vez son de un solo dato. Omnifox permite grupos anidados para combinar condiciones con AND y OR, del tipo (A AND B) OR C. Esto convierte una decision compleja en algo legible.

Ejemplo de un grupo dentro de un nodo Si:

({{$contact.tags}} contiene VIP AND Horario laboral = En horario) OR {{$conversation.channel_name}} = Llamadas

Es decir: atiende de inmediato si es un cliente VIP dentro del horario, o si el contacto llega por el canal de llamadas sin importar la etiqueta. Los grupos evitan tener que encadenar tres o cuatro nodos Si en escalera; toda la logica vive en un solo nodo y se mantiene facil de auditar.

El contacto tiene etiqueta: segmentar sin escribir reglas

El contacto tiene etiqueta es una condicion dedicada que revisa las etiquetas del contacto y abre una rama por presencia/ausencia. Es mucho mas limpio que comparar {{$contact.tags}} con texto libre.

Combinala con el trigger Etiqueta anadida o con un nodo previo Anadir etiqueta para armar embudos:

  1. Trigger Mensaje recibido.
  2. Nodo El contacto tiene etiqueta -> tiene cliente?
  3. Si -> Transferir a un agente de postventa.
  4. No -> Anadir etiqueta lead y Asignar agente IA de ventas.

Horario laboral: la condicion de tres ramas

Horario laboral es especial porque no abre dos salidas, sino tres: En horario, Fuera de horario y Feriado. Lee la configuracion de horarios y el calendario de feriados de tu workspace, asi que no tienes que codificar fechas a mano.

Un patron de auto-respuesta muy usado:

  1. Trigger Mensaje recibido.
  2. Condicion Horario laboral.
  3. En horario -> Transferir a un agente.
  4. Fuera de horario -> Enviar mensaje: "Te respondemos en la manana" + Posponer conversacion.
  5. Feriado -> Enviar plantilla de WhatsApp con el aviso del feriado.

Un ejemplo de ruteo end-to-end

Juntemos todo en un solo workflow de recepcion:

Mensaje recibido (solo primero) -> Horario laboral

  • Feriado -> Enviar mensaje de feriado -> fin.
  • Fuera de horario -> Enviar mensaje + Posponer conversacion.
  • En horario -> Switch:
    • contiene "soporte" -> El contacto tiene etiqueta VIP? -> Si: Transferir a un agente senior / No: cola normal.
    • contiene "ventas" -> Asignar agente IA.
    • fallback -> Hacer pregunta con el menu.

Con cinco tipos de condicion cubres practicamente cualquier ruteo omnicanal.

Errores comunes y buenas practicas

  • No dejes ramas sin salida. Toda condicion debe cerrar todas sus ramas; un Switch sin fallback deja conversaciones atascadas.
  • Ordena de especifico a general en Switch: la primera regla verdadera gana.
  • Prefiere El contacto tiene etiqueta en vez de comparar texto de tags a mano; es mas robusto.
  • Apoyate en Horario laboral en lugar de nodos Fecha/hora sueltos: mantiene feriados centralizados.
  • Testea con casos limite: variable vacia, contacto sin etiquetas, mensaje fuera de horario.

Puedes armar todo esto de forma visual, arrastrando nodos en el editor de workflows de Omnifox, y probar cada rama antes de publicar. Empieza con un Si simple y ve sumando Switch y grupos AND/OR a medida que tu operacion crece: manana tus conversaciones se rutearan solas.

Comentarios (0)

Todavía no hay comentarios. Sé el primero en compartir tu opinión.

Dejá un comentario

Tu email nunca se publica. Los comentarios se moderan antes de aparecer.

Soporta markdown. El HTML se elimina.

Leer más