Curso
n8n: Una guía con ejemplos prácticos
n8n ha surgido como un marco popular y potente en la IA agéntica. Nos permite crear flujos de trabajo automatizados sin necesidad de codificación compleja.
En este artículo, te explicaré paso a paso cómo aprovechar al máximo esta robusta plataforma para automatizar dos procesos distintos:
- En primer lugar, te guiaré en la configuración de un agente de IA para procesar automáticamente el correo electrónico de Gmail, ahorrando un tiempo valioso y reduciendo el esfuerzo manual.
- Después, crearemos un agente inteligente que pueda chatear sobre cualquier documento, proporcionando un acceso rápido a la información al alcance de nuestra mano.
Mantenemos a nuestros lectores al día de lo último en IA enviándoles The Median, nuestro boletín gratuito de los viernes que desglosa las noticias clave de la semana. Suscríbete y mantente alerta en sólo unos minutos a la semana:
¿Qué es n8n?
n8n es una herramienta de automatización de código abierto que nos ayuda a conectar varias aplicaciones y servicios para crear flujos de trabajo, como una cadena de montaje digital. Permite a los usuarios diseñar visualmente estos flujos de trabajo con nodos, cada uno de los cuales representa un paso diferente del proceso.
Con n8n, podemos automatizar tareas, gestionar el flujo de datos e incluso integrar API, todo ello sin necesidad de grandes conocimientos de programación. Aquí tienes un ejemplo de automatización que construiremos en este tutorial:
Sin entrar en detalles, aquí tienes una descripción de lo que hace esta automatización:
- Accede a nuestra cuenta de Gmail para comprobar si hay nuevos mensajes de correo electrónico.
- Los nuevos correos electrónicos se envían a ChatGPT para que los procese la IA.
- La IA identifica la información relevante, que luego se guarda en una hoja de cálculo.
¿Cómo utilizar n8n?
Tenemos dos opciones para utilizar n8n:
- Utiliza su interfaz web aquí. Requiere una cuenta y una suscripción de pago, pero tiene una prueba gratuita de 14 días que puedes utilizar para seguir este tutorial.
- Como es de código abierto, también podemos ejecutarlo localmente o alojarlo nosotros mismos. Es gratuito y da acceso a casi todas sus funciones (algunas funciones son exclusivas de sus planes de pago en la nube o para empresas).
Ambas opciones te permiten seguir este tutorial sin coste alguno. Lo ejecutaremos localmente, pero si prefieres utilizar la interfaz web, los pasos son los mismos.
n8n Configuración local
El repositorio oficial de n8n explica cómo configurar n8n localmente. La forma más sencilla es
- Descarga e instala Node.js desde el sitio web oficial.
- Abre un terminal y ejecuta el comando
npx n8n
.
Eso es. Después de ejecutar el comando, deberías ver esto en el terminal:
Para abrir la interfaz, pulsa "o" en el teclado o abre la URL localhost que aparece en el terminal -en mi caso, http://localhost:5678
.
Comprender n8n
Antes de construir nuestra primera automatización, es bueno entender cómo funciona n8n. Un flujo de trabajo n8n consiste en una secuencia de nodos. Comienza con un nodo desencadenante que especifica una condición para que se ejecute el flujo de trabajo.
Los nodos se conectan para mover y procesar datos. En este ejemplo, el nodo activador de Gmail se conecta a un nodo OpenAI. Esto significa que el correo electrónico se entrega a ChatGPT para su procesamiento. Por último, la salida de ChatGPT se envía a un nodo de Hoja de Google, que se conecta a una Hoja de Google en nuestro Google Drive y escribe una nueva línea en una hoja de cálculo.
Este flujo de trabajo concreto utiliza ChatGPT para identificar las facturas que deben pagarse y asigna una línea en la hoja con el ID de la factura y el precio.
Los flujos de trabajo de n8n pueden ser mucho más complejos. n8n admite más de 1.047 integraciones, por lo que no podemos abarcarlas todas en un tutorial. En su lugar, me centraré en darte una idea general de cómo funciona y los antecedentes necesarios para que lo explores por tu cuenta. Si hay alguna herramienta que utilices habitualmente, lo más probable es que n8n sea compatible con ella o que puedas integrarla manualmente.
Ejemplo 1: Automatizar el procesamiento de facturas desde el correo electrónico
En esta sección, aprenderemos a construir el flujo de trabajo anterior.
Este es un caso de uso real que utilizo para gestionar mis facturas de alquiler. Tengo una casa con algunas habitaciones que alquilo. Las facturas se dividen a partes iguales entre todos los inquilinos. Cada vez que recibo una factura, tengo que añadir el total a una hoja de cálculo que se comparte con mis inquilinos.
Tengo una dirección de correo electrónico específica a la que se envían las facturas relacionadas con las facturas de la casa. De esta forma, sé que todos los correos de ese buzón corresponden a una factura. Envío el contenido del correo electrónico a ChatGPT para identificar el ID de la factura y el importe total a pagar. A continuación, esta información se añade a una nueva fila de la hoja de cálculo compartida.
Configurar el activador de correo electrónico
Para iniciar un nuevo flujo de trabajo, tenemos que hacer clic en el botón "Añadir primer paso...".
Como es el primer nodo, debe ser un activador, así que se nos presenta un panel para seleccionar un nodo activador. Un nodo desencadenante define las condiciones para que se ejecute el flujo de trabajo.
Hay una amplia gama de posibles nodos desencadenantes. Seleccionemos un nodo activador de Gmail escribiendo "gmail" en el cuadro de búsqueda y haciendo clic en el nodo Gmail.
A continuación, elegimos el único activador disponible para Gmail: "Mensaje recibido".
Esto abrirá el panel de configuración del nodo, donde tenemos que configurar nuestras credenciales de Gmail para permitir que el flujo de trabajo n8n acceda a nuestra cuenta de Gmail. Para ello, haz clic en "Nueva credencial". Se abrirá la siguiente ventana:
En la parte derecha (1), hay una guía de configuración que explica los pasos necesarios para configurar las credenciales en Nube de Google. Las guías proporcionadas por n8n son bastante completas, así que no repetiremos los pasos aquí. Asegúrate de habilitar también la API de Gmail en la Consola en la Nube de Google.
Una vez configurado, tenemos que copiar el ID de cliente (2) y el secreto de cliente (3) de Google Cloud en la configuración de credenciales de n8n.
Para asegurarnos de que todo está correctamente configurado, podemos probar el nodo haciendo clic en "Obtener evento de prueba".
Después de la prueba, deberíamos ver el último correo electrónico que hemos recibido en nuestra bandeja de entrada en la sección de salida. El contenido del correo electrónico es el campo snippet
.
El campo snippet
almacena el contenido del correo electrónico. Dice que mi factura de Internet de abril está disponible. Proporciona el ID de la factura y el importe total a pagar. Esta es la información que queremos añadir a la hoja de cálculo.
Para realizar pruebas, te recomiendo que ancles la salida haciendo clic en el botón de anclaje de la esquina superior derecha:
Esto bloqueará el resultado al desencadenante, lo que significa que siempre que ejecutemos este flujo de trabajo, se utilizará este mismo resultado, lo que facilita la prueba del flujo de trabajo porque los resultados no se verán afectados por los nuevos correos electrónicos que podamos recibir. Lo desanclaremos una vez que el flujo de trabajo esté correctamente configurado.
En esta fase, nuestro flujo de trabajo debería tener un único nodo desencadenante (podemos ver que es un nodo desencadenante por el pequeño marcador de rayo de la izquierda).
Ten en cuenta que, como es probable que no tengas una factura por correo electrónico en tu buzón, más adelante ChatGPT te dará una respuesta que no tiene sentido. Si quieres probar exactamente este flujo de trabajo, puedes enviarte un correo electrónico de prueba con el siguiente contenido (o algo similar):
Dear customer,
Your internet invoice number FT 2025**/****** for April is now available in the attachment.
Amount
€**.**
This invoice must be paid by 19/05/2025.
Después de enviarlo, debes desanclar el resultado, volver a ejecutar el nodo de Gmail y anclar el nuevo resultado.
Configurar el nodo ChatGPT
El siguiente paso es configurar el nodo OpenAI. Empieza haciendo clic en el botón "+" situado a la derecha del nodo desencadenante de Gmail:
Escribe "OpenAI" y selecciona la opción correspondiente de la lista.
Después, en "Acciones de texto", selecciona el nodo "Mensaje a un modelo". Este nodo se utiliza para mensajear un LLM.
Como antes, necesitamos crear una credencial para acceder a OpenAI. Ten en cuenta que una vez creada una credencial, puede reutilizarse en cualquier flujo de trabajo. No es necesario ajustarlo cada vez.
Para la credencial OpenAI, todo lo que necesitamos es una clave API. Si no tienes una, puedes crearla aquí. Si tienes problemas para hacerlo, n8n también proporciona una guía para ello.
En cuanto a la configuración, tenemos que seleccionar el modelo de IA que queremos utilizar y el mensaje que enviamos al modelo. Para el modelo, podemos utilizar la GPT 4.1:
En el campo de mensaje, tenemos que proporcionar el aviso. Para este ejemplo, le damos al modelo el contenido del correo electrónico y le pedimos que identifique el ID de la factura y el importe total a pagar. Este es el mensaje que utilicé:
El contenido del correo electrónico se facilita en {{ $json.snippet }}
. En n8n, el aviso puede contener variables que se rellenan a partir de la salida de nodos anteriores, el correo electrónico en nuestro caso. La lista de campos disponibles puede verse a la izquierda. Podemos escribir el campo manualmente o arrastrarlo y soltarlo en el indicador.
Para probarlo, hacemos clic en el botón "Probar paso" situado en la parte superior del panel de configuración. El resultado se muestra a la derecha:
El resultado es una cadena con la respuesta del modelo. Nos gustaría tener los dos campos por separado, para no tener que procesar más el mensaje. Podemos conseguirlo cambiando la salida del LLM a JSON:
Probando de nuevo este paso, obtenemos los dos campos como datos JSON:
Enviar los datos a una Hoja de Google
El paso final de este flujo de trabajo es enviar el ID de la factura y el precio a una nueva fila de una Hoja de Google. En esta fase, tenemos que conectar la salida del nodo OpenAI a Google Sheets. Lo hacemos como antes, pulsando el botón "+" a la izquierda del nodo:
Aquí queremos escribir Google Sheets y seleccionar el nodo "Añadir fila en hoja":
Podemos utilizar las mismas credenciales que utilizamos para acceder a Gmail. Pero necesitamos habilitar las siguientes API en la Consola en la nube de Google:
- Google Sheets API
- Google Drive API
Para configurar el nodo Hojas de Google, tenemos que seleccionar la hoja y seleccionar los valores para rellenar los campos. La hoja debe crearse manualmente con dos columnas, una para el ID de la factura y otra para el total de la factura.
Esos valores se toman de la salida del nodo OpenAI. Podemos arrastrarlas y soltarlas en las columnas.
Ejecutar el flujo de trabajo
Eso es. Tenemos un flujo de trabajo que procesará automáticamente nuestras facturas en una hoja de Google. Podemos probarlo haciendo clic en "Probar flujo de trabajo" en la parte inferior:
Después de ejecutarlo, si vamos a nuestra Hoja de Google, veremos una nueva fila con los datos:
Por defecto, un flujo de trabajo se ejecutará cada minuto. Dependiendo del flujo de trabajo, debemos configurar una frecuencia adecuada para que se ejecute. En este ejemplo concreto, una vez por minuto es demasiado frecuente. Una vez al día es una frecuencia más adecuada.
Podemos configurarlo haciendo doble clic en el nodo activador y estableciendo un valor diferente en el campo "Tiempos de sondeo":
Ejemplo 2: Construir un Agente RAG
En esta sección, construimos un flujo de trabajo de agente RAG más complejo. RAG son las siglas de retrieval-augmented generation, una técnica que combina la recuperación de información relevante de una base de datos o un documento y el uso de un modelo lingüístico para generar respuestas basadas en la información recuperada.
Esto es muy útil cuando tenemos una base de conocimientos específica, como un documento de texto largo, y queremos construir un agente de IA que sea capaz de responder a preguntas sobre ella.
Me gusta jugar a juegos de mesa, pero mis amigos y yo a menudo discutimos sobre las reglas y luego pasamos el tiempo buscando las reglas correctas en vez de jugando, lo que puede ser frustrante. Construir un agente RAG basado en las reglas del juego es una buena solución para arreglar este problema, porque la próxima vez que tengamos una pregunta, simplemente se la podemos hacer al agente.
Para construir este agente, haremos dos flujos de trabajo:
- Un flujo de trabajo que ejecutaremos una sola vez para cargar los datos en una base de datos Pinecone.
- Otro que potencia el agente RAG y utiliza la base de datos Pinecone para responder a nuestras preguntas.
Cargar los datos en Pinecone
La piña es un tipo de base de datos que gestiona datos en forma de vectores. Una base de datos vectorial como Pinecone es estupenda para nuestro agente RAG porque le ayuda a buscar y comprender rápidamente la información relevante, lo que le hace más eficaz a la hora de dar respuestas precisas.
Como sólo tenemos que ejecutar este flujo de trabajo una vez, podemos utilizar un nodo activador manual. Es un nodo desencadenante que se utiliza para ejecutar manualmente un flujo de trabajo.
Conecta el nodo de activación manual a un nodo "Google Drive" para descargar los datos de Google Drive.
Utiliza la siguiente configuración:
Utilicé el archivo disponible públicamente mtgrules.txt
con las reglas del juego de cartas coleccionables Magic: La Reunión. Puedes utilizar cualquier archivo sobre el que quieras hacer preguntas; el flujo de trabajo es el mismo.
Para configurar Pinecode, entra en Pineconecopia la clave API y crea un índice haciendo clic en el botón "Crear índice". Llamé a mi índice rules
y seleccioné el modelo text-embedding-3-small
.
De vuelta al n8n, conecta la salida del nodo Google Drive a un nodo Pinecone Vector Store para la acción "Añadir documentos al almacén vectorial":
Para configurar el nodo, tenemos que crear una credencial pegando la clave API y seleccionando el Índice Pinecone que acabamos de crear. Debajo del nodo Pinecone Vector Store, vemos dos cosas que tenemos que configurar: un modelo de incrustación y un cargador de datos.
Para la incrustación, crea un nodo OpenAI Embedding con el modelo text-embedding-3-small
:
Para el cargador de datos, creamos un nodo Cargador de datos por defecto con un tipo de datos binario:
Por último, el cargador de datos requiere un nodo Divisor de Texto, que especifica cómo deben dividirse los datos del archivo al crear el almacén vectorial. Utilizamos el nodo Divisor de Texto Recursivo de Caracteres, que es el nodo recomendado para la mayoría de las aplicaciones.
Lo configuramos para que utilice un tamaño de trozo de 1.000 y un solapamiento de trozo de 200:
Al elegir el tamaño y el solapamiento de los trozos, considera la posibilidad de utilizar un tamaño de trozo mayor para los documentos largos, a fin de capturar el contenido adecuado, y un solapamiento menor para mantener el contexto entre los segmentos sin redundancia.
Este es el aspecto del flujo de trabajo final:
Podemos ejecutarlo haciendo clic en "Probar flujo de trabajo", y una vez hecho, podemos verificar en Pinecone que se han cargado los datos.
Crear un agente RAG
Éste es el esquema final del agente RAG:
Como ejercicio, te animo a que intentes comprenderlo y quizá incluso recrearlo tú mismo localmente antes de seguir leyendo.
Empezamos con un nodo activador "En mensaje de chat". Se utiliza para crear un flujo de trabajo de chat.
A continuación, conectamos el activador del chat a un nodo "Agente IA" con las opciones predeterminadas.
Debajo del Agente IA, vemos que podemos configurar tres cosas:
- El modelo de IA utilizado por el agente.
- La memoria define cómo recuerda el agente el contexto de la conversación
- Las herramientas a las que tiene acceso el agente. En este caso, proporcionaremos la base de datos Pinecone como herramienta para que el agente pueda responder a preguntas sobre nuestro documento.
Para el modelo de IA, seleccionamos un nodo "OpenAI Chat Model" y utilizamos el modelo gpt-4.1
:
Para la memoria, utilizamos un nodo "Memoria simple" con una ventana de contexto de longitud 5. Esto significa que el agente recordará y tendrá en cuenta las cinco interacciones anteriores al responder.
Por último, en la herramienta, añadimos un nodo "Pinecone Vector Store" con la siguiente configuración:
En el campo de descripción, es importante especificar cuándo deben utilizarse las herramientas. Esto es lo que el agente utilizará para determinar si debe llamar a la herramienta.
Lo último que necesitamos es configurar la incrustación utilizada por el almacén vectorial. Como antes, utilizamos un nodo de incrustación OpenAI con el modelo text-embedding-3-small
:
El flujo de trabajo está completo, y podemos chatear con el agente. He aquí un ejemplo:
Podemos ver a la derecha los pasos que dio el agente para responder a nuestra pregunta. En concreto, accedió a la base de datos Pinecone para obtener la información de las normas pertinentes.
Plantillas n8n
n8n ofrece una útil función que puede acelerar significativamente nuestro proceso de creación de flujos de trabajo: la biblioteca de plantillas n8n.
Esta biblioteca es una colección de flujos de trabajo preconstruidos, elaborados por la comunidad y expertos de n8n. Tanto si tratamos de automatizar tareas sencillas como procesos más complejos, lo más probable es que alguien ya haya creado un flujo de trabajo adecuado a nuestras necesidades.
Importar un flujo de trabajo a nuestra configuración n8n significa que no siempre tenemos que empezar de cero. En su lugar, podemos aprovechar las soluciones creativas que han desarrollado otros usuarios. Una vez que hayamos importado un flujo de trabajo, todo lo que tenemos que hacer es configurarlo con nuestras credenciales y ajustarlo para que se adapte a nuestros requisitos exactos.
Para cualquier tarea que queramos automatizar, desde el procesamiento del correo electrónico hasta la gestión de las redes sociales, es muy probable que haya una plantilla disponible en la biblioteca.
Conclusión
n8n ofrece un vasto ecosistema de integraciones, que nos permite conectar más de mil servicios y herramientas para crear agentes de IA. En este tutorial sólo hemos arañado la superficie de lo que el n8n puede hacer. Al explorar cómo utilizar n8n para construir agentes de IA que automaticen las tareas cotidianas, acabamos de empezar a aprovechar su potencial.
Aprende IA con estos cursos

blog
Cinco proyectos que puedes crear con modelos de IA generativa (con ejemplos)
blog
10 maneras de utilizar ChatGPT para las finanzas
Tutorial
RAG Con Llama 3.1 8B, Ollama y Langchain: Tutorial

Ryan Ong
12 min

Tutorial
Guía para principiantes de la API de OpenAI: Tutorial práctico y prácticas recomendadas
Tutorial
Construir agentes LangChain para automatizar tareas en Python

Tutorial