Como Construir un CRM Automatizado con n8n (Sin Pagar Salesforce ni HubSpot)
Voy a contarte algo que les digo a todos los fundadores de startups y duenos de PyMEs que asesoro con Trinico Ventures: no necesitas pagar $50-300 USD al mes por un CRM. Al menos no al principio.
Salesforce es excelente. HubSpot es solido. Pipedrive funciona bien. Pero si estas empezando, si tu equipo de ventas son dos o tres personas (o solo tu), gastar esa plata en un CRM es tirar recursos que podrias usar en marketing o producto.
Lo que si necesitas es un sistema que capture tus leads automaticamente, les haga seguimiento, y no deje que se te escape ninguna oportunidad. Y eso lo puedes construir hoy, gratis, con n8n + Google Sheets o Supabase.
Llevo mas de un ano usando este sistema para mi propia consultora y para varios clientes, y funciona increiblemente bien hasta que llegas a un volumen donde realmente justifica pagar por un CRM dedicado.
Por que un CRM casero en vez de uno comercial?
No estoy en contra de los CRM comerciales. De hecho, cuando un cliente crece lo suficiente, lo migro a algo como HubSpot o Pipedrive. Pero la realidad en Latinoamerica es:
1. Presupuesto ajustado: Muchas PyMEs en Chile, Colombia o Mexico no tienen $50 USD/mes para un CRM, especialmente cuando recien empiezan a vender.
2. Funciones que no usas: El 80% de las funciones de Salesforce no las va a usar una PyME de 5 personas. Estas pagando por complejidad que no necesitas.
3. Personalizacion: Con n8n, tu CRM hace exactamente lo que tu necesitas. Ni mas ni menos. Sin menus confusos ni funciones que nunca vas a tocar.
4. Automatizacion real: Los CRM comerciales tienen automatizaciones, pero limitadas a su ecosistema. Con n8n, conectas tu CRM con cualquier herramienta que uses.
5. Escalabilidad gradual: Empiezas con Google Sheets (gratis), creces a Supabase (gratis hasta cierto punto), y cuando ya facturas bien, migras a un CRM comercial con todos tus datos.
Arquitectura del CRM Automatizado
El sistema que vamos a construir tiene estos componentes:
“`
CAPTURA DE LEADS
Formulario web / Landing page / WhatsApp / Redes sociales
|
v
n8n (procesa y clasifica)
|
v
BASE DE DATOS (Google Sheets o Supabase)
|
v
AUTOMATIZACIONES
– Email de bienvenida
– Secuencia de nurturing
– Recordatorios de seguimiento
– Alertas de leads calientes
– Reportes periodicos
“`
Vamos a construir cada pieza.
Paso 1: Elegir tu Base de Datos
Opcion A: Google Sheets (Para empezar)
Ventajas:
– Gratis
– Familiar para todos
– Facil de compartir con el equipo
– Se puede ver desde el celular
– No necesitas conocimiento tecnico
Desventajas:
– Se pone lento con muchos datos (5,000+ filas)
– No tiene relaciones entre tablas
– Concurrencia limitada
Estructura recomendada:
Crea una hoja con estas columnas:
| Columna | Tipo | Ejemplo |
|—|—|—|
| ID | Numero auto | 1, 2, 3… |
| Fecha_Entrada | Fecha | 2026-04-10 |
| Nombre | Texto | Juan Perez |
| Email | Texto | [email protected] |
| Telefono | Texto | +56 9 1234 5678 |
| Empresa | Texto | Tienda Juan |
| Origen | Texto | Formulario Web |
| Estado | Texto | Nuevo / Contactado / Calificado / Propuesta / Ganado / Perdido |
| Valor_Estimado | Numero | 500 |
| Notas | Texto | Interesado en plan anual |
| Ultimo_Contacto | Fecha | 2026-04-10 |
| Proximo_Seguimiento | Fecha | 2026-04-15 |
| Responsable | Texto | Javier |
Opcion B: Supabase (Para crecer)
Supabase es una alternativa open-source a Firebase con PostgreSQL por detras. El plan gratuito incluye 500 MB de base de datos, que es mas que suficiente para un CRM de PyME.
Ventajas:
– Base de datos real (PostgreSQL)
– Rapido incluso con miles de registros
– API REST automatica
– Autenticacion integrada
– Panel web para ver datos
Desventajas:
– Requiere un poco mas de conocimiento tecnico
– Interface menos familiar que una planilla
Estructura de tablas en Supabase:
“`sql
— Tabla de leads
CREATE TABLE leads (
id SERIAL PRIMARY KEY,
created_at TIMESTAMP DEFAULT NOW(),
nombre TEXT NOT NULL,
email TEXT,
telefono TEXT,
empresa TEXT,
origen TEXT,
estado TEXT DEFAULT ‘nuevo’,
valor_estimado DECIMAL,
notas TEXT,
ultimo_contacto TIMESTAMP,
proximo_seguimiento TIMESTAMP,
responsable TEXT
);
— Tabla de actividades/interacciones
CREATE TABLE actividades (
id SERIAL PRIMARY KEY,
lead_id INTEGER REFERENCES leads(id),
fecha TIMESTAMP DEFAULT NOW(),
tipo TEXT, — ’email’, ‘llamada’, ‘whatsapp’, ‘reunion’
descripcion TEXT,
resultado TEXT
);
“`
Paso 2: Captura Automatica de Leads
Desde Formularios Web
La fuente mas comun de leads. Puedes usar Tally, Typeform, Google Forms, o tu propio formulario.
Workflow: Formulario -> n8n -> CRM
“`
Webhook Node (recibe datos del formulario)
|
v
Set Node (limpiar y formatear datos)
|
v
IF Node (validar email no vacio)
|— Email vacio -> Descartar o flag
|
v
Google Sheets / Supabase (guardar lead)
|
v
Email Node (enviar email de bienvenida)
|
v
Slack Node (notificar al equipo)
“`
Configuracion del nodo Webhook:
En n8n, crea un nuevo workflow con un nodo Webhook. Esto te da una URL unica. Configura tu formulario (Tally, Typeform, etc.) para enviar los datos a esa URL cuando alguien lo completa.
Nodo de validacion y limpieza:
“`javascript
// Code Node: Limpiar datos del lead
const lead = {
nombre: ($input.item.json.nombre || ”).trim(),
email: ($input.item.json.email || ”).toLowerCase().trim(),
telefono: ($input.item.json.telefono || ”).replace(/\s/g, ”),
empresa: ($input.item.json.empresa || ”).trim(),
origen: ‘formulario_web’,
estado: ‘nuevo’,
fecha_entrada: new Date().toISOString(),
proximo_seguimiento: new Date(Date.now() + 24*60*60*1000).toISOString(), // manana
};
return { json: lead };
“`
Desde WhatsApp
Si usas WhatsApp Business API, puedes capturar leads automaticamente cuando alguien te escribe por primera vez.
“`
Webhook (mensaje entrante de WhatsApp)
|
v
Code Node (extraer datos del remitente)
|
v
Google Sheets Lookup (verificar si ya existe)
|
v
IF: Lead nuevo?
|— Si -> Crear nuevo lead en el CRM
|— No -> Actualizar ultimo contacto
“`
Desde Redes Sociales
Si usas Facebook Lead Ads o Instagram:
“`
Facebook Trigger (nuevo lead en formulario)
|
v
Set Node (normalizar datos)
|
v
Guardar en CRM
|
v
WhatsApp/Email: Mensaje de agradecimiento
“`
Desde Email
Cuando alguien te escribe directamente:
“`
Email Trigger (IMAP – nuevo email en bandeja)
|
v
IF: Es de un remitente nuevo?
|— Si -> Crear lead con datos del email
|— No -> Registrar actividad en lead existente
“`
Paso 3: Clasificacion Automatica de Leads
No todos los leads son iguales. Algunos estan listos para comprar, otros solo estan curioseando. Automatizar la clasificacion te ahorra mucho tiempo.
Lead Scoring Basico
Asigna puntos basados en acciones y caracteristicas:
“`javascript
// Code Node: Lead Scoring
let score = 0;
const lead = $input.item.json;
// Por origen
if (lead.origen === ‘formulario_cotizacion’) score += 30;
if (lead.origen === ‘whatsapp’) score += 25;
if (lead.origen === ‘formulario_contacto’) score += 15;
if (lead.origen === ‘redes_sociales’) score += 10;
// Por datos proporcionados
if (lead.empresa && lead.empresa.length > 0) score += 15;
if (lead.telefono && lead.telefono.length > 0) score += 10;
if (lead.valor_estimado && lead.valor_estimado > 0) score += 20;
// Clasificacion
let clasificacion = ‘frio’;
if (score >= 50) clasificacion = ‘caliente’;
else if (score >= 25) clasificacion = ‘tibio’;
return {
json: {
…lead,
score: score,
clasificacion: clasificacion,
}
};
“`
Enrutamiento segun Clasificacion
“`
Lead clasificado
|
v
Switch Node (segun clasificacion)
|
|— Caliente -> Alerta inmediata + asignar a vendedor senior
|— Tibio -> Email de nurturing + seguimiento en 48h
|— Frio -> Agregar a lista de nurturing largo plazo
“`
Paso 4: Email de Bienvenida Automatico
El primer email es crucial. Debe llegar rapido (menos de 5 minutos despues de que el lead se registra) y debe ser personal.
Configuracion
Usa el nodo de Email (Send Email) de n8n con tu cuenta de Gmail o un servicio como SendGrid/Resend.
Plantilla de email de bienvenida:
“`
Asunto: Hola {{nombre}}, gracias por contactarnos
Hola {{nombre}},
Soy Javier de [tu empresa]. Acabo de recibir tu consulta y queria
agradecerte por tomarte el tiempo.
Me gustaria entender mejor lo que necesitas para poder ayudarte
de la mejor forma. Te puedo llamar en los proximos dias?
Si prefieres, puedes agendar una reunion directamente aca:
[link calendly]
Saludos,
Javier
[tu empresa]
“`
Tip: No uses emails genericos tipo “Gracias por registrarte”. Que suene a persona real escribiendo. En LATAM, la venta es relacional.
Paso 5: Secuencia de Nurturing Automatizada
Para leads que no estan listos para comprar inmediatamente, necesitas una secuencia de nurturing que los mantenga interesados sin ser molesto.
Secuencia de 5 emails en 14 dias
Configura esto con n8n usando Schedule Triggers y condicionales:
Email 1 (Dia 0): Bienvenida (ya lo hicimos arriba)
Email 2 (Dia 3): Contenido de valor
“`
Asunto: Un recurso que te puede servir, {{nombre}}
Hola {{nombre}},
Te comparto [articulo/guia/video] sobre [tema relevante para el lead].
Muchos de nuestros clientes tenian el mismo desafio y esto les ayudo.
[link al recurso]
Saludos,
Javier
“`
Email 3 (Dia 7): Caso de exito
“`
Asunto: Como [cliente similar] resolvio [problema]
Hola {{nombre}},
Te cuento el caso de [cliente], que tenia un desafio parecido al tuyo.
[Breve historia de exito con resultados concretos]
Te gustaria conversar sobre como podriamos lograr algo similar
para tu negocio?
Saludos,
Javier
“`
Email 4 (Dia 10): Propuesta de valor directa
“`
Asunto: Una idea para {{empresa}}
Hola {{nombre}},
Estuve pensando en tu situacion y tengo algunas ideas que
podrian funcionar para {{empresa}}.
Te puedo compartir un breve analisis sin compromiso?
Solo necesito 15 minutos de tu tiempo.
[link calendly]
Saludos,
Javier
“`
Email 5 (Dia 14): Cierre suave
“`
Asunto: Ultima pregunta, {{nombre}}
Hola {{nombre}},
No quiero ser molesto, asi que esta es mi ultima nota.
Sigo disponible si en algun momento necesitas ayuda con
[tema]. Solo responde este email y coordinamos.
Un abrazo,
Javier
“`
Implementacion en n8n
Para implementar la secuencia, hay dos enfoques:
Enfoque 1: Schedule Trigger + Consulta a base de datos
“`
Schedule Trigger (diario a las 9:00 AM)
|
v
Supabase/Sheets: Obtener leads donde:
– Estado = ‘nuevo’ o ‘contactado’
– Dia de la secuencia corresponde a hoy
|
v
Loop: Para cada lead
|
v
Switch: Segun dia de secuencia (3, 7, 10, 14)
|
v
Email Node: Enviar email correspondiente
|
v
Actualizar registro: Marcar email enviado
“`
Enfoque 2: Wait Node (mas simple para pocos leads)
“`
Nuevo lead entra
|
v
Email 1 (bienvenida)
|
v
Wait Node (3 dias)
|
v
Verificar: Lead sigue en estado ‘nuevo’?
|— Si -> Email 2
|— No -> Detener secuencia
|
v
Wait Node (4 dias)
|
v
… y asi sucesivamente
“`
El enfoque 1 es mejor para produccion porque no depende de ejecuciones largas.
Paso 6: Recordatorios de Seguimiento
Esta es la automatizacion que mas impacto tiene. La mayoria de las ventas se pierden por falta de seguimiento, no por falta de interes del cliente.
Workflow de Recordatorios
“`
Schedule Trigger (diario a las 8:00 AM)
|
v
Supabase/Sheets: Obtener leads donde proximo_seguimiento = hoy
|
v
Loop: Para cada lead
|
v
Slack/Telegram/Email: Enviar recordatorio al vendedor
“Recordatorio: Hacer seguimiento a [nombre] de [empresa]
Ultimo contacto: [fecha]
Notas: [notas]
Telefono: [telefono]”
|
v
IF: Lead es ‘caliente’ y sin contacto en 3+ dias?
|— Si -> Alerta urgente al jefe de ventas
“`
Escalamiento automatico
Si un lead caliente no ha sido contactado en un plazo definido:
“`
Schedule Trigger (cada 4 horas)
|
v
Buscar leads calientes sin contacto en 48+ horas
|
v
IF: Encontrados?
|— Si -> Email urgente al responsable + CC al jefe
| “URGENTE: Lead caliente sin seguimiento”
“`
Paso 7: Actualizacion de Estado y Actividades
Cada interaccion con un lead deberia registrarse. Puedes hacerlo de varias formas:
Via formulario interno
Crea un formulario simple (Google Forms o Tally) donde tu equipo registre llamadas y reuniones:
“`
Webhook (formulario de actividad)
|
v
Supabase: INSERT en tabla actividades
|
v
Supabase: UPDATE ultimo_contacto y proximo_seguimiento en lead
|
v
IF: Estado cambio?
|— Si -> Notificar al equipo por Slack
“`
Via email (mas automatico)
Si respondes al lead por email, n8n puede detectarlo:
“`
Email Trigger (emails enviados desde tu cuenta)
|
v
Code: Extraer email del destinatario
|
v
Sheets/Supabase: Buscar lead por email
|
v
IF: Lead encontrado?
|— Si -> Actualizar ultimo_contacto + registrar actividad
“`
Paso 8: Reportes Automaticos
Reporte semanal de pipeline
“`
Schedule Trigger (lunes a las 7:00 AM)
|
v
Supabase/Sheets: Obtener todos los leads activos
|
v
Code Node: Calcular metricas
– Total leads nuevos esta semana
– Leads por estado (nuevo, contactado, calificado, propuesta)
– Valor total del pipeline
– Tasa de conversion
– Leads sin seguimiento
|
v
Slack/Email: Enviar reporte al equipo
“REPORTE SEMANAL DE VENTAS
========================
Nuevos leads: 12
Pipeline total: $8,500 USD
– Nuevos: 4
– Contactados: 3
– Calificados: 2
– Con propuesta: 3
Leads sin seguimiento: 2 (ATENCION)
Tasa conversion: 25%”
“`
Alerta de leads estancados
“`
Schedule Trigger (diario)
|
v
Buscar leads en estado ‘contactado’ o ‘calificado’ sin actividad en 7+ dias
|
v
Generar lista y enviar por Slack
|
v
“LEADS ESTANCADOS (sin actividad 7+ dias):
1. Juan Perez – Tienda Juan – $500 – 10 dias sin contacto
2. Maria Lopez – Cafeteria ML – $800 – 8 dias sin contacto”
“`
Poniendolo Todo Junto
Si usas n8n cloud o self-hosted, necesitas estos workflows principales:
1. Captura de leads (1 workflow por fuente: formulario, WhatsApp, redes)
2. Email de bienvenida (se dispara automaticamente al crear lead)
3. Secuencia de nurturing (1 workflow con Schedule Trigger diario)
4. Recordatorios de seguimiento (1 workflow con Schedule Trigger diario)
5. Registro de actividades (1 workflow con webhook para el equipo)
6. Reportes (1 workflow semanal + 1 diario de alertas)
Total: 6-8 workflows que reemplazan un CRM de $50-300 USD/mes.
Para configurar todo esto, primero necesitas instalar o acceder a n8n. Si prefieres no complicarte con servidores, la version cloud te permite empezar en minutos.
Cuando Migrar a un CRM Comercial
Este sistema casero funciona genial hasta cierto punto. Te recomiendo considerar migrar a un CRM dedicado cuando:
1. Tienes mas de 3-4 vendedores que necesitan colaborar activamente
2. Tu pipeline supera los 200-300 leads activos simultaneamente
3. Necesitas reportes avanzados de rendimiento por vendedor
4. Tu equipo no-tecnico necesita acceso facil sin capacitacion
5. El volumen de datos hace que Google Sheets se ponga lento
Lo bueno es que toda la logica de automatizacion que construiste en n8n la puedes mantener. Solo cambias la base de datos (Sheets/Supabase) por la API del CRM nuevo.
Costo Total del Sistema
| Componente | Costo |
|—|—|
| n8n self-hosted | $7-10 USD/mes |
| Google Sheets | $0 |
| Supabase (plan free) | $0 |
| SendGrid/Resend (email) | $0 (hasta 100 emails/dia) |
| Slack (notificaciones) | $0 |
| Total | $7-10 USD/mes |
Versus HubSpot Starter ($20/mes), Pipedrive ($15/mes), o Salesforce Essentials ($25/usuario/mes).
Conclusion
No dejes que la falta de presupuesto para un CRM sea excusa para no hacer seguimiento a tus leads. Con n8n y las herramientas gratuitas que ya tienes, puedes construir un sistema que captura, clasifica, nutre y le da seguimiento a cada oportunidad de venta.
El sistema que te mostre aca es exactamente lo que uso para Trinico Ventures y lo que he implementado para mas de una docena de clientes en Chile, Colombia y Mexico. Funciona, es gratis (o casi), y lo puedes adaptar a tu forma de vender.
Lo mas importante: empieza simple. No intentes construir todo de golpe. Empieza con la captura de leads y el email de bienvenida. Cuando eso funcione, agrega los recordatorios. Despues el nurturing. Y asi vas creciendo.
Si necesitas n8n para empezar, aca puedes probarlo gratis. Dale una oportunidad y en una semana vas a tener un CRM basico funcionando que ya es mejor que no tener nada.
—
Preguntas Frecuentes
1. Es seguro usar Google Sheets como base de datos de un CRM?
Para una PyME con pocos vendedores y cientos de leads, si. Google Sheets tiene encriptacion en transito y en reposo, y puedes controlar quien tiene acceso. No es ideal para datos extremadamente sensibles o volumenes altos, pero para empezar es perfectamente valido. Cuando crezcas, migra a Supabase que tiene seguridad de nivel empresarial.
2. Puedo agregar WhatsApp como canal de comunicacion del CRM?
Absolutamente. n8n se conecta con la WhatsApp Business API (via Twilio, 360dialog o directo con Meta). Puedes enviar mensajes de seguimiento automaticos, recibir respuestas de clientes, y registrar todo como actividad en tu CRM. Es especialmente util en Latinoamerica donde WhatsApp es el canal principal de comunicacion.
3. Cuanto tiempo toma construir este CRM automatizado?
Si ya tienes n8n corriendo, puedes tener el sistema basico (captura de leads + email de bienvenida + Google Sheets) funcionando en 2-3 horas. El sistema completo con nurturing, scoring y reportes puede tomar un fin de semana. Lo bueno es que puedes ir construyendo de a poco, agregando automatizaciones segun las vayas necesitando.