Ilustrativo: tres capas de configuración alimentan el workflow, que produce su primera ejecución.
🧰 n8n o Make — la elección
La primera decisión de la construcción es qué plataforma alojará tus flujos. No necesitas las dos: necesitas dominar una. Las candidatas son n8n (open-source, self-host o cloud, con opción de usar código) y Make (no-code, 100 % alojado, rápido para empezar).
✓ Elige n8n cuando
- ✓Quieres controlar los datos (self-host) y evitar cobros por operación.
- ✓Necesitas lógica compleja: nodo Code en JS/Python cuando lo visual no basta.
- ✓Alto volumen de ejecuciones: costo predecible por instancia, no por paso.
- ✓Quieres versionar el flujo como JSON y llevarlo de un cliente a otro.
✗ Evita empezar con Make si
- ✗Va a ejecutar decenas de miles de operaciones al mes: el costo por operación se dispara.
- ✗Necesitas datos on-premise por cumplimiento — Make es solo cloud.
- ✗Quieres una lógica que va más allá del no-code; el code custom es más limitado.
- ✗Quieres evitar el lock-in — exportar/portar es más fácil en n8n.
💡 Consejo práctico
Empieza con n8n cloud (prueba gratuita) para aprender sin instalar nada. Cuando el flujo demuestre su valor y el volumen crezca, migra a self-host (Docker): el mismo JSON del flujo se importa directamente. Aprende la herramienta y luego optimiza el hosting.
Controlas los costos y los datos
Cero infraestructura, pagas una suscripción
Recurre a la lógica compleja
Portabilidad del flujo
👤 Cuentas y credenciales
Una credential guarda el acceso a un servicio una sola vez y se reutiliza en todos los nodos que se conectan a él. Configuras la conexión con Gmail, OpenAI o Supabase una vez; cada nodo solo la referencia.
🔗 Cuenta de servicio dedicada
Nunca conectes tu cuenta personal. Crea una cuenta de servicio solo para la automatización (p. ej., automacao@empresa.com). Así revocas el acceso sin afectar a nadie y sabes exactamente qué tocó la automatización.
- •Permisos mínimos: solo los alcances que el flujo realmente usa.
- •OAuth cuando el servicio lo admite (el token vence y se renueva); API key cuando no.
- •Nombra la credential según el entorno: OpenAI · prod vs OpenAI · staging.
Formato por servicio
Cuándo usar cada uno
Mínimo privilegio
No usar la cuenta personal
🔑 Claves de API y variables de entorno
Todo lo que cambia entre desarrollo y producción — claves, URL, ID de hoja de cálculo — está en variables de entorno, fuera de los nodos. En self-host, esto es un archivo .env; en el flujo lees con $env.
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx SUPABASE_URL=https://abcd.supabase.co SUPABASE_SERVICE_KEY=eyJhbGciOi... SLACK_ALERT_WEBHOOK=https://hooks.slack.com/services/... ENVIRONMENT=production
// no campo de header de um HTTP Request node: Authorization: Bearer ={{ $env.OPENAI_API_KEY }} // escolher comportamento por ambiente: ={{ $env.ENVIRONMENT === 'production' ? 'real' : 'sandbox' }}
💡 Consejo práctico
Mantén un .env.example versionado, con las claves sin valor. Así, cualquier persona (o tú dentro de 3 meses) sabrá qué variables necesita el flujo, sin exponer nunca el secreto real.
🔒 Seguridad y gestión de secretos
El error más costoso de un principiante es filtrar una clave. Una key de LLM expuesta en GitHub puede convertirse en una factura de miles de reales en cuestión de horas, porque los bots recorren repositorios públicos en busca de esas claves.
⚠️ Dónde se filtran los secretos (y cómo evitarlo)
- ✗Pegar la clave en el cuerpo de un nodo en lugar de usar credential/$env.
- ✗Registrar el objeto completo de la solicitud (que incluye el header Authorization).
- ✗Devolver por error datos sensibles en la respuesta del webhook.
- ✗Hacer commit del .env — siempre en el .gitignore.
✓ Prácticas seguras
- ✓Rota las claves periódicamente y ante la menor señal de filtración.
- ✓Mínimo privilegio: la clave solo puede hacer lo que el flujo necesita.
- ✓Enmascarar datos en logs (sk-***).
- ✓Usar un gestor de secretos cuando la operación crezca.
✗ Hábitos peligrosos
- ✗Una sola clave "admin" para todo.
- ✗Enviar una captura del workflow con la clave visible en el chat.
- ✗Reutilizar la misma clave en staging y producción.
- ✗Nunca revocar claves de proyectos anteriores.
🧩 Estructura de un workflow
Un workflow es un grafo de nodos conectados por conexiones. Cada conexión lleva una lista de elementos en JSON. Interioriza esto: todo es una lista de elementos que fluye de nodo en nodo — este es el modelo mental que desbloquea todo lo demás de la ruta.
Trigger
Dónde empieza el flujo
Un nodo especial que inicia la ejecución: manual, webhook, agenda o evento externo. Todo workflow tiene exactamente un punto de partida.
Nodos de acción
Qué hace el trabajo
Cada node recibe elementos, los transforma y devuelve elementos. HTTP Request, Set, IF, código, Gmail — todos siguen el flujo entra-elemento / sale-elemento.
Elementos y $json
El dato que viaja
Dentro de cualquier nodo, $json es el item actual. Si la entrada tiene 50 items, el node se ejecuta 50 veces (una por item), automáticamente.
{
"json": {
"nome": "Ana Souza",
"email": "ana@empresa.com",
"valor": 1290.50
}
}
// no próximo node, acessa com: ={{ $json.email }}
👋 Primer "hello world"
La prueba de que el entorno funciona: un Manual Trigger conectado a un node que define un campo. Lo ejecutas, ves el dato aparecer en el primer node y llegar al segundo. Simple — y elimina el 90% de la ansiedad de empezar.
Agrega un Manual Trigger
En el canvas vacío, haz clic en «+», busca Manual Trigger. Es el botón "Test workflow".
Conéctalo a un nodo Edit Fields (Set)
Crea un campo mensaje con valor Hello World. Conecta la salida del trigger con la entrada del Set.
Ejecuta y lee la salida
Haz clic en "Test workflow". Abre el nodo Set y mira el elemento de salida: tu primer dato fluyendo de punta a punta.
[
{ "mensagem": "Hello World", "executadoEm": "={{ $now }}" }
]
💡 Consejo práctico
Antes de cualquier flujo real, siempre empieza con un "hello world" de la integración que vas a usar (1 llamada a la API, 1 fila en la hoja de cálculo). Probar la conexión por separado ahorra horas de depuración después.
📌 Resumen del módulo
Próximo Módulo:
4.2 - Primera automatización de extremo a extremo (del trigger a la acción, con IA en medio)