Lección 1 de 12 · Lectura y práctica
Router y Filtros: Controlando el Flujo de Datos
Router y Filtros: Controlando el Flujo de Datos CONCEPTO CLAVE: Un Router es el componente que permite dividir un flujo de automatización en múltiples caminos, mientras que los Filtros actúan como guardas que determinan qué datos.
Esta es una lección del contenido anterior de Cursalo. Si ya estudiaste o compraste este curso, entra con tu cuenta para guardar tu progreso y abrir el resto de las clases. No necesitas comprar nada de nuevo.
Router y Filtros: Controlando el Flujo de Datos
¿Por qué necesitas routers y filtros?
En el mundo de la automatización, no todas las situaciones requieren el mismo tratamiento. Imagina que recibes un email con información de nuevos clientes: algunos vienen de tu página web, otros por recomendación y algunos son clientes VIP. ¿Deberían todos seguir el mismo camino? Probablemente no.
Los routers y filtros te permiten:
- Dirigir datos hacia diferentes destinos según su contenido
- Evitar errores al filtrar información incompleta o inválida
- Crear lógicas condicionales complejas sin código
- Optimizar el rendimiento de tus escenarios
- Mantenimiento más sencillo al tener flujos separados
El Router en Make (Integromat)
El Router es uno de los módulos más versátiles de Make. Al agregarlo a tu escenario, automáticamente crea dos caminos de salida: Route 1 y Route 2. Puedes agregar tantos routes como necesites haciendo clic en el botón "+".
Anatomía de un Router
| Elemento | Descripción | Ejemplo |
|---|---|---|
| Nombre de Route | Etiqueta descriptiva del camino | "Clientes VIP", "Leads norm"ales" |
| Filtro de Route | Condición que debe cumplirse | "Tipo = Premium" |
| Color del Route | Identificación visual rápida | Azul, verde, rojo, etc. |
| Orden de evaluación | El orden en que se evalúan las condiciones | De arriba a abajo |
Filtros: Los guardianes del flujo
Un filtro sin un router es como un guardia que deja pasar o no a las personas, pero no decide hacia dónde van. Los filtros siempre están asociados a un camino específico del router y evaluarán cada paquete de datos que llegue.
Sintaxis de condiciones en Make
Make utiliza operadores que debes dominar para crear filtros efectivos:
| Operador | Símbolo | Uso | Ejemplo |
|---|---|---|---|
| Igual a | = | Coincidencia exacta | status = "completado" |
| No igual a | ≠ | Diferente de | estado ≠ "cancelado" |
| Mayor que | > | Valor numérico mayor | presupuesto > 1000 |
| Menor que | < | Valor numérico menor | edad < 18 |
| Contiene | contains | Texto incluido | email contains "@empresa.com" |
| Existe | exists | El campo tiene valor | teléfono exists |
Caso práctico: Clasificación automática de tickets
Vamos a crear un escenario completo que demuestra el poder de routers y filtros. Situación: Tu sistema recibe tickets de soporte y necesitas clasificarlos automáticamente.
- Trigger: Nuevo ticket creado en tu sistema (JSON, webhook, o desde una app)
- Módulo Router: Se divide en 3 rutas según la prioridad
- Ruta 1 - Crítico: Prioridad = "crítico" → Notificación inmediata a Slack + Ticket en primera posición
- Ruta 2 - Normal: Prioridad = "normal" → Asignación automática por departamento
- Ruta 3 - Informativo: Prioridad = "bajo" → Guardar en base de datos para análisis mensual
// Ejemplo de estructura de datos del ticket
{
"ticket_id": "TKT-2024-0156",
"cliente": "Empresa ABC",
"prioridad": "crítico",
"asunto": "Sistema fuera de línea",
"descripcion": "Nadie puede acceder al sistema..."
}
// Los filtros serían:
// Ruta 1: prioridad = "crítico"
// Ruta 2: prioridad = "normal"
// Ruta 3: prioridad = "bajo" OR prioridad = "informativo"
Implementación paso a paso en Make
Ahora te guiaré detalladamente para construir este escenario:
Paso 1: Configurar el Trigger
Agrega el módulo que detectará los nuevos tickets. Puede ser un webhook personalizado, una consulta a API, o integración directa con tu CRM o herramienta de soporte.
Paso 2: Insertar el Router
Busca el módulo "Router" en la lista de módulos y arrástralo después del trigger. Make creará automáticamente dos rutas.
Paso 3: Configurar cada Ruta
Haz clic en el engranaje de cada ruta para configurar su filtro. Aparecerá una ventana donde podrás:
- Seleccionar el campo a evaluar (del módulo anterior)
- Elegir el operador de comparación
- Ingresar el valor a comparar
- Nombrar la ruta descriptivamente
Paso 4: Agregar acciones después de cada Ruta
Ahora cada ruta puede tener su propio conjunto de acciones. En nuestro ejemplo:
"La belleza del router está en que cada camino es completamente independiente. Puedes tener 3 acciones en una ruta y 15 en otra. Make ejecutará TODAS las acciones de cada ruta que aplique."
Ver más: Configuración avanzada de filtros
Make permite filtros muy sofisticados que incluyen:
- Filtros con texto: contains, starts with, ends with, matches pattern (regex)
- Filtros con fechas: before, after, between, is empty
- Filtros numéricos: between, greater than or equal, less than or equal
- Filtros de arrays: exists in array, array contains, array is empty
- Filtros booleanos: is true, is false
También puedes usar funciones como: toLower(), toUpper(), formatDate(), parseDate(), entre muchas otras para transformar datos antes de evaluar.
El Router en Zapier: Paths
Zapier implementa el concepto de Router mediante "Paths". Aunque la implementación es diferente, el resultado es similar. Un Zap puede tener múltiples paths, y cada uno tiene sus propias condiciones.
Diferencias clave entre Make y Zapier
| Característica | Make (Integromat) | Zapier |
|---|---|---|
| Nombre del componente | Router + Filters | Paths |
| Número de rutas | Ilimitado | Máximo 3 por Zap (Plan gratuito: 2) |
| Condiciones por path | Multiple (AND/OR) | Multiple (AND/OR) |
| Evaluación | Primera que coincide | Todas las que coinciden |
| Visibilidad | Colores diferenciados | Secciones colapsables |
Patrones avanzados de automatización
Patrón 1: Router con fallback
Siempre incluye una ruta "catch-all" o de respaldo para datos que no coincidan con ninguna condición anterior:
// Ruta 1: Tipo = "A" → Acción A
// Ruta 2: Tipo = "B" → Acción B
// Ruta 3: (sin filtro / TRUE) → Acción de respaldo
// La ruta 3 atrapará cualquier dato que no sea A ni B
Patrón 2: Router en cascada
Puedes anidar routers para crear decisiones más complejas:
- Primer Router: Clasifica por región (Latam, Europa, Asia)
- Cada ruta tiene su propio Router interno: Clasifica por tipo de cliente
- Finalmente, cada sub-ruta ejecuta acciones específicas por región y tipo
Patrón 3: Filtro compuesto con múltiples condiciones
A veces un solo filtro no es suficiente:
// Condición compleja:
// (Tipo = "Premium" AND Monto > 5000) OR (Tipo = "VIP" AND exists(Código_referido))
//
// Esta condición es VERDADERA si:
// - Es cliente Premium con compra mayor a $5000, O
// - Es cliente VIP y tiene código de referido
Manejo de errores y casos edge
Un escenario robusto debe contemplar qué sucede cuando los datos no son los esperados:
- Datos faltantes: Usa el operador "exists" para verificar que los campos obligatorios existan
- Valores inesperados: El router fallback atrapa todo lo que no coincida
- Errores en módulos: Configura "Error Handlers" por ruta
- Datos duplicados: Considera agregar un filtro de deduplicación usando IDs únicos
Depuración y testing
Make ofrece herramientas excelentes para depurar routers y filtros:
- Run Once: Ejecuta el escenario con un solo conjunto de datos y ve qué rutas se activan
- Inspect Bundles: Revisa los datos que llegan a cada módulo
- Filter Results: En la cola de ejecución, filtra por rutas específicas
- Logs detallados: Activa logs completos para troubleshooting
Ver más: Ejercicios prácticos de depuración
Para practicar la depuración, crea un escenario de prueba con:
- Módulo HTTP que devuelve datos de prueba en JSON
- Router con 4 rutas diferentes
- Cada ruta envía un email a una dirección diferente
- Ejecuta múltiples veces cambiando los datos de entrada
- Verifica qué emails llegan según las condiciones
Este ejercicio te ayudará a entender visualmente cómo funcionan los filtros.
Quiz de comprensión
¿Qué sucede si un dato cumple la condición del filtro de la Ruta 1 y también la de la Ruta 2 en un Router de Make?
- A) Se ejecuta ambas rutas simultáneamente
- B) Solo se ejecuta la Ruta 1, ya que las rutas se evalúan en orden
- C) Se produce un error de duplicación
- D) El escenario se detiene y espera intervención manual
¿Cuál es la mejor práctica cuando tienes múltiples tipos de datos que necesitan tratamiento diferente?
- A) Crear un escenario separado para cada tipo
- B) Usar un Router con filtros específicos por ruta
- C) Enviar todo al mismo módulo y usar condicionales internos
- D) Filtrar manualmente antes de activar la automatización
Conclusión
Dominar routers y filtros es essencial para cualquier automatizador serio. Estas herramientas te permiten:
- Crear flujos de trabajo inteligentes que se adaptan a diferentes situaciones
- Reducir errores al validar datos antes de procesarlos
- Optimizar recursos procesando solo la información relevante
- Facilitar el mantenimiento al tener lógica clara y visual