n8n: La Plataforma Open Source de Automatización
¿Qué es n8n?
n8n es una plataforma de automatización de flujos de trabajo open source y self-hosted que permite conectar cualquier aplicación, base de datos o API. Su nombre significa "nodemation" - automatización basada en nodos.
- 350+ integraciones nativas
- Código abierto - puedes modificarlo
- Self-hosted - tus datos en tu servidor
- Visual - interfaz drag & drop
- Extensible - crea tus propios nodos
Tutorial Completo de n8n
Instalación de n8n
Métodos de Instalación
Instalación con Docker (Recomendado)
# Crear carpeta para datos mkdir ~/.n8n # Ejecutar n8n con Docker docker run -it --rm \ --name n8n \ -p 5678:5678 \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n # Para producción con PostgreSQL docker-compose up -d
docker-compose.yml:
version: '3.8'
services:
postgres:
image: postgres:13
environment:
POSTGRES_DB: n8n
POSTGRES_USER: n8n
POSTGRES_PASSWORD: n8n
volumes:
- postgres_data:/var/lib/postgresql/data
n8n:
image: n8nio/n8n
ports:
- 5678:5678
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: n8n
N8N_BASIC_AUTH_ACTIVE: true
N8N_BASIC_AUTH_USER: admin
N8N_BASIC_AUTH_PASSWORD: password
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
volumes:
postgres_data:
n8n_data:
Instalación con NPM
# Instalar globalmente npm install n8n -g # Ejecutar n8n n8n start # O con variables de entorno export N8N_BASIC_AUTH_ACTIVE=true export N8N_BASIC_AUTH_USER=admin export N8N_BASIC_AUTH_PASSWORD=password n8n start
Requisitos:
- Node.js 16.9 o superior
- npm o yarn
- Base de datos (SQLite para desarrollo, PostgreSQL para producción)
n8n Cloud (SaaS)
La forma más rápida de empezar sin instalación:
- Ir a n8n.io/cloud
- Crear cuenta gratuita
- Empezar a crear workflows inmediatamente
| Plan | Workflows | Ejecuciones/mes | Precio |
|---|---|---|---|
| Free | 5 | 100 | $0 |
| Starter | 20 | 5,000 | $20/mes |
| Pro | Ilimitados | 10,000+ | $50+/mes |
Conceptos Core de n8n
Workflows
Un workflow es una secuencia de nodos conectados que ejecutan tareas específicas.
- Visual y fácil de entender
- Se ejecutan secuencialmente o en paralelo
- Pueden tener múltiples triggers
Nodos
Los bloques de construcción de n8n. Cada nodo realiza una acción específica.
- 350+ nodos integrados
- Configurables visualmente
- Pueden tener múltiples outputs
Conexiones
Las líneas que conectan nodos y definen el flujo de datos.
- Transfieren datos entre nodos
- Pueden ser condicionales
- Soportan múltiples rutas
Items
Los datos que fluyen a través del workflow.
- Formato JSON
- Arrays de objetos
- Transformables en cada nodo
Tipos de Nodos en n8n
1. Trigger Nodes
Inician la ejecución del workflow
Cron
Ejecuta en horarios específicos
// Cada lunes a las 9 AM 0 9 * * 1 // Cada 30 minutos */30 * * * *
Webhook
Recibe datos HTTP
POST https://tu-n8n.com/webhook/abc123
{
"action": "new_order",
"amount": 99.99
}
Email Trigger
Se activa con emails entrantes
- IMAP/POP3
- Filtros por asunto
- Adjuntos
2. Action Nodes
Realizan acciones en aplicaciones
CRM
- Salesforce
- HubSpot
- Pipedrive
- Zoho CRM
Marketing
- Mailchimp
- SendGrid
- ActiveCampaign
- Facebook Ads
Productividad
- Google Sheets
- Slack
- Trello
- Notion
3. Logic Nodes
Controlan el flujo del workflow
| Nodo | Función | Ejemplo de Uso |
|---|---|---|
| IF | Condicionales | Si el email contiene "urgente", enviar SMS |
| Switch | Múltiples rutas | Según el país, usar diferente idioma |
| Split In Batches | Procesar en lotes | Procesar 100 contactos a la vez |
| Merge | Combinar flujos | Unir datos de múltiples fuentes |
| Loop | Repetir acciones | Para cada producto, actualizar precio |
4. Data Transformation
Manipulan y transforman datos
// Function Node - JavaScript
// Limpiar y formatear datos
const items = $input.all();
return items.map(item => {
const phone = item.json.phone.replace(/\D/g, '');
const email = item.json.email.toLowerCase();
return {
json: {
...item.json,
phone_clean: phone,
email_normalized: email,
processed_at: new Date().toISOString()
}
};
});
Nodos de Transformación:
- Set: Establecer valores
- Function: JavaScript personalizado
- Code: Python o JavaScript
- Date & Time: Manipular fechas
- Crypto: Encriptar/Desencriptar
350+ Integraciones Nativas
Categorías de Integraciones
Bases de Datos
- MySQL
- PostgreSQL
- MongoDB
- Redis
- Elasticsearch
- Airtable
Cloud Storage
- Google Drive
- Dropbox
- AWS S3
- OneDrive
- Box
- FTP/SFTP
Comunicación
- Slack
- Discord
- Telegram
- WhatsApp Business
- Microsoft Teams
- Twilio
Analytics
- Google Analytics
- Mixpanel
- Segment
- Amplitude
- Matomo
- Plausible
E-commerce
- Shopify
- WooCommerce
- Magento
- PrestaShop
- BigCommerce
- Stripe
IA & ML
- OpenAI (ChatGPT)
- Google AI
- Hugging Face
- IBM Watson
- Azure Cognitive
- Replicate
Funciones Avanzadas de n8n
1. Expresiones
Sistema poderoso para manipular datos dinámicamente
// Acceder a datos del nodo anterior
{{ $node["HTTP Request"].json.user.name }}
// Usar funciones
{{ $now.format('YYYY-MM-DD') }}
{{ $json.price * 1.16 }} // Agregar IVA
{{ $json.email.toLowerCase() }}
// Condicionales
{{ $json.status === 'active' ? 'Activo' : 'Inactivo' }}
// Trabajar con arrays
{{ $json.items.map(item => item.price).reduce((a,b) => a+b, 0) }}
2. Versionado y Backups
Control de Versiones
- Guardar versiones de workflows
- Restaurar versiones anteriores
- Comparar cambios
- Exportar/Importar JSON
# Exportar workflows via CLI n8n export:workflow --all --output=backups/ # Importar workflows n8n import:workflow --input=backups/
3. Seguridad y Autenticación
| Característica | Descripción | Configuración |
|---|---|---|
| Basic Auth | Usuario y contraseña | N8N_BASIC_AUTH_ACTIVE=true |
| JWT | Tokens seguros | N8N_JWT_AUTH_ACTIVE=true |
| OAuth2 | Google, GitHub, etc | Configurar providers |
| Encriptación | Credenciales seguras | N8N_ENCRYPTION_KEY |
4. Monitoreo y Logs
Características de Monitoreo:
- Execution History: Ver todas las ejecuciones
- Error Tracking: Identificar y debuggear errores
- Performance Metrics: Tiempo de ejecución
- Webhooks Status: Monitorear endpoints
- Queue Management: Ver trabajos pendientes
// Configurar logs detallados export N8N_LOG_LEVEL=debug export N8N_LOG_OUTPUT=file export N8N_LOG_FILE_LOCATION=/var/log/n8n/
Ejemplos Prácticos para Agencias
Ejemplo 1: Lead Scoring Automático
Webhook Trigger
Recibe nuevo lead
Enrich Data
Clearbit/Hunter.io
Calculate Score
Función personalizada
Update CRM
HubSpot/Salesforce
Notify Team
Slack si score > 80
// Función de scoring
const lead = $json;
let score = 0;
// Criterios de scoring
if (lead.company_size > 100) score += 30;
if (lead.budget > 10000) score += 40;
if (lead.timeline === 'immediate') score += 20;
if (lead.decision_maker === true) score += 10;
// Categorizar
let category;
if (score >= 80) category = 'hot';
else if (score >= 50) category = 'warm';
else category = 'cold';
return {
...lead,
score,
category,
scored_at: new Date().toISOString()
};
Ejemplo 2: Reportes Automatizados
Workflow Completo:
- Cron (Lunes 9 AM): Trigger semanal
- Google Analytics: Obtener métricas
- Facebook Ads: Datos de campañas
- Function: Calcular KPIs y ROI
- HTML Template: Generar reporte
- PDF: Convertir a PDF
- SendGrid: Enviar por email
- Slack: Notificar equipo
Ejemplo 3: Sincronización Multi-Canal
Trigger
Nuevo producto en Shopify
Acciones
- Publicar en Instagram
- Tweet con imagen
- Post en Facebook
- Actualizar catálogo WhatsApp
- Email a suscriptores
Casos de Uso Avanzados
n8n vs Otras Plataformas
Comparación Detallada
| Característica | n8n | Zapier | Make | Power Automate |
|---|---|---|---|---|
| Precio | Gratis (self-hosted) | $19.99+/mes | $9+/mes | $15+/mes |
| Open Source | ✅ Sí | ❌ No | ❌ No | ❌ No |
| Self-hosted | ✅ Sí | ❌ No | ❌ No | ❌ No |
| Integraciones | 350+ | 5000+ | 1000+ | 400+ |
| Código personalizado | ✅ JS/Python | ⚠️ Limitado | ✅ Sí | ⚠️ Limitado |
| Workflows complejos | ✅ Excelente | ⚠️ Básico | ✅ Muy bueno | ✅ Bueno |
| Límites ejecución | Sin límites | 100-10k/mes | 1k-10k/mes | 600-15k/mes |
¿Cuándo elegir n8n?
- Control total: Necesitas tus datos en tu servidor
- Personalización: Requieres modificar o extender funcionalidades
- Sin límites: Muchas ejecuciones sin costos adicionales
- Integración profunda: Necesitas conectar sistemas internos
- Cumplimiento: GDPR, HIPAA o regulaciones específicas
Recursos y Comunidad
Tips Finales
- Empieza simple: Crea workflows básicos antes de complejizar
- Usa plantillas: n8n tiene 100+ workflows pre-construidos
- Testea todo: Usa el modo manual antes de activar triggers
- Documenta: Añade notas a tus workflows
- Monitorea: Revisa logs regularmente