npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-wa-gateway

v0.8.4

Published

Node n8n para o wa-gateway — API HTTP multi-sessão de WhatsApp

Readme

n8n-nodes-wa-gateway

Node comunitário do n8n para o wa-gateway.

Seis nodes:

| Node | Pra quê | |---|---| | wa-gateway | Enviar texto/imagem/documento/vídeo/áudio/localização/enquete/cartão de contato, resultado da enquete (placar), botões e templates (Cloud API), reagir, encaminhar, criar/gerenciar sessões, grupos, contatos (incl. listar agenda), etiquetas do Business, ler histórico. Mencionar usuário em grupo (@número no texto + campo Mencionar) em texto/imagem/documento/vídeo/áudio/enquete. Aceita binário do nó anterior (converte pra base64 sozinho). | | wa-gateway Trigger | Recebe eventos de uma sessão e roteia por tipo: saídas separadas para Texto · Imagem · Áudio · Vídeo · Documento · Outros · Eventos · Enquete (sem precisar de Switch). A saída Enquete entrega o voto já decifrado e achatado (pollId, voter, voterName, selectedOptions, removed) quando você assina message.poll_vote. Opcionalmente baixa a mídia e anexa como binário (data). Ao ativar o workflow, registra a URL do webhook na sessão automaticamente. Valida HMAC-SHA256 se você definir um segredo. | | wa-gateway Fila (debounce) | Agrupa mensagens picadas por contato (Redis). EnfileirarWaitColetar: se chegou mensagem nova na janela, sai por Superado (essa execução desiste); senão sai por Continuar com a fila unificada em text / messages. Cancelar descarta lotes pendentes depois que o bot respondeu. Precisa da credencial Redis do n8n. | | wa-gateway Pausa do bot | Handoff humano por contato (Redis + TTL). Pausar quando você responde manualmente (fromMe), Verificar antes de deixar a IA responder (saídas Ativo / Pausado), Retomar pra devolver pro bot. Precisa da credencial Redis do n8n. | | wa-gateway Agente | Agente de IA nativo do WhatsApp. Conecte o Chat Model (OpenAI/Anthropic/Gemini/Ollama…) e, opcionalmente, um nó de Memória (chave = chatId) e nós de Ferramenta — reaproveita as credenciais que você já tem no n8n. Traz ferramentas de WhatsApp embutidas (enviar_imagem/_audio/_documento/_localizacao/_botoes, checar_numero, listar_grupos, buscar_historico, escalar_para_humano), entende imagem/áudio recebidos (baixa e manda pro modelo — visão/áudio) e responde sozinho pelo wa-gateway (com "digitando…"). Saídas: Resposta · Handoff · Erro. | | wa-gateway OTP | Código de verificação de número por WhatsApp. Enviar código (o gateway gera, guarda o hash no Redis, manda — com brand, template, validade e callback de entrega opcionais), Conferir código (saídas Válido / Inválido, com reason e attemptsLeft) e Cancelar código. Rate limit / código errado / envio falho saem por Falha / Inválido sem quebrar o fluxo. Se o seu app já gera e guarda o código, não precisa deste node — use wa-gateway (Enviar texto) com callbackUrl. |

Instalar

Pelo painel do n8n (Settings → Community Nodes → Install): n8n-nodes-wa-gateway

Manual / dev:

cd clients/n8n
npm install
npm run build
# copie a pasta dist para ~/.n8n/custom/  (ou use N8N_CUSTOM_EXTENSIONS)

Credencial

wa-gateway API:

  • Base URLhttps://seu-gateway.exemplo.com
  • API Key — a API_KEY do .env ou uma chave da tabela api_keys

Exemplos

Responder mensagem com IA: wa-gateway Trigger (events: message) → AI Agentwa-gateway (Mensagem · Enviar texto, chatId = {{$json.payload.chatId}}, text = {{$json.output}}).

Enviar uma imagem que veio de um HTTP Request / Google Drive: node anterior produz binário na propriedade datawa-gateway (Mensagem · Enviar imagem, Fonte da mídia = Binário do nó anterior).

Atendente de IA num nó só (o jeito rápido):

wa-gateway Trigger ──▶ wa-gateway Agente
                         ▲ Modelo (OpenAI/Anthropic/…)   ▲ Memória (Postgres/Redis, key = {{$json.payload.chatId}})   ▲ Ferramentas (opcional)
                       ├─ Resposta ─▶ (já enviou pro WhatsApp)
                       ├─ Handoff  ─▶ notifica um humano
                       └─ Erro     ─▶ log

Atendente de IA (controle fino: mensagem picada + handoff):

wa-gateway Trigger ──▶ fromMe? ──true──▶ wa-gateway Pausa (Pausar)  ▶ (fim)
                            └──false──▶ wa-gateway Pausa (Verificar)
                                          ├─ Pausado ─▶ (fim)
                                          └─ Ativo ──▶ wa-gateway Fila (Enfileirar)
                                                        └▶ Wait 15s
                                                           └▶ wa-gateway Fila (Coletar)
                                                               ├─ Superado ─▶ NoOp
                                                               └─ Continuar ─▶ AI Agent
                                                                                └▶ wa-gateway (Enviar texto)
                                                                                   └▶ wa-gateway Fila (Cancelar)

Coletar entrega {{ $json.text }} (mensagens da janela unidas) pro agente. O Cancelar no fim aborta lotes que ainda estejam na janela de 15s.

Anti-ban: marque Enfileirar nos envios pra passar pela fila com pacing por número.

OTP num fluxo só:

Webhook do seu app ──▶ wa-gateway OTP (Enviar código, to = {{$json.phone}}, brand = "MeuApp")
                         └─ Sucesso ─▶ responde { id } pro app

Webhook "conferir" ──▶ wa-gateway OTP (Conferir código, to = {{$json.phone}}, code = {{$json.code}})
                         ├─ Válido   ─▶ marca telefone verificado
                         └─ Inválido ─▶ devolve reason / attemptsLeft