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_cliente es 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:

  1. Gmail Trigger: Escucha la bandeja de entrada pqrs@empresa.com. Extrae el remitente y el cuerpo del correo en texto plano.

  2. 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).»

  3. Switch Node (Lógica de Enrutamiento): Recibe el JSON de la IA.

    • Regla 1: Si urgencia es «alta» Y sentimiento es «negativo», desvía a la ruta de Emergencia.

    • Regla 2: Si es «baja», desvía a la ruta Normal.

  4. 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.