Construyendo tu primera automatización robusta
Esta lección integra los conceptos de n8n para construir una automatización completa y funcional. Creará un workflow que combina triggers, nodos de acción, lógica condicional y consumo de API. El objetivo es que el alumno diseñe, implemente y pruebe un caso práctico.

Planteamiento del caso de uso
Para esta lección, construiremos un workflow que monitorea una fuente de datos externa y, ante una condición específica, notifica a un canal de comunicación interno. Este tipo de automatización es común en la integración de sistemas y la supervisión operativa.
El escenario es el siguiente: un servicio externo (simulado por una API pública) publica periódicamente el estado de un sistema. Si el estado reportado indica un problema (ej. 'offline' o 'error'), n8n debe enviar una alerta a un canal de Slack o Microsoft Teams.
Diseño del Workflow: Componentes y Flujo
El workflow se estructurará en varias etapas clave para asegurar su robustez y capacidad de respuesta. Cada etapa utiliza nodos específicos que ya hemos explorado en lecciones anteriores.
- Trigger (Webhooks): El workflow se activará mediante un webhook. Esto simula que el sistema externo nos 'avisa' cuando hay una actualización. Podría ser un cron job si n8n tuviera que 'preguntar' periódicamente.
- HTTP Request (Consumo de API): Una vez activado, el workflow hará una llamada HTTP a una API externa para obtener el estado actual del sistema. Utilizaremos una API de prueba que devuelve un estado simulado.
- Lógica Condicional (IF): El nodo IF evaluará la respuesta de la API. Si el estado indica un problema, el flujo continuará por una rama; de lo contrario, terminará o tomará otra acción.
- Notificación (Slack/Microsoft Teams): En la rama de 'problema', se enviará un mensaje al canal de comunicación configurado. Este nodo requiere credenciales de acceso preconfiguradas.
Siempre priorice el uso de Webhooks como trigger si el sistema fuente lo permite. Esto reduce la carga en n8n y en el sistema fuente, ya que la comunicación es reactiva en lugar de proactiva (polling).
Implementación Paso a Paso
- Paso 1: Configurar el Trigger Webhook. - Arrastre un nodo 'Webhook' al canvas. - En la configuración, seleccione 'POST' como método HTTP. Copie la 'Webhook URL' que n8n genera; esta URL será el punto de entrada de su automatización.
- Paso 2: Realizar la Solicitud HTTP. - Conecte un nodo 'HTTP Request' al Webhook. - Configure el método como 'GET'. - Para la URL, usaremos una API de prueba. Por ejemplo, `https://jsonplaceholder.typicode.com/todos/1` para simular una respuesta JSON. En un caso real, sería la URL de su servicio. - Asegúrese de que la salida del HTTP Request sea JSON.
- Paso 3: Evaluar la Condición con un Nodo IF. - Conecte un nodo 'IF' al 'HTTP Request'. - En la sección 'Conditions', agregue una condición. Por ejemplo, si la API de prueba devuelve un objeto con la clave 'completed' y su valor es 'false', lo consideraremos un 'problema'. - Expresión de ejemplo: `{{ $json.completed === false }}`. (Para una API real, sería algo como `{{ $json.status === 'error' }}` o `{{ $json.health === 'offline' }}`).
- Paso 4: Enviar la Notificación. - Conecte un nodo 'Slack' (o 'Microsoft Teams') a la rama 'True' del nodo IF. - Configure la credencial de su espacio de trabajo (previamente creada en 'Credentials'). - En el campo 'Message', construya un mensaje dinámico utilizando expresiones para incluir datos del HTTP Request. Por ejemplo: `¡Alerta! El sistema reporta un estado crítico. ID: {{ $json.id }}, Título: {{ $json.title }}`.
Este flujo básico cubre los principales componentes. Para mayor robustez, se podrían añadir nodos 'Set' para formatear datos, 'Error Trigger' para manejo de fallos, o 'Wait' para pausas.
Pruebas y Depuración
Una vez construido el workflow, la fase de pruebas es crítica. Utilice el botón 'Execute Workflow' en el editor y el panel de 'Executions' para monitorear el flujo de datos y la ejecución de cada nodo.
- Ejecuciones Manuales: Inicie el workflow manualmente para ver cómo fluyen los datos a través de cada nodo. Verifique la salida de cada nodo en el panel 'Executions'.
- Prueba de Condiciones: Modifique temporalmente la respuesta de la API (si es posible) o las condiciones del nodo IF para forzar ambos caminos (True/False) y asegurar que las notificaciones se envían solo cuando corresponde.
- Verificación de Notificaciones: Confirme que los mensajes llegan correctamente al canal de Slack/Teams y que el contenido es el esperado.
Si encuentra errores, revise el panel 'Executions' para identificar el nodo que falló y examine los datos de entrada y salida para diagnosticar el problema. Las expresiones son una fuente común de errores; verifique la sintaxis y los nombres de las propiedades JSON.
Aplicación Práctica: Activación y Monitoreo Continuo
Para el lunes, su tarea es activar este workflow en modo 'Active'. Esto significa que estará listo para recibir activaciones desde la URL del webhook. Comparta la URL del webhook con un compañero y pídale que simule una llamada POST a esa URL (puede usar herramientas como Postman, Insomnia o `curl`).
curl -X POST <URL_DE_SU_WEBHOOK>Monitoree el panel de 'Executions' para observar cómo el workflow procesa las llamadas y si las notificaciones se disparan correctamente. Este ejercicio le dará una experiencia directa con la operación de un workflow en un entorno simulado de producción.
No hay comentarios por ahora.