Procesamiento de Datos y Flujos Multi-Paso
Conecta herramientas, transforma datos y construye automatizaciones que encadenan múltiples pasos. Pasa de triggers simples a flujos complejos multi-sistema.
Contenido de Curso Premium
Esta lección es parte de un curso premium. Mejora a Pro para desbloquear todos los cursos premium y su contenido.
- Acceso a todos los cursos premium
- Más de 1000 plantillas de skills de IA incluidas
- Contenido nuevo cada semana
Más Allá de las Automatizaciones Simples
🔄 Repaso rápido: En la lección anterior, construimos automatizaciones de comunicación — emails disparados por eventos, secuencias drip y sistemas de notificación. Ahora vamos a subir de nivel a automatizaciones que cruzan fronteras de sistemas, transforman datos y encadenan múltiples operaciones.
Aquí es donde la automatización se vuelve genuinamente poderosa. En vez de automatizar una sola tarea, estás automatizando procesos completos.
El Desafío Multi-Sistema
Aquí va un escenario común: Un representante de ventas cierra un deal en el CRM. Ahora necesitas:
- Crear la cuenta del cliente en el sistema de facturación
- Generar el contrato en el sistema de documentos
- Crear el proyecto en la herramienta de gestión de proyectos
- Agregar al cliente a la secuencia de email de onboarding
- Notificar al equipo de customer success en Slack
- Actualizar el dashboard de ventas
- Crear la carpeta del cliente en el almacenamiento de archivos
Son 7 sistemas diferentes que necesitan actualizarse cuando ocurre un solo evento. Manualmente, este proceso toma 30-45 minutos y los errores son comunes (alguien siempre olvida crear la carpeta del proyecto). Automatizado, toma segundos y nada se pierde.
Pero hay un detalle: cada sistema almacena datos de forma diferente.
El Problema de Formato de Datos
El CRM almacena el nombre del cliente como: “Acme Corporation” El sistema de facturación necesita: company_name: “Acme Corporation”, billing_contact: “Ana García” La herramienta de proyectos necesita: project_name: “Acme Corporation - Implementación” El almacenamiento necesita: folder_name: “acme-corporation” (minúsculas, con guiones)
La misma información. Cuatro formatos diferentes. Por esto la transformación de datos es la habilidad central de la automatización multi-paso.
Fundamentos de Transformación de Datos
La transformación de datos convierte información de un formato a otro. Transformaciones comunes:
Manipulación de texto:
- Dividir: “Ana García” → first_name: “Ana”, last_name: “García”
- Unir: “Ana” + “García” → “Ana García”
- Formato: “ACME CORP” → “Acme Corp” (title case)
- Slug: “Acme Corporation” → “acme-corporation”
Manipulación de fechas:
- Conversión de formato: “15/01/2026” → “2026-01-15”
- Conversión de zona horaria: “2026-01-15T10:00 CST” → “2026-01-15T16:00 UTC”
- Cálculo: “fecha_inicio + 30 días” → “fecha_fin”
Manipulación de números:
- Conversión de moneda: “$1,500.00” → 1500 (quitando símbolos/formato)
- Redondeo: 4.567 → 4.57
- Porcentaje: 0.15 → “15%”
Manipulación de estructura:
- Aplanar: objeto anidado → pares clave-valor planos
- Anidar: campos planos → objeto estructurado
- Array a string: [“tag1”, “tag2”, “tag3”] → “tag1, tag2, tag3”
Usando IA para planear transformaciones:
Necesito mover datos de clientes de [Sistema Origen]
a [Sistema Destino].
Formato de datos origen:
{
"customer_name": "Acme Corporation",
"contact": "Ana García, CEO",
"phone": "(55) 1234-5678",
"deal_value": "$15,000.00",
"close_date": "15/01/2026"
}
El destino requiere:
{
"company": string,
"first_name": string,
"last_name": string,
"title": string,
"phone": string (solo dígitos),
"amount": number,
"date": formato "YYYY-MM-DD"
}
Lista cada transformación necesaria, paso por paso.
✅ Revisión Rápida: Piensa en dos herramientas que uses regularmente. Si tuvieras que mover datos de una a la otra, ¿qué diferencias de formato encontrarías? Esas diferencias son exactamente lo que los pasos de transformación de datos resuelven.
Pasos de Lookup
Los lookups son pasos donde tu automatización consulta una fuente de datos para encontrar información adicional. Son los pasos de “ve a revisar esto.”
Patrones comunes de lookup:
| Dato del trigger | Lookup | Datos adicionales obtenidos |
|---|---|---|
| Email del cliente | Lookup en CRM | Nombre, tier de cuenta, historial |
| SKU de producto | Lookup en inventario | Nivel de stock, ubicación en almacén |
| ID de empleado | Lookup en HRIS | Nombre del manager, departamento |
| Número de factura | Lookup en contabilidad | Monto, estatus, fecha de vencimiento |
Diseña un paso de lookup:
PASO 3: Lookup en CRM
Input: email_cliente (del trigger)
Query: Buscar contactos en CRM donde email = {email_cliente}
Output: nombre_cliente, id_cuenta, tier, owner
Si encontrado: Continuar al Paso 4
Si no encontrado: Crear nuevo registro de contacto, luego continuar
Si múltiples encontrados: Usar el registro más reciente, registrar advertencia
Siempre maneja el caso de “no encontrado.” Los lookups que fallan silenciosamente son una de las causas más comunes de bugs en automatizaciones.
Patrones de Flujos Multi-Paso
Patrón 1: Pipeline Secuencial
Los datos fluyen a través de una serie de transformaciones:
[Trigger] → [Extraer] → [Transformar] → [Cargar] → [Notificar]
Ejemplo: Reporte diario de ventas
- Trigger: 8 AM cada día
- Extraer: Obtener datos de ventas de ayer del sistema POS
- Transformar: Calcular totales, top sellers, comparación con día anterior
- Cargar: Actualizar hoja de cálculo del dashboard con nuevos datos
- Notificar: Enviar resumen al gerente de ventas por Slack
Patrón 2: Fan-Out
Un trigger genera múltiples acciones paralelas:
[Trigger] → [Acción A]
→ [Acción B]
→ [Acción C]
Ejemplo: Deal cerrado
- Trigger: Deal marcado “Cerrado Ganado” en CRM
- Crear cuenta de facturación (sistema de billing) — en paralelo
- Crear proyecto (herramienta de proyectos) — en paralelo
- Enviar email de bienvenida (herramienta de email) — en paralelo
- Notificar al equipo (Slack) — en paralelo
Patrón 3: Recopilar y Procesar
Múltiples fuentes alimentan un paso de procesamiento:
[Fuente A] →
[Fuente B] → [Combinar] → [Procesar] → [Output]
[Fuente C] →
Ejemplo: Reporte ejecutivo semanal
- Extraer datos de ventas (CRM)
- Extraer tickets de soporte (help desk)
- Extraer métricas del sitio web (analytics)
- Combinar en dataset unificado
- Generar resumen y tendencias
- Formatear y enviar reporte ejecutivo
Patrón 4: Procesamiento Iterativo
Recorrer una colección, procesando cada elemento:
[Obtener lista] → [Para cada item] → [Procesar] → [Siguiente] → [Resumen]
Ejemplo: Procesamiento mensual de facturas
- Obtener todas las facturas pendientes
- Para cada factura: validar montos, aplicar descuentos, calcular impuestos
- Generar PDF de cada factura
- Enviar cada factura al cliente correspondiente
- Registrar todos los envíos en el sistema contable
Diseñando un Flujo Multi-Paso
Diseñemos un flujo multi-paso completo:
Escenario: Cuando un cliente envía un ticket de soporte, automáticamente categorizarlo, buscar los detalles de su cuenta, rutearlo al equipo correcto y establecer expectativas.
Ejemplo de diseño:
PASO 1: Recibir ticket (Trigger)
Datos: email, asunto, descripción, prioridad
PASO 2: Lookup en CRM
Input: email_cliente
Obtener: nombre_cliente, tier (free/pro/enterprise), owner
No encontrado: Marcar como "cliente desconocido"
PASO 3: Categorizar ticket (IA/reglas)
Input: asunto, descripción
Output: categoría (facturación/técnico/general/urgente)
PASO 4: Rutear basado en condiciones
SI tier = "enterprise" Y prioridad = "alta":
→ Rutear a soporte senior, SLA = 1 hora
SI categoría = "facturación":
→ Rutear a equipo de facturación, SLA = 4 horas
SI categoría = "técnico":
→ Rutear a soporte técnico, SLA = 2 horas
SINO:
→ Rutear a cola general, SLA = 8 horas
PASO 5: Crear ticket en sistema de soporte
Datos: todos los datos recopilados + categoría + ruta + SLA
PASO 6: Enviar acuse de recibo al cliente
Template basado en tier y categoría
Incluir: número de ticket, tiempo esperado de respuesta
PASO 7: Notificar equipo asignado vía Slack
Incluir: nombre del cliente, tier, categoría, link al ticket
Errores Comunes
1. Condiciones de carrera. Cuando acciones paralelas dependen de los mismos datos, pueden entrar en conflicto. Solución: Diseña dependencias claras y secuencia las operaciones que modifican los mismos datos.
2. Incompatibilidad de tipos de datos. Un sistema devuelve un número como string, pero el siguiente espera un integer. Solución: Siempre transforma explícitamente los tipos de datos entre pasos.
3. Rate limits. Las APIs frecuentemente limitan cuántas peticiones puedes hacer por minuto. Solución: Agrega delays entre llamadas API en bucles, o agrupa tus peticiones en batch.
4. Fallas parciales. El paso 5 de 7 falla. Ahora los pasos 1-4 se ejecutaron pero 6-7 no. Solución: Diseña para recuperación elegante (más sobre esto en la Lección 6).
Ejercicio: Diseña un Flujo Multi-Paso
Elige uno de estos escenarios y diseña el flujo completo:
- Onboarding de empleado: Cuando RRHH crea un nuevo registro de empleado, configurar cuentas en 5 sistemas
- Fulfillment de pedido: Cuando se coloca un pedido, procesar pago, actualizar inventario, generar etiqueta de envío y notificar al cliente
- Publicación de contenido: Cuando un blog post es aprobado, formatearlo, publicar en el sitio, compartir en redes sociales y enviar a la lista de email
Para tu escenario elegido, define cada paso con inputs, outputs, transformaciones, condiciones y manejo de fallas.
Conclusiones Clave
- Los flujos multi-paso conectan diferentes sistemas que almacenan datos en diferentes formatos
- La transformación de datos es la habilidad central: convertir entre formatos, dividir/unir campos, reformatear fechas y números
- Los pasos de lookup enriquecen tu flujo con datos adicionales de otros sistemas
- Patrones comunes: pipeline secuencial, fan-out, recopilar-y-procesar, y bucles iterativos
- Siempre maneja el caso de “no encontrado” en lookups y planea para fallas parciales
- Mapea el flujo de datos explícitamente — conoce qué recibe y qué pasa adelante cada paso
Siguiente: las cosas saldrán mal. Asegurémonos de que tus automatizaciones manejen errores con elegancia.
Comprobación de Conocimientos
Primero completa el quiz de arriba
¡Lección completada!