@avilesodar/n8n-nodes-waha
v0.1.1
Published
Nodo custom de n8n para conectar con WAHA (WhatsApp HTTP API)
Maintainers
Readme
n8n-nodes-waha
Nodo custom de n8n para conectar con WAHA (WhatsApp HTTP API).
Estructura del proyecto
n8n-waha-node/
├── src/
│ ├── index.ts # Punto de entrada
│ ├── credentials/
│ │ └── WahaApi.credentials.ts # Credencial reutilizable (URL + API key)
│ └── nodes/Waha/
│ ├── Waha.node.ts # Nodo activo (enviar mensajes, sesión)
│ └── WahaTrigger.node.ts # Nodo trigger (recibir mensajes)
├── package.json
├── tsconfig.json
└── README.mdInstalación paso a paso
1. Compilar el paquete
cd n8n-waha-node
npm install
npm run build2. Publicar en npm
El nodo se instala en n8n desde la UI, por lo que necesita estar en el registro de npm.
# Si no tienes cuenta en npm, créala en https://www.npmjs.com
npm login
# Publica el paquete (la primera vez)
npm publish --access public
# Para actualizaciones futuras, sube la versión primero:
# npm version patch ← bug fix
# npm version minor ← nueva operación
# npm publishEl nombre del paquete en npm será
n8n-nodes-waha(definido enpackage.json). Si ese nombre ya está tomado, cámbialo a algo único comon8n-nodes-waha-tuempresa.
3. Habilitar Community Nodes en n8n
Agrega esta variable a tu docker-compose de n8n y reinicia:
environment:
- N8N_COMMUNITY_PACKAGES_ENABLED=true4. Instalar el nodo desde la UI de n8n
- Abre n8n → Settings → Community Nodes → Install
- Escribe el nombre del paquete:
n8n-nodes-waha - Acepta el aviso de seguridad → Install
- n8n se reinicia automáticamente y el nodo ya aparece en el canvas
5. Escanear QR de WhatsApp
- Abre el dashboard de WAHA:
https://waha.tudominio.com/dashboard - Ve a la sesión
default→ clic en Start - Escanea el QR con tu WhatsApp
6. Configurar la credencial en n8n
En cualquier nodo WAHA → Create new credential:
- URL Base:
http://waha:3000(nombre del contenedor en la red homelab) - API Key: el valor de
WAHA_API_KEYen tu.env
Flujo básico de chatbot en n8n
[WAHA Trigger] → [tu lógica / AI] → [WAHA: Enviar Texto]En el nodo WAHA Enviar Texto:
- Número de Destino:
={{ $json.from }}(el que te escribió) - Mensaje:
={{ $json.respuesta }}(lo que tu chatbot generó) - Sesión:
default
Variables de entorno importantes (docker-compose)
| Variable | Descripción |
|---|---|
| WHATSAPP_API_KEY | Clave para proteger la API de WAHA |
| WHATSAPP_HOOK_URL | URL de n8n donde llegan los webhooks |
| WHATSAPP_HOOK_EVENTS | Eventos que WAHA reenvía (message, session.status…) |
| WHATSAPP_DEFAULT_ENGINE | WEBJS (recomendado) o NOWEB |
Producción
- Cambia
WHATSAPP_API_KEYpor una clave segura - Reemplaza
WEBHOOK_URLen n8n por tu dominio real (con HTTPS) - Usa un número de WhatsApp dedicado, no tu número personal
