Blog Automatizaciones

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.

Expertbrain
5 min de lectura

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).

  1. Accede a tu panel de Docploy.
  2. Haz clic en “Crear Servicio” y selecciona “Template”.
  3. Busca Chatwoot en la librería.
  4. Importante: Verifica la versión. Si la plantilla trae una versión antigua, cámbiala manualmente a la última estable (ej. 4.6.0 o superior) antes de guardar.
  5. 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:

  1. Ve a tu proveedor de dominios (ej. Hostinger).
  2. Crea un registro CNAME (ej. chat.tudominio.com) apuntando a la dirección que proporciona Docploy.
  3. En Docploy, ve a la configuración del servicio Chatwoot.
  4. Cambia la Frontend URL en las variables de entorno para que coincida con tu nuevo subdominio (asegúrate de incluir https://).
  5. 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.

  1. Crea una instancia en Evolution API: Dale un nombre (ej. “Chatwoot-Bot”) y guárdala.
  2. 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.
  3. Habilita opciones clave:
    • Auto Create (para crear el inbox automáticamente).
    • Import Messages (opcional, para traer historial).
  4. 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 Type debe ser igual a Contact.
  • 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 ID
  • Conversation 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 ID como 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.

  1. Crear Atributo Personalizado:
    • En Chatwoot: Ajustes > Atributos personalizados.
    • Crea uno llamado estado (Tipo: Lista).
    • Opciones: on, off.
  2. Modificar el Flujo en n8n:
    • Justo después del Webhook, añade un nodo IF o Switch.
    • Lógica: Si Custom_Attribute_Estado es igual a off, 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:

  1. Chatwoot: La centralita CRM.
  2. Evolution API: La pasarela de WhatsApp.
  3. n8n: El orquestador de lógica.
  4. 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

Tags: CRMChatwootn8nWhatsAppIAEvolution APIopen source
¿Te suena familiar?

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.