Cómo construir un bot de WhatsApp con n8n, Supabase y Google Gemini
Tutorial paso a paso para implementar un asistente IA en WhatsApp usando WAHA (bridge open source sin pagar a Meta), n8n para orquestar el flujo, Supabase para persistir el historial y Google Gemini para generar respuestas en español colombiano.
Stack del proyecto
- Bridge: WAHA (Docker)
- Orquestador: n8n self-hosted
- IA: Google Gemini 1.5 Flash
- DB: Supabase PostgreSQL
- Costo mensual: ~$0 (open source)
- Tiempo de setup: 3–5 horas
El problema: responder WhatsApp consume 3 horas diarias
En Colombia, el 78% de los clientes prefiere contactar negocios por WhatsApp antes que por email o teléfono. El problema: atender 50–100 mensajes diarios de forma manual consume entre 2 y 4 horas del equipo, introduce errores humanos y deja clientes esperando fuera del horario laboral.
La solución obvia es la API oficial de WhatsApp Business (Meta). El problema: requiere aprobación de Meta, cuesta entre $0.06 y $0.15 USD por conversación, y en Colombia muchos negocios pequeños no cumplen los requisitos de verificación. WAHA resuelve todo esto conectándose directamente al protocolo de WhatsApp Web.
Paso 1 — Instalar WAHA con Docker
WAHA (WhatsApp HTTP API) es un proyecto open source que expone una REST API sobre WhatsApp Web. Necesitas un servidor Linux con Docker instalado — un VPS de $6/mes en DigitalOcean o un droplet en AWS Lightsail es suficiente.
# Levantar WAHA docker run -d \ --name waha \ -p 3000:3000 \ --restart unless-stopped \ devlikeapro/waha # Verificar que está corriendo curl http://localhost:3000/api/health
Una vez activo, abre http://tu-servidor:3000/api/ en el navegador. Verás la interfaz Swagger. Para vincular tu número:
- POST
/api/sessions/startcon body{"name":"default"} - GET
/api/sessions/default/auth/qr— descarga la imagen QR - Escanea el QR con tu WhatsApp (igual que en WhatsApp Web)
- GET
/api/sessions/default— el campostatusdebe ser"WORKING"
Paso 2 — Configurar el webhook hacia n8n
Cada vez que alguien te envíe un mensaje, WAHA hará un POST a la URL que configures. Esta URL debe apuntar al webhook de tu workflow en n8n.
# Activar webhook en la sesión WAHA
curl -X POST http://localhost:3000/api/sessions/default/webhooks \
-H "Content-Type: application/json" \
-d '{
"url": "https://tu-n8n.com/webhook/whatsapp",
"events": ["message"],
"retries": {"attempts": 3, "delaySeconds": 2}
}'El payload que WAHA envía a n8n incluye: event (siempre "message"), payload.from (número del remitente con formato 573145655236@c.us) y payload.body (texto del mensaje).
Paso 3 — Workflow en n8n: de mensaje a respuesta IA
El workflow en n8n tiene 6 nodos en secuencia. La lógica completa tarda menos de 2 segundos en ejecutarse:
Webhook trigger
Recibe el POST de WAHA. Filtra mensajes vacíos y mensajes enviados por el bot mismo (payload.fromMe === true).
Supabase — leer historial
SELECT * FROM conversaciones_wa WHERE numero = $numero ORDER BY created_at DESC LIMIT 20. Esto da a Gemini contexto de la conversación anterior.
HTTP Request — Google Gemini
POST a https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent con el sistema prompt + historial + mensaje nuevo.
Supabase — guardar mensaje del cliente
INSERT en conversaciones_wa con rol='user', el mensaje recibido y el timestamp.
Supabase — guardar respuesta del bot
INSERT con rol='assistant' y la respuesta generada por Gemini.
HTTP Request — WAHA enviar mensaje
POST a http://localhost:3000/api/sendText con chatId (el número del cliente) y el texto de respuesta.
Paso 4 — El prompt de sistema para Gemini
El prompt de sistema es lo que define cómo se comporta el bot. Debe ser específico, incluir los servicios y precios reales, y delimitar claramente qué puede y qué no puede hacer el bot.
Eres Alcabot, el asistente comercial de Alcanet, agencia digital
en Medellín, Colombia. Tu objetivo es ayudar a los clientes a
entender los servicios y agendar una consulta gratuita.
SERVICIOS:
- Páginas web: desde $800 USD (1-2 semanas)
- ERP a medida: desde $3.500 USD (8-16 semanas)
- Automatizaciones n8n: desde $500 USD (1-2 semanas)
- Bots WhatsApp: desde $400 USD (1 semana)
REGLAS:
- Responde SIEMPRE en español colombiano, informal pero profesional
- Nunca inventes precios distintos a los indicados arriba
- Si no sabes algo, di "déjame consultarlo con el equipo"
- Al detectar interés real, pide: nombre, empresa, necesidad
- Máximo 3 oraciones por respuesta
HISTORIAL DE CONVERSACIÓN:
{{historial}}Paso 5 — Tablas en Supabase
Solo necesitas dos tablas. Supabase las crea con una sola migración SQL:
-- Historial de conversaciones
CREATE TABLE conversaciones_wa (
id uuid DEFAULT gen_random_uuid() PRIMARY KEY,
numero text NOT NULL,
rol text CHECK (rol IN ('user','assistant')) NOT NULL,
mensaje text NOT NULL,
created_at timestamptz DEFAULT now()
);
CREATE INDEX idx_conversaciones_numero
ON conversaciones_wa(numero, created_at DESC);
-- Leads capturados por el bot
CREATE TABLE leads_wa (
id uuid DEFAULT gen_random_uuid() PRIMARY KEY,
numero text NOT NULL,
nombre text,
empresa text,
servicio_interes text,
clasificacion text CHECK (clasificacion IN ('frio','tibio','caliente')),
created_at timestamptz DEFAULT now()
);El índice en conversaciones_wa es crítico para la performance: sin él, consultar las últimas 20 interacciones de un número específico haría un full table scan. Con el índice, la consulta tarda menos de 5ms incluso con millones de filas.
Resultados en implementaciones reales
73%
reducción en tiempo de respuesta
4h
ahorradas por día en atención
24/7
disponibilidad sin costo adicional
¿Quieres que implementemos esto en tu empresa?
En Alcanet lo configuramos en 1–2 semanas. Consulta gratuita, sin compromiso.
💬 Cotizar bot WhatsApp
Escrito por
Luis Alcalá
Fundador & CEO — Alcanet
Desarrollador de software especializado en Next.js, automatización con n8n e IA aplicada a negocios. 6+ años construyendo webs, ERP y sistemas para PYMEs en Colombia y Latinoamérica.
ARTÍCULOS RELACIONADOS
→ Cómo automatizar una empresa en Colombia — Guía 2026→ Automatización WhatsApp Medellín: casos reales→ Servicio de chatbots WhatsApp para empresas en Medellín