Cómo Crear tu Propio CRM con IA Gratis: Guía Definitiva de Chatwoot + n8n + WhatsApp
Tutorial completo para montar tu propio CRM omnicanal y self-hosted con Chatwoot, integrarlo a WhatsApp con Evolution API y conectarlo a una IA con n8n, incluyendo botón ON/OFF de Human Handoff.
Cómo Crear tu Propio CRM con IA Gratis: Guía Definitiva de Chatwoot + n8n + WhatsApp
¿Imaginas tener tu propio centro de atención al cliente totalmente bajo tu control, sin pagar costosas licencias por usuario y sin límites? En el mundo de la atención al cliente digital, depender de herramientas de terceros suele significar costes elevados y falta de privacidad. Este artículo propone construir una solución Omnicanal y Open Source. Se enseña a desplegar Chatwoot en tu propio servidor, integrarlo con WhatsApp (vía Evolution API) y conectarlo a un cerebro de Inteligencia Artificial mediante n8n. Lo mejor: configurar un sistema de “Human Handoff” (botón ON/OFF) para que la IA responda automáticamente, pero el usuario pueda tomar el control cuando quiera.
¿Qué es Chatwoot y por qué deberías usarlo?
Chatwoot es una plataforma de atención al cliente de código abierto (open source). A diferencia de las soluciones SaaS tradicionales, Chatwoot permite:
- Centralizar canales: WhatsApp, Instagram, Telegram, Email y Messenger en una sola bandeja de entrada.
- Ahorro de costes: Al ser self-hosted (auto-hospedado), solo se paga el coste del servidor (VPS), eliminando las licencias por agente.
- Control de datos: El usuario es propietario de la información de los clientes.
- Integración total: Se conecta vía API y Webhooks con herramientas de automatización como n8n.
En este tutorial se utiliza WhatsApp como canal principal, pero la lógica es replicable para otros canales.
Paso 1: Instalación de Chatwoot en tu Servidor (Docker + Docploy)
Para evitar configuraciones complejas de Linux, se utiliza Docploy (una herramienta para gestionar despliegues con Docker fácilmente).
- Accede a tu panel de Docploy.
- Haz clic en “Crear Servicio” y selecciona “Template”.
- Busca
Chatwooten la librería. - Importante: Verifica la versión. Si la plantilla trae una versión antigua, cámbiala manualmente a la última estable (ej.
4.6.0o superior) antes de guardar. - Haz clic en Deploy.
La instalación tardará unos minutos. Inicialmente, al acceder a la URL dará un error de Bad Gateway; esto es normal mientras se despliegan los contenedores.
Configuración de Dominio y SSL (HTTPS)
Para que el sistema sea seguro y funcional:
- Ve a tu proveedor de dominios (ej. Hostinger).
- Crea un registro CNAME (ej.
chat.tudominio.com) apuntando a la dirección que proporciona Docploy. - En Docploy, ve a la configuración del servicio Chatwoot.
- Cambia la Frontend URL en las variables de entorno para que coincida con tu nuevo subdominio (asegúrate de incluir
https://). - Activa la casilla de HTTPS con Let’s Encrypt y redesplegar.
Paso 2: Interfaz y Primeros Pasos
Una vez dentro de Chatwoot, se verá un panel limpio con:
- Conversaciones: Bandejas de entrada (asignadas, sin asignar).
- Contactos: CRM básico de usuarios.
- Informes: Métricas de atención.
- Ajustes: Aquí es donde se crean los “Agentes” (el equipo) y las bandejas de entrada.
Tip Pro: Si no tienes configurado un servidor de correo SMTP, puedes crear nuevos usuarios (agentes) desde la Consola de Super Admin (accesible desde el menú de perfil > Super Admin Console > New User).
Paso 3: Integración de WhatsApp con Evolution API
Para usar WhatsApp sin las limitaciones de la API oficial de Meta (la cual tiene costes por conversación y ventanas de 24h), se utiliza Evolution API.
- Crea una instancia en Evolution API: Dale un nombre (ej. “Chatwoot-Bot”) y guárdala.
- Configura la integración:
- Dentro de la instancia en Evolution, busca la opción Integrations > Chatwoot.
- Account ID: Usualmente es
1(lo ves en la URL de tu Chatwoot entre/accounts/y/dashboard). - Token: Lo obtienes en Chatwoot > Perfil > Token de acceso.
- URL: Tu dominio de Chatwoot.
- Habilita opciones clave:
- Auto Create (para crear el inbox automáticamente).
- Import Messages (opcional, para traer historial).
- Escanea el QR: En Evolution API, genera el QR y escanéalo con el WhatsApp del negocio.
Automáticamente, aparecerá una nueva bandeja de entrada de WhatsApp en el panel de Chatwoot.
Paso 4: Automatización con n8n (El Cerebro)
Ahora se conecta Chatwoot con n8n para que una IA lea y responda los mensajes.
1. El Trigger (Webhook)
En Chatwoot, ve a Ajustes > Integraciones > Webhooks y añade la URL de tu Webhook de n8n (POST). Selecciona el evento “Message Created”.
2. Evitar el Bucle Infinito (Lógica de filtrado)
Es crucial que el bot no se responda a sí mismo. En n8n, añade un nodo IF:
- Condición:
Sender Typedebe ser igual aContact. - Si es true: Es un cliente, se procesa el mensaje.
- Si es false: Es un agente o el bot, se ignora el mensaje.
3. Procesamiento de Datos
Usa un nodo Set para limpiar las variables que se reciben del Webhook:
Account IDConversation ID(Vital para mantener el hilo).Message Content- Manejo de archivos: Si es audio, captura la URL del adjunto para transcribirlo (usando Whisper u otro servicio).
4. El Agente de IA
Conecta un AI Agent en n8n:
- Prompt del Sistema: “Eres un asistente de la empresa [Nombre]. Tus servicios son X, Y, Z con precios A, B, C”.
- Memoria: Conecta la memoria de ventana (Buffer Memory) usando el
Conversation IDcomo clave de sesión.
5. Responder a Chatwoot (HTTP Request)
Para que la respuesta de la IA vuelva al chat, usa un nodo HTTP Request:
- Método: POST.
- URL:
https://tudominio.com/api/v1/accounts/{ID}/conversations/{ConvID}/messages - Header:
api_access_token(Tu token de usuario de Chatwoot). - Body (JSON):
{
"content": "Respuesta generada por la IA",
"message_type": "outgoing"
}
Nota técnica: Asegúrate de sanitizar el texto de la IA (eliminar saltos de línea extraños) para enviar un JSON válido.
Paso 5: La Función Estrella – Botón ON/OFF (Human Handoff)
No siempre se quiere que la IA responda. Si un humano interviene, debe “apagarse” el bot para esa conversación específica.
- Crear Atributo Personalizado:
- En Chatwoot: Ajustes > Atributos personalizados.
- Crea uno llamado
estado(Tipo: Lista). - Opciones:
on,off.
- Modificar el Flujo en n8n:
- Justo después del Webhook, añade un nodo IF o Switch.
- Lógica: Si
Custom_Attribute_Estadoes igual aoff, detener el flujo. - Si es
on(o está vacío), continuar hacia la IA.
Ahora, desde la interfaz de Chatwoot, los agentes verán un desplegable lateral. Si cambian el estado a OFF, la IA dejará de responder a ese cliente inmediatamente, permitiendo una atención 100% humana.
Para terminar
Se ha construido un sistema que a nivel empresarial costaría cientos de dólares al mes, utilizando herramientas Open Source y bajo control total. Se tiene:
- Chatwoot: La centralita CRM.
- Evolution API: La pasarela de WhatsApp.
- n8n: El orquestador de lógica.
- IA: El agente 24/7.
Este flujo es la base. A partir de aquí, se pueden crear atributos para calificar leads (“Interesado”, “Comprado”) y hacer que n8n dispare automatizaciones diferentes según la etiqueta que se ponga en Chatwoot.
URLs de imágenes
Automatizamos cualquier proceso de tu empresa
Elegimos el stack que mejor se adapta a tu caso real: n8n, Make, Zapier, Python, serverless… Sin atarte a una sola herramienta.