¿Qué hace Chatwoot?
Resumen
Chatwoot es una plataforma de soporte al cliente de código abierto. Alternativa auto-gestionable a Intercom con chat en vivo, bandeja de entrada compartida, soporte multicanal (web, correo electrónico, WhatsApp, Telegram, Twitter) y chatbots. Gratuita cuando se auto-aloja.
Instrucciones
Paso 1: Despliegue con Docker
# docker-compose.yml — Chatwoot auto-gestionado
services:
chatwoot:
image: chatwoot/chatwoot:latest
depends_on: [postgres, redis]
ports: ["3000:3000"]
environment:
RAILS_ENV: production
SECRET_KEY_BASE: tu-clave-secreta-base
FRONTEND_URL: https://chat.ejemplo.com
POSTGRES_HOST: postgres
POSTGRES_USERNAME: chatwoot
POSTGRES_PASSWORD: chatwoot
REDIS_URL: redis://redis:6379
MAILER_SENDER_EMAIL: [email protected]
SMTP_ADDRESS: smtp.gmail.com
SMTP_PORT: 587
SMTP_USERNAME: [email protected]
SMTP_PASSWORD: contraseña-app
command: bundle exec rails s -p 3000 -b 0.0.0.0
sidekiq:
image: chatwoot/chatwoot:latest
depends_on: [postgres, redis]
environment: *chatwoot-env
command: bundle exec sidekiq
postgres:
image: postgres:15
environment:
POSTGRES_DB: chatwoot
POSTGRES_USER: chatwoot
POSTGRES_PASSWORD: chatwoot
volumes: [pgdata:/var/lib/postgresql/data]
redis:
image: redis:7-alpine
volumes: [redisdata:/data]
volumes:
pgdata:
redisdata:
Paso 2: Agregar el Widget de Chat
<!-- Agrega esto a tu sitio web -->
<script>
(function(d,t) {
var BASE_URL="https://chat.ejemplo.com";
var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=BASE_URL+"/packs/js/sdk.js";
g.defer = true;
g.async = true;
s.parentNode.insertBefore(g,s);
g.onload=function(){
window.chatwootSDK.run({
websiteToken: 'TU_TOKEN_DEL_SITIO',
baseUrl: BASE_URL
})
}
})(document,"script");
</script>
Paso 3: Integración con la API
// lib/chatwoot.ts — Crear contactos y conversaciones mediante la API
const CHATWOOT_URL = 'https://chat.ejemplo.com'
const CHATWOOT_TOKEN = process.env.CHATWOOT_API_TOKEN!
// Crear contacto cuando el usuario se registra
await fetch(`${CHATWOOT_URL}/api/v1/accounts/1/contacts`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
api_access_token: CHATWOOT_TOKEN,
},
body: JSON.stringify({
name: 'Juan Pérez',
email: '[email protected]',
custom_attributes: { plan: 'pro', mrr: 49 },
}),
})
Pautas
- Auto-gestionado: completamente gratuito, agentes y conversaciones ilimitados.
- Nube: desde $19/agente/mes.
- Soporta WhatsApp Business, Telegram, Twitter, correo electrónico y canales web en una bandeja de entrada.
- Usa webhooks para sincronizar conversaciones con tu CRM o sistema de ticketing.