MI PRIMERA AUTOMATIZACIÓN · n8n

Consultor Automático de Negocios

Lo construí desde cero, nodo por nodo. Un formulario capta un cliente y, en menos de un minuto, le llega por correo un análisis completo con métricas, consejos y precio. 16 nodos. Cero intervención.

1 La gran idea

Todo lo que se repite a mano se puede automatizar. El patrón es siempre el mismo: algo entra → se procesa/calcula → se decide → sale un resultado. Si domino este patrón, puedo automatizar casi cualquier cosa.

2 El flujo que construí · lienzo real de n8n

form_consultor_negocio
Formulario · 11 campos
set_mapear_campos
Nombres limpios
http_tipo_cambio
USD→soles (API)
calcular_metricas
LTV · CAC · ROI
switch_tipo_negocio
5 rutas
set_reco × 5
consejo por rubro
merge_recomendaciones
reúne las 5
generar_insights
3 consejos
code_armar_html
email bonito
filter_email_valido
portero @
enviar_reporte
Gmail SMTP 📩
+

← desliza para recorrer el flujo · 16 nodos, cero intervención →

3 Los conceptos que aprendí (lo más importante)

🔌 Disparador (Trigger)

Todo flujo necesita algo que lo encienda. El mío se enciende cuando alguien envía el formulario. Sin trigger, nada arranca.

🏷️ El Label es la llave (JSON: key → value)

Cada campo se vuelve un dato con nombre. El nombre (Label) es el puente con el que los siguientes nodos buscan ese dato. Por eso deben coincidir EXACTO (mayúsculas incluidas: email ≠ Email).

🔗 Expresiones ({{ }})

{{ $json.ltv }} significa "aquí va un dato de otro nodo, no texto fijo". Se llenan fácil arrastrando el campo del panel INPUT.

📌 Fijar datos (Pin)

El trigger es "en vivo" y por eso al abrir un nodo se quedaba girando. La chincheta congela un ejemplo para construir tranquilo. Ojo: en producción se usan datos reales, no el fijado.

🧹 Limpiar vs 🧩 Añadir (Include Other Input Fields)

Un nodo Set con el toggle OFF deja SOLO lo que pongo (lo usé para limpiar nombres). Con el toggle ON, añade sin borrar lo demás (lo usé en las recomendaciones). ¡La diferencia es clave!

🎯 Buscar datos en otro nodo ($('nombre'))

$('set_mapear_campos').first().json = "ve a traer los datos a ESE nodo por su nombre", aunque no sea el anterior. Así junté los datos del negocio con el tipo de cambio.

🔀 Desvío + Unir (Switch + Merge)

El Switch manda el flujo por 1 de 5 caminos según el tipo de negocio (línea verde = camino tomado; grises = dormidos, ¡es correcto!). El Merge vuelve a juntar las ramas en una sola.

🛡️ Portero (Filter)

Deja pasar solo lo que cumple una condición (que el email tenga @). Protege el envío de datos basura.

🔑 Credenciales (SMTP · App Password)

Para enviar por Gmail usé una Contraseña de aplicación (16 letras) — evita configurar Google Cloud. La credencial se guarda una vez y sirve para TODAS mis automatizaciones de correo.

4 Las fórmulas (el cerebro)

LTV = ticket × veces al año × (meses / 12)  ·  lo que vale un cliente en toda su vida
CAC = gasto marketing ÷ clientes nuevos  ·  lo que cuesta conseguir uno
ROI = (LTV − CAC) / CAC  ·  si es negativo, pierde plata por cliente
Ratio LTV:CAC → ≥3 sano · 1–3 aceptable · <1 necesita atención
Precio consultoría = 10% del LTV

Ejemplo real de mi prueba: LTV $120, CAC $250 → ROI −52%, ratio 0.48 = el negocio pierde dinero. El sistema lo detectó solo. 🎯

5 Cosas que me confundieron (y son normales)

"Node was not executed / took a different path" → normal en las ramas del Switch que no se usaron.

Solo una línea verde tras el Switch → correcto, eligió UN camino.

"No output data" en una rama dormida → normal, se activa con su tipo de negocio.

La respuesta "250 OK" del envío → significa que Gmail aceptó y mandó el correo. 📩

6 Lo que me falta (próximos pasos)

Ponerlo en producción: quitar la chincheta 📌 y darle "Publish" para que funcione con clientes reales (usa la Production URL del formulario).
OpenAI real: cuando le cargue saldo a mi cuenta OpenAI, cambio el nodo generar_insights (plantilla) por el nodo OpenAI para consejos con IA.
Google Sheets: agregar un nodo para guardar cada lead en una hoja (mi base de prospectos).
Probar otros tipos: llenar el formulario como "agencia" o "saas" y ver cómo cambia el consejo.

7 Cómo reusar este patrón

Este mismo esqueleto (entra → calcula → decide → envía) sirve para mil cosas. Solo cambio las piezas:

Formulario de pedidos → confirmación por WhatsApp Registro → email de bienvenida Reseña → aviso al dueño Datos → reporte automático

La lógica no cambia; cambian el trigger, el cálculo y la salida.

8 Mini-diccionario (inglés → español)

EnglishEspañolEnglishEspañol
TriggerDisparadorMergeUnir ramas
LabelEtiqueta / nombreFilterFiltro / portero
Element TypeTipo de datoExpressionExpresión {{ }}
RequiredObligatorioExecute stepEjecutar paso
Edit Fields (Set)Asignar camposOutput / InputSalida / Entrada
HTTP RequestLlamar a una APIPin dataFijar datos
SwitchDesvíoCredentialCredencial

Mi primera automatización en n8n · construida paso a paso · íconos oficiales de n8n 🚀