Package Information
Released: this month
Downloads: 0 weekly / 0 monthly
Latest Version: 1.0.5
Documentation
n8n-nodes-wwebjs
Pacote de Custom Nodes para n8n que executa o whatsapp-web.js diretamente dentro do processo do n8n (em memória via Singleton globalThis), sem precisar rodar nenhuma API ou servidor Node.js separado.
Como funciona (Sem Servidor Externo)
WWebJsManager(Singleton em Memória): Mantém umMapglobal (globalThis.__N8N_WWEBJS_SESSIONS__) dentro do processo do n8n com as instâncias ativas doClientdowhatsapp-web.jse autenticação persistente viaLocalAuth(salva em~/.n8n/wwebjs_sessions).WhatsApp Web (wwebjs) Trigger: Inicia a sessão quando o workflow é ativado (ou clicando em Listen for Test Event), gera o QR Code (já convertido para imagem PNG binária + Base64 no output do n8n!) e escuta mensagens recebidas em tempo real.WhatsApp Web (wwebjs)(Action Node): Reutiliza a mesma sessão aberta em memória pelosessionIdpara enviar textos, arquivos/mídias (URL, Binário do n8n ou Base64), áudios PTT (como gravados na hora), figurinhas, simular "digitando...", listar conversas ou consultar/gerar QR Code sob demanda.
Instalação na sua Instância do GCP
Como o whatsapp-web.js utiliza o Puppeteer (Chromium headless) por baixo dos panos, a máquina ou container onde o n8n roda precisa ter as bibliotecas gráficas básicas do Chromium instaladas.
Cenário A: n8n instalado direto na VM do GCP (PM2 / systemd / npm)
- Copie esta pasta para a sua instância no GCP (ou suba em um repositório Git/NPM).
- Na pasta do projeto na VM, execute o script automatizado:
(O script instala as bibliotecas do Chromium viachmod +x setup-gcp.sh ./setup-gcp.shapt-get, compila o TypeScript comnpm run builde instala o pacote dentro de~/.n8n/custom). - Reinicie o n8n (
pm2 restart n8nousudo systemctl restart n8n).
Cenário B: n8n rodando em Docker na VM do GCP
Se o seu n8n roda em container Docker no GCP:
- Compile o projeto:
npm install npm run build - Use o
Dockerfile.n8nincluso neste projeto para gerar uma imagem do n8n já com o Chromium e o seu nó pré-instalados:docker build -f Dockerfile.n8n -t meu-n8n-wwebjs:latest . - Suba o seu container usando a imagem
meu-n8n-wwebjs:latest(mantendo o volume-v ~/.n8n:/home/node/.n8npara persistir tanto seus workflows quanto a sessão autenticada do WhatsApp).
Cenário C: Publicar no NPM (Instalação pela Interface Web do n8n)
Se quiser instalar direto pela tela Settings -> Community Nodes do n8n:
- Certifique-se de que o Chromium está instalado na máquina/container do GCP (
apt install -y chromiumouapk add chromium). - Altere o
"name"nopackage.jsoncaso queira publicar na sua conta do npm (precisa começar comn8n-nodes-) e rodenpm publish. - No painel do n8n, vá em Settings -> Community Nodes -> Install e digite o nome do pacote.
Como Ler o QR Code e Usar no n8n
Você tem duas formas de conectar o WhatsApp sem sair do n8n:
Forma 1: Pelo Action Node (Mais Fácil para Conectar a Primeira Vez)
- Adicione o nó WhatsApp Web (wwebjs) em um workflow.
- Escolha:
- Session ID:
default - Recurso:
Sessão - Operação:
Iniciar / Obter Status e QR Code
- Session ID:
- Clique em Test step (Executar nó).
- O nó aguardará alguns segundos até o Chromium abrir e retornará o QR Code como uma imagem binária (
qrCode) no painel da direita do n8n! Basta clicar em View na imagem binária e escanear com seu celular.
Forma 2: Pelo Trigger Node
- Adicione o nó WhatsApp Web (wwebjs) Trigger.
- Deixe marcado o evento QR Code Gerado (qr) e Mensagem Recebida (message).
- Quando o QR Code for gerado, o Trigger disparará um evento contendo a imagem PNG binária do QR Code (que você pode visualizar na execução ou até enviar para seu e-mail/Telegram automaticamente).
- Assim que autenticado, a sessão fica salva em
~/.n8n/wwebjs_sessionse os outros nós WhatsApp Web (wwebjs) com o mesmoSession IDjá podem enviar mensagens!