Comece pelo painel n8zap
Crie sua conta, confirme o e-mail e abra o painel. Em seguida:
- Crie uma conexão de WhatsApp e informe um nome para identificá-la.
- Clique em Começar a conexão no card da conexão e baixe o programa.
- Abra o programa, cole o código de pareamento e leia o QR code com o celular.
- Aguarde o card mostrar Tudo funcionando.
- No card da conexão, informe o nome da sua conta do n8n (só o nome, ex:
minhaempresa). - Copie o workflow pronto do mesmo card e importe no n8n.
Instale o programa e conecte o WhatsApp
- Entre em Conexões e clique em Começar a conexão.
- Baixe o programa para o seu sistema (Windows, macOS ou Linux) e instale.
- Na mesma tela do painel, gere o código de pareamento e copie.
- Abra o programa, cole o código e confirme. Ele liga o programa à sua conta.
- O QR code aparece dentro do programa. No celular: WhatsApp → Configurações → Aparelhos conectados → Conectar um aparelho.
- Aponte a câmera para o código. Pronto — pode minimizar ou fechar a janela.
Instale no computador que fica ligado. Enquanto o programa estiver aberto, ele impede o computador de dormir e a tela de apagar, para que as mensagens continuem entrando e saindo. Fechar a janela não desconecta: o programa segue na bandeja do sistema.
Em Dispositivos, confira o último sinal, a versão, as últimas mensagens, a fila e as falhas. Se o computador desligar, a fila permanece pendente e volta a ser processada quando o programa reconectar.
Configure o n8n
No card da conexão, clique em Copiar workflow n8n. No n8n, importe o JSON copiado em Import from Clipboard.
O workflow sai pronto, com:
- Webhook no caminho fixo
whatsapp-mensagem-recebida. - Filtro que ignora mensagens de grupo.
- Transcrição automática de áudio pelo Gemini.
- Agente de IA com memória por remetente (12 mensagens de contexto).
- Endpoint de envio e header
x-api-keyjá preenchidos com os dados da sua conexão. - Prompt do agente já escrito com o nome da empresa, o nome do assistente e o catálogo que você preencheu no painel.
https://SUA-CONTA.app.n8n.cloud/webhook/whatsapp-mensagem-recebida
Depois de importar sobra uma única coisa manual: selecionar sua credencial do Google Gemini nos nós Transcrever áudio e Google Gemini Chat Model. Aí é só ativar o workflow.
Receba mensagens
No card da conexão existe um campo só: Conta do n8n. Informe apenas o nome da sua conta — o mesmo que aparece no começo do endereço do seu n8n.
minhaempresa
O n8zap monta a URL final sozinho, sempre no mesmo formato, e ela bate exatamente com o caminho do Webhook do workflow que você importou:
https://minhaempresa.app.n8n.cloud/webhook/whatsapp-mensagem-recebida/webhook-test/ (que só responde enquanto a aba do n8n está aberta ouvindo um teste), ou a de um workflow que nunca foi ativado. Com só o nome da conta, esse erro deixa de ser possível.
Dois WhatsApp na mesma conta do n8n
O n8n só deixa um fluxo ativo por caminho dentro da mesma conta. Então a segunda conexão precisa de um caminho diferente — senão o segundo workflow importado não ativa.
O n8zap resolve isso sozinho: a segunda conexão já nasce com whatsapp-mensagem-recebida-2, a terceira com -3, e assim por diante. O workflow copiado de cada card já vem com o caminho daquela conexão.
Mas dá para trocar. Se o seu fluxo no n8n já usa outro caminho, edite o campo direto no card: aceita letras minúsculas, números e hífen. Se o caminho já estiver em uso em outra conexão sua, o site avisa — o n8n não deixa dois fluxos ativos no mesmo caminho. Depois de trocar, copie o workflow de novo.
O n8zap envia um POST com este formato:
{
"conexaoId": "id-da-conexao",
"conexaoNome": "Minha conexão",
"de": "5511999999999@s.whatsapp.net",
"numero": "5511999999999",
"numeroRemetente": "5511999999999",
"sessionId": "5511999999999",
"sessionKey": "5511999999999",
"isGrupo": false,
"nome": "Nome do contato",
"mensagem": "Olá!",
"tipo": "conversation",
"timestamp": 1700000000
}
No nó Webhook, os campos ficam dentro de $json.body. Por isso, o texto do Agente de IA deve usar:
{{ $json.body.mensagem }}Quando a mensagem for um áudio, o n8zap também envia audioBase64, audioDataUrl, audioMimeType e temAudio. Use audioDataUrl em um nó de transcrição compatível ou envie audioBase64 para o serviço de áudio que escolher.
Responda no WhatsApp
O nó HTTP Request precisa fazer um POST para o endpoint exibido no painel:
https://n8zap.site/api/conexoes/ID_DA_CONEXAO/enviar?id=ID_DA_CONEXAOConfigure o header e o corpo assim:
Header
x-api-key: CHAVE_DA_CONEXAO
JSON body
{
"numero": "{{ $('Webhook').item.json.body.numeroRemetente }}",
"mensagem": "{{ $json.output }}"
}
A chave deve estar no header x-api-key, não no corpo da requisição. Uma resposta 202 Accepted significa que a mensagem foi validada e entrou na fila — não que já chegou ao WhatsApp. O programa busca, envia e confirma a mensagem sem duplicá-la.
Campanhas (disparo para uma lista)
Em Campanhas você cola uma lista de números, escreve a mensagem e o n8zap envia um por um, com pausa entre cada envio.
- Escolha a conexão de WhatsApp que vai disparar (precisa estar conectada).
- Escreva a mensagem. Use
{{nome}}e{{primeiro_nome}}para personalizar. - Cole os contatos, um por linha — aceita
numero, nomena mesma linha. - Confira o resumo: quantos números foram aceitos, quantos foram recusados e quantos duplicados sumiram.
- Clique em Criar e disparar e acompanhe o log ao vivo.
A campanha é persistida no servidor e cada envio fica na fila. Você pode fechar o painel, mas o computador com o programa aberto precisa estar ligado para entregar. Se ficar offline, nada é perdido: os itens continuam pendentes e retomam após a reconexão.
5511912345678, João da Silva 11 91234-5678 (11) 99999-9999, Maria
Se não funcionar
Confirme que o workflow está ativo no n8n e que o nome da conta preenchido no painel é o mesmo do endereço do seu n8n. O card mostra embaixo do campo qual URL está sendo usada.
Abra o N8ZAP no computador e aguarde alguns segundos — ele reconecta sozinho. Se continuar, use Atualizar status no card da conexão. Último sinal antigo significa que o programa parou de responder ou o computador foi desligado.
Não recrie nem reenvie manualmente. Abra o programa e aguarde a reconexão; a recuperação automática busca os itens pendentes e faz o envio uma única vez.
Já existe outro workflow com o caminho whatsapp-mensagem-recebida. Apague o antigo ou copie o workflow do card da outra conexão, que já vem com o caminho numerado.
Veja o log da campanha: conexão desconectada e assinatura vencida pausam o disparo automaticamente, com o motivo escrito no evento.
Use {{ $json.body.sessionId }} no campo Session Key. A chave é enviada automaticamente pelo n8zap.
Copie novamente o endpoint do card atual da conexão. O ID precisa estar no caminho da URL.
Atualize a credencial do n8n com a chave atual no header x-api-key. Renovar a chave invalida a anterior.
Verifique se a URL é a de produção, se o workflow está publicado e se o n8n está acessível pela internet.