Primer workflow de n8n para recibir, clasificar, registrar y responder solicitudes.
Aprender n8n resulta mucho más fácil cuando dejamos de mirar una pantalla vacía y construimos algo que resuelve un problema reconocible. En este tutorial vamos a crear una automatización completa: recibirá una solicitud mediante un formulario, normalizará los datos, utilizará inteligencia artificial para clasificar el mensaje, guardará el resultado en Google Sheets y enviará una confirmación por correo.
No necesitas haber programado antes. Sí conviene entender qué información entra en cada paso y qué debería salir. Esa forma de pensar —entrada, transformación, condición y salida— es la base de casi cualquier workflow de n8n.
Qué vas a construir
Imagina una pequeña empresa que recibe consultas desde su web. Cada persona indica nombre, correo, asunto y mensaje. El equipo quiere registrar la consulta, distinguir entre ventas, soporte y otros temas, y confirmar que la ha recibido. El flujo tendrá esta forma:
- Un formulario recibe los datos.
- Un nodo de edición limpia y organiza los campos.
- Un modelo de IA asigna categoría, prioridad y resumen.
- Una condición comprueba que el resultado sea válido.
- Google Sheets guarda la solicitud.
- Gmail envía un acuse de recibo.
- Si algo falla, una rama de error deja constancia para revisarlo.
La idea está inspirada en casos reales publicados en la biblioteca de n8n. Por ejemplo, existe una plantilla de onboarding con formulario, OpenAI, Sheets, Gmail y Slack. Aquí construiremos una versión más pequeña para entenderla, no para copiar nodos sin saber qué hacen.

Antes de empezar: opciones y requisitos
Puedes utilizar n8n Cloud o una instalación propia. Para un primer ejercicio, la versión en la nube reduce la configuración. Si prefieres controlar el servidor, las credenciales y las copias de seguridad, el autoalojamiento puede resultar interesante, pero añade trabajo técnico. La documentación de hosting de n8n explica las opciones oficiales.
| Necesitas | Para qué sirve | Alternativa durante la prueba |
|---|---|---|
| Cuenta o instancia de n8n | Crear y ejecutar el workflow | Prueba disponible en n8n Cloud |
| Cuenta de Google | Conectar Sheets y Gmail mediante OAuth | Guardar datos en la tabla interna y omitir el email |
| Proveedor de modelo de IA | Clasificar y resumir el mensaje | Usar reglas con un nodo Switch |
| Hoja con encabezados | Registrar cada solicitud | Airtable, Notion o una base de datos |
| Datos ficticios | Probar sin exponer información real | Generar cinco ejemplos manualmente |
Crea una hoja llamada Solicitudes con estas columnas: fecha, nombre, email, asunto, mensaje, categoría, prioridad, resumen y estado. Respeta los nombres durante el tutorial; después podrás adaptarlos.
Paso 1: crear el workflow y añadir el formulario
En n8n, crea un workflow nuevo y ponle un nombre que describa el proceso, por ejemplo «Clasificación de solicitudes web». Evita nombres como «Workflow 1»: dentro de unos meses resultará difícil distinguirlo de otros.
Añade Form Trigger. Crea cuatro campos:
- Nombre: texto corto y obligatorio.
- Email: correo electrónico y obligatorio.
- Asunto: texto corto.
- Mensaje: texto largo y obligatorio.
El trigger proporciona una URL de prueba y otra de producción. Mientras construyes, utiliza la de prueba. La URL de producción solo funcionará correctamente cuando publiques o actives el workflow, según la versión y configuración.
Envía un formulario ficticio y abre la salida del nodo. Verás un objeto con los campos y algunos metadatos. Ese objeto es el «paquete» que viajará por las conexiones.
Paso 2: normalizar los datos con Edit Fields
Añade un nodo Edit Fields —en versiones anteriores puede aparecer como Set—. No es un paso vistoso, pero ayuda a que el resto del flujo sea predecible. Crea estos campos:
- nombre: toma el valor del formulario y elimina espacios innecesarios.
- email: convierte el correo a minúsculas.
- asunto: conserva el asunto o utiliza «Sin asunto» si llega vacío.
- mensaje: conserva el cuerpo completo.
- fecha: utiliza la fecha de ejecución.
En n8n, una expresión se reconoce por sus llaves y por el editor dinámico. No memorices sintaxis durante el primer día: arrastra el dato desde el panel de entrada y observa la expresión generada. El objetivo es entender la referencia, no escribirla de memoria.
Paso 3: clasificar con IA sin perder el control
Conecta un nodo de modelo compatible y un nodo de agente o cadena. Para este caso no necesitamos una personalidad extensa. Necesitamos un contrato de salida. Pide que devuelva únicamente tres campos:
- categoria: ventas, soporte u otro.
- prioridad: alta, media o baja.
- resumen: una frase factual de un máximo de 25 palabras.
Un prompt posible sería:
Clasifica la solicitud sin inventar información. Usa solo las categorías ventas, soporte u otro; y las prioridades alta, media o baja. Resume el problema en una frase factual. Devuelve JSON válido con las claves categoria, prioridad y resumen. Mensaje: [campo mensaje].
Utiliza un Structured Output Parser si está disponible. Obligar a generar una estructura reduce fallos en los nodos siguientes. El principio es el mismo que explicamos en nuestra guía de prompt engineering: una instrucción útil define contexto, tarea, restricciones y formato de salida.
No envíes datos reales mientras pruebas. Además, revisa la política de retención del proveedor del modelo. Automatizar no elimina las obligaciones de privacidad.
Paso 4: validar antes de guardar
Una automatización robusta no confía ciegamente en la salida anterior. Añade un nodo If para comprobar que categoría y prioridad existen. Puedes ser más estricto y verificar que la categoría pertenece al conjunto permitido.
La rama verdadera continuará hacia Sheets. La falsa puede ir a un nodo que guarde el error o envíe una alerta al responsable. Esta pequeña bifurcación evita que una salida inesperada ensucie la hoja o provoque un correo extraño.
Paso 5: conectar Google Sheets
Añade Google Sheets, elige la operación para añadir una fila y crea una credencial OAuth. La primera autorización suele ser el punto donde más principiantes se detienen. Sigue el asistente de credenciales y concede solo los permisos necesarios.
Selecciona el documento y la pestaña Solicitudes. Mapea cada columna con el dato correspondiente. Para estado, escribe «Nuevo». Ejecuta el nodo con un ejemplo y comprueba directamente la hoja.
n8n mantiene una plantilla oficial de iniciación que demuestra las operaciones leer, añadir y actualizar filas en Google Sheets. Es una referencia útil cuando quieras ampliar este ejercicio para modificar una solicitud ya existente.
Paso 6: enviar una confirmación por correo
Conecta Gmail después de Sheets. De este modo, el correo solo se intenta enviar si el registro se ha guardado. Configura el destinatario con el email del formulario y escribe un mensaje sencillo:
Hola [nombre], hemos recibido tu solicitud sobre [asunto]. Nuestro equipo la revisará y responderá por este mismo medio. Número de referencia: [identificador de ejecución].
No incluyas la clasificación interna ni datos que el usuario no deba ver. Tampoco pidas al modelo que redacte cada confirmación si el contenido es fijo: una plantilla consume menos, es más rápida y reduce sorpresas. Reserva la generación para situaciones donde aporte valor real.
Paso 7: probar como si quisieras romperlo
Una ejecución correcta no demuestra que el workflow esté listo. Crea al menos estas pruebas:
- Mensaje normal de ventas.
- Incidencia urgente de soporte.
- Texto ambiguo que debería quedar en «otro».
- Email con mayúsculas y espacios.
- Mensaje muy largo.
- Respuesta del modelo con un campo vacío.
Revisa el historial de ejecuciones, los datos de cada nodo y el resultado final. Cuando algo falle, identifica el primer nodo donde la salida deja de ser la esperada. Depurar de izquierda a derecha suele ser más eficaz que cambiar varios pasos a la vez.
Errores típicos y cómo resolverlos
| Problema | Causa probable | Solución |
|---|---|---|
| El formulario funciona en pruebas, pero no en producción | Workflow inactivo o URL equivocada | Activa el workflow y utiliza la URL de producción |
| Sheets no muestra columnas | Encabezados ausentes o documento equivocado | Crea la primera fila y vuelve a seleccionar la pestaña |
| El modelo devuelve texto alrededor del JSON | Formato poco restringido | Añade parser estructurado y esquema |
| El email se envía dos veces | Reejecución o falta de idempotencia | Guarda un identificador y comprueba si ya fue procesado |
| Los campos aparecen vacíos | Expresión apunta a una ruta antigua | Abre la entrada del nodo y vuelve a mapear |
Cómo pasar de ejercicio a automatización de verdad
Antes de activar el flujo para usuarios reales, añade una política de retención, límites de longitud, tratamiento de errores y avisos. Configura credenciales con una cuenta de servicio cuando corresponda y evita compartir una cuenta personal entre todo el equipo.
También conviene separar clasificación y respuesta. La IA puede sugerir una contestación, pero un mensaje sensible debería pasar por revisión humana. Nuestra guía para automatizar atención al cliente con Zapier y OpenAI muestra un enfoque complementario y te ayudará a comparar plataformas.
Cuando domines este ejercicio, puedes cambiar el Form Trigger por un Webhook, conectar un CRM, avisar por Slack o crear un seguimiento. Es la misma arquitectura con piezas distintas. Incluso un bot de contenidos, como el que desarrollamos en nuestro tutorial de noticias automáticas para X, nace de esa combinación de trigger, transformación y salida.
Preguntas frecuentes sobre n8n
¿Hace falta saber programar para usar n8n?
No para construir flujos básicos. Entender objetos, condiciones y APIs ayuda a avanzar. Los nodos Code permiten JavaScript, pero no son obligatorios para el tutorial de esta página.
¿n8n es gratis?
n8n ofrece una edición que puede autoalojarse y un servicio Cloud con sus propios planes. Autoalojar no significa coste cero: hay que contar servidor, copias, actualizaciones, seguridad y tiempo de mantenimiento.
¿Puedo utilizar otro modelo que no sea OpenAI?
Sí. n8n dispone de integraciones con distintos proveedores y también puede llamar a APIs mediante HTTP Request. Cambia el nodo manteniendo el contrato de salida para que el resto del workflow no tenga que modificarse.
¿Por qué conviene usar JSON estructurado?
Porque los nodos posteriores necesitan campos previsibles. Un párrafo libre puede ser agradable de leer, pero es difícil de validar y mapear. Un esquema permite detectar inmediatamente una salida incompleta.
¿Cómo evito procesar dos veces la misma solicitud?
Guarda un identificador único —por ejemplo, el ID del formulario— y comprueba antes de crear la fila. Este patrón se llama idempotencia y es esencial cuando hay reintentos.
Lo importante que debes llevarte
Tu primer workflow no tiene que ser espectacular. Tiene que ser comprensible, comprobable y útil. El flujo de este tutorial recibe información, la normaliza, aplica una decisión asistida por IA, valida el resultado y produce dos acciones observables. Además, contempla el error en lugar de ocultarlo.
Si entiendes qué entra y sale de cada nodo, ya tienes la base para construir automatizaciones mucho más ambiciosas. Añade una sola pieza cada vez, prueba con datos ficticios y documenta las decisiones dentro del propio workflow. Ese hábito vale más que importar cien plantillas.
2 comentarios en «Curso de n8n desde cero: crea tu primera automatización paso a paso»