4.2 Orquestación y Automatización Avanzada con n8n#
En el ecosistema tecnológico moderno, las herramientas y bases de datos rara vez operan de forma aislada. n8n es una plataforma de automatización de flujo de trabajo (workflow automation) basada en un modelo visual de nodos. A diferencia de otras herramientas comerciales cerradas, n8n es «fair-code», lo que permite alojarlo en servidores propios y ofrece un control técnico profundo.
En n8n, la información fluye de una etapa a otra estrictamente en formato JSON (JavaScript Object Notation). Cada paso del proceso recibe el JSON del paso anterior, lo transforma y lo pasa al siguiente.
4.2.1 Anatomía de un Flujo de Trabajo (Workflow)#
Un flujo de trabajo en n8n es una secuencia de operaciones lógicas y conexiones. Está compuesto por diferentes tipos de «nodos» que interactúan entre sí.
A. Nodos Disparadores (Triggers)#
Todo flujo de trabajo necesita un evento de inicio. Los triggers se quedan «escuchando» hasta que ocurre una condición específica.
Schedule Trigger: Inicia el flujo basándose en el tiempo (ej. «Ejecutar cada hora» o «Todos los lunes a las 8:00 AM»). Es el equivalente automatizado de las tareas programadas.
Webhook: Crea una URL única que recibe datos en tiempo real desde cualquier aplicación externa (mediante peticiones HTTP POST o GET).
App Triggers: Disparadores integrados con aplicaciones específicas, como el «Google Drive Trigger» (se activa cuando se sube un archivo nuevo) o el «Gmail Trigger» (se activa al recibir un correo con cierto asunto).
B. Nodos de Aplicación (App Nodes)#
Son integraciones preconstruidas para interactuar con herramientas de terceros. Permiten ejecutar acciones como leer, crear, actualizar o eliminar registros en otras plataformas.
Bases de Datos: Nodos para PostgreSQL, MySQL o MongoDB para ejecutar consultas SQL (ej.
SELECT * FROM ventas).Hojas de Cálculo y Documentos: Nodos de Google Sheets o Airtable para añadir filas con datos procesados.
Comunicación: Nodos de Slack, Telegram o Gmail para enviar notificaciones automáticas al equipo.
HTTP Request: El nodo más versátil. Si una aplicación no tiene un nodo preconstruido en n8n, pero tiene una API pública, este nodo permite realizar peticiones personalizadas (GET, POST, PUT) enviando encabezados y tokens de autorización.
4.2.2 Nodos Lógicos y de Transformación (Core Nodes)#
Esta es la sección donde reside el verdadero poder de procesamiento. No basta con mover datos del punto A al punto B; a menudo es necesario aplicar la lógica de programación (condicionales y ciclos) que vimos en unidades anteriores.
Switch (Condicional If/Else): Actúa como un enrutador de tráfico. Evalúa una variable del JSON entrante y desvía la información por diferentes caminos.
Ejemplo: Si el campo
tipo_clientees igual a «VIP», envía el flujo por la ruta 1 (alerta inmediata por Telegram). Si es «Regular», lo envía por la ruta 2 (registro estándar en Excel).
Merge (Consolidación): Toma dos flujos de datos paralelos y los une. Es el equivalente visual a hacer un cruce de bases de datos o un «Join» en SQL.
Set (Asignación de Variables): Permite crear nuevos campos en el JSON o modificar los existentes estableciendo valores estáticos o fórmulas.
Item Lists (Manipulación de Arrays): Se utiliza para separar un lote de datos en elementos individuales. Si recibes un JSON con 100 facturas, este nodo permite iterar para que el flujo procese una factura a la vez.
Code Node (Ejecución de Código): Cuando la interfaz visual no es suficiente para una transformación compleja, este nodo permite escribir código puro (JavaScript o Python) para manipular la estructura del JSON a medida.
4.2.3 Arquitectura de un Caso Real: Procesamiento Inteligente de PQRs#
Para consolidar el aprendizaje, veamos cómo se estructura un flujo complejo que une las aplicaciones, la lógica de n8n y la inteligencia artificial (Prompting).
El Problema: El equipo de servicio al cliente recibe cientos de correos de PQRs (Peticiones, Quejas y Reclamos) al día en una bandeja general, saturando el tiempo de respuesta.
El Flujo en n8n:
Gmail Trigger: Escucha la bandeja de entrada
pqrs@empresa.com. Extrae el remitente y el cuerpo del correo en texto plano.LLM Node (IA Generativa): Toma el cuerpo del correo y lo procesa utilizando un prompt estructurado con las técnicas vistas en la sección 4.1.
Prompt oculto en el nodo: «Eres un clasificador automático. Lee el siguiente correo y devuelve un JSON con las claves:
sentimiento(positivo/negativo),urgencia(alta/baja),categoria(facturación/soporte técnico/ventas).»
Switch Node (Lógica de Enrutamiento): Recibe el JSON de la IA.
Regla 1: Si
urgenciaes «alta» Ysentimientoes «negativo», desvía a la ruta de Emergencia.Regla 2: Si es «baja», desvía a la ruta Normal.
Acciones Paralelas (App Nodes):
Ruta de Emergencia: Ejecuta un nodo de Telegram que envía un mensaje directo al gerente de turno con los detalles del cliente.
Ruta Normal: Ejecuta un nodo de Google Sheets que añade el registro a la bitácora diaria para ser respondido en orden de llegada.