Mapa de la ruta
Contenido detallado
⚙️ Configuración del entorno
Elige la plataforma, crea cuentas, configura credenciales y API keys de forma segura, entiende la anatomía de un workflow y ejecuta tu primer «hello world».
n8n es una plataforma de automatización open-source (self-host o cloud) con lógica visual en nodes; Make es una alternativa no-code 100% alojada. Necesitas una sola para construir.
La elección define el costo, el control de los datos y el límite de complejidad. n8n self-host es barato y flexible; Make es más rápido para empezar, pero cobra por operación.
Self-host vs cloud, costo por ejecución vs por operación, vendor lock-in, código cuando haga falta (n8n Code node).
Las credentials son objetos reutilizables que guardan una vez el acceso a un servicio (Gmail, OpenAI, Supabase) y lo reutilizan en todos los nodos.
Centralizar la credencial evita pegar la misma clave en 10 nodos y permite cambiar la contraseña desde un solo lugar cuando se filtre.
Credential type, OAuth vs API key, alcance de los permisos, cuenta de servicio dedicada a la automatización.
Las variables de entorno guardan valores fuera del código (claves, URLs, IDs) en un archivo .env o en el panel del servicio.
Separar la configuración de la lógica permite ejecutar el mismo flujo en desarrollo y producción con solo cambiar el entorno, sin editar nodos.
.env, $env en n8n, nunca hagas commit de secretos; usa valores por entorno.
Prácticas para que las claves y los tokens nunca aparezcan en logs, capturas de pantalla, repositorios ni en el cuerpo de las respuestas de webhook.
Una clave de LLM filtrada se convierte en una factura de miles de reales en horas. Un secreto expuesto es el error más caro de un principiante.
Rotación de claves, principio de mínimo privilegio, gestor de secretos, enmascarar datos en los registros.
Un workflow es un grafo: nodes (cajas que hacen algo) conectados por enlaces que pasan datos en formato de elementos JSON.
Entender que todo es "una lista de elementos que fluyen entre nodes" es el modelo mental que desbloquea todo lo demás.
Nodo, conexión, elemento, $json, trigger vs. acción, flujo de datos.
Un flujo mínimo: un Manual Trigger conectado a un nodo que escribe un mensaje — tu primera ejecución de punta a punta.
Demostrar que el entorno funciona elimina el 90% de la ansiedad. Ves datos salir de un node y entrar en el otro.
Manual Trigger, nodo Set/Edit Fields, ejecutar y leer la salida, panel de ejecución.
🔁 Primera automatización de punta a punta
Del trigger a la acción: dispara mediante webhook o agenda, recopila la entrada, llama a la IA, analiza la salida, ejecuta la acción y observa el resultado en funcionamiento.
El nodo que inicia el flujo: un Webhook responde a una llamada HTTP; un Schedule Trigger se activa en horarios definidos (cron).
El tipo de disparador define si la automatización es reactiva (alguien envía datos) o proactiva (se ejecuta sola cada hora).
URL del webhook, método HTTP, Schedule/cron, payload de entrada.
Extraer los campos importantes del elemento que entró: cuerpo del webhook, cadena de consulta o filas de una hoja de cálculo.
La IA es tan buena como el contexto que le das. Recopilar los campos correctos es la mitad de la calidad del resultado.
$json.body, nodo Set, expresiones ={{ }}, validación básica.
Enviar el prompt + los datos a un modelo mediante el nodo nativo (OpenAI/Anthropic) o mediante HTTP Request cuando no exista el nodo.
Es el corazón de la automatización con IA. Saber armar el prompt en el node y pedir una salida estructurada ahorra trabajo de parsing después.
System vs user prompt, temperature, JSON mode, costo por token.
Transformar la respuesta del modelo (texto) en campos estructurados que los siguientes nodos puedan usar.
Sin parsear, la salida es una cadena suelta. Estructurarla permite guardar datos en columnas, decidir con IF y mapear campos.
JSON.parse, nodo Code, analizador de salida estructurada, alternativa si llega con formato incorrecto.
El paso que genera el valor visible: enviar el correo electrónico, guardar la fila en la hoja de cálculo, insertar el registro en la base de datos.
Sin acción, solo hay procesamiento invisible. La acción es lo que el cliente percibe y paga.
Nodo de salida (Gmail/Sheets/Postgres), mapear campos, confirmar el éxito.
Ejecutar el flujo de verdad e inspeccionar, elemento por elemento, lo que entró y salió de cada nodo en el panel de ejecución.
Leer la ejecución es cómo depuras en automatización: el error casi siempre está en el formato de los datos entre dos nodos.
Execution log, pin data, re-run con input fijo, inspeccionar entrada/salida.
🔌 Integraciones y datos
Conecta el mundo: HTTP Request y APIs REST, autenticación Bearer/OAuth, leer y escribir en Supabase, hojas de cálculo, paginación y loops, y tratamiento de valores nulos en el mapeo.
El nodo HTTP Request se comunica con cualquier API REST: eliges el método, la URL, los headers y el body, y recibes la respuesta como un elemento.
Cuando no existe un node nativo, HTTP Request resuelve el problema. Saber usarlo desbloquea el 100% de las integraciones.
GET/POST/PUT/DELETE, código de estado, parámetros de consulta, cuerpo JSON.
Cómo la API demuestra quién eres: un token en el header Authorization: Bearer ... o un flujo OAuth con consentimiento.
El error 401 es el tropiezo n.º 1 en una integración. Entender Bearer vs OAuth resuelve la mayoría de los bloqueos.
Bearer token, OAuth2, refresh token, header Authorization.
Persistir datos en una base de datos (Supabase/Postgres): SELECT para leer, INSERT/UPDATE/UPSERT para guardar resultados.
La base de datos es la memoria de la automatización. Sin ella, cada ejecución lo olvida todo y no puedes evitar duplicados.
SELECT/INSERT/UPSERT, clave única, filtro WHERE, Supabase REST.
Usar Google Sheets como entrada (leer filas) o salida (append/update): la "base de datos" favorita de quienes no son desarrolladores.
El cliente entiende una hoja de cálculo. Entregar el resultado en una pestaña es la forma más rápida de mostrar valor sin capacitar a nadie.
Append row, update por clave, mapeo columna→campo, range.
Procesa muchos elementos en lotes y consulta páginas de una API con cursor/offset, en lugar de intentar hacerlo todo de una vez.
Las API limitan cuántos elementos devuelven por llamada e imponen un rate limit. La paginación es lo que separa un prototipo de un entorno de producción.
SplitInBatches, Loop Over Items, cursor/offset, rate limit, wait.
Usar expresiones para transformar y proteger datos: valor predeterminado cuando llega nulo, renombrar campos, dar formato a fechas.
Un campo nulo inesperado interrumpe el flujo a mitad de camino. Manejar los valores nulos es lo que hace que la automatización sea resistente a los datos sucios.
={{ $json.email ?? 'sem-email' }}, optional chaining ?., valor predeterminado, map.
🛡️ Confiabilidad
Lo que distingue un juguete de un servicio: manejo de errores, retries y timeouts, idempotencia, observabilidad, pruebas en un entorno de homologación y una checklist antes de pasar a producción.
Captura las fallas en vez de dejar que el flujo muera en silencio: error workflow global, rama de error del node, continue on fail.
En producción todo falla tarde o temprano. Quien gestiona los errores te avisa; quien no lo hace se entera por el cliente molesto.
Error Trigger, continue on fail, Stop and Error, rama de error.
Volver a ejecutar un nodo que falló por un motivo transitorio (API inestable, timeout), con una espera entre intentos.
Muchos fallos son temporales. Un reintento con backoff transforma «dio error» en «se resolvió solo en el 2.º intento».
Reintentar al fallar, número máximo de intentos, espera entre intentos, tiempo de espera, backoff.
Garantizar que ejecutar la misma entrada dos veces produzca el mismo efecto: que no cree dos registros ni envíe dos correos electrónicos.
Los reintentos y los webhooks vuelven a entregar. Sin idempotencia, cada reenvío genera un duplicado y el cliente recibe el mismo cobro 3 veces.
Clave idempotente, UPSERT, dedupe, comprobar antes de insertar.
Saber qué está haciendo la automatización: registrar las ejecuciones en un log y enviar una alerta (Slack/e-mail) cuando algo falla.
No puedes arreglar lo que no ves. Una alerta proactiva es la diferencia entre 5 minutos y 5 horas de pérdidas.
Log estructurado, alerta en Slack, métrica de éxito, execution history.
Un entorno separado (de pruebas) con datos de prueba para validar cambios antes de tocar producción.
Probar directamente en producción interrumpe el servicio del cliente en vivo. La homologación es tu red de seguridad.
Staging vs producción, datos de prueba, pin data, prueba de humo.
Una lista de verificación final: errores tratados, retries, idempotencia, alertas, secretos y plan de rollback listos.
La lista de verificación transforma «creo que está listo» en «está listo», y es lo que le muestras al cliente como garantía.
Lista de verificación para la puesta en marcha, reversión, monitoreo activo, responsable a cargo.