Integração
API de WhatsApp para n8n
Automatize fluxos de WhatsApp com o n8n usando a API REST do Zapixo.
// n8n — HTTP Request node
{
"method": "POST",
"url": "https://zapixo.com.br/api/v1/messages/text",
"headers": {
"Authorization": "Bearer SUA_CHAVE",
"Content-Type": "application/json"
},
"body": {
"instance": "minha-loja",
"number": "{{ $json.telefone }}",
"text": "Olá {{ $json.nome }}, seu pedido foi confirmado!"
}
}O n8n conversa com o Zapixo por HTTP puro: não precisa de nó da comunidade nem de pacote extra. Para enviar, um nó HTTP Request chama a API. Para receber, um nó Webhook espera o que chega do WhatsApp.
Funciona igual no n8n Cloud e no self-hosted, com uma condição para receber: a URL do webhook precisa ser pública e em HTTPS, porque o painel do Zapixo não aceita outra coisa.
O que dá para fazer com n8n e WhatsApp
Confirmação de pedido
Um pedido novo na loja dispara o workflow, que manda a confirmação ao cliente com número do pedido e prazo.
Aviso de cobrança
Um Schedule Trigger roda todo dia, busca os boletos que vencem amanhã e avisa cada cliente.
Atendimento com triagem
A mensagem entra pelo Webhook, um Switch separa por palavra-chave e só o que o fluxo não resolve vai para uma pessoa.
Registro de conversa
Toda mensagem recebida vira linha no Google Sheets ou atividade no CRM, com número, horário e texto.
Enviar mensagens pelo n8n
Crie a credencial
Em Credentials, crie uma credencial do tipo Header Auth. Name:
Authorization. Value:Bearer zpx_..., com a chave gerada no painel. A chave fica guardada cifrada no n8n em vez de colada em cada nó.Configure o HTTP Request
Method
POST, URLhttps://zapixo.com.br/api/v1/messages/text. Em Authentication escolha Generic Credential Type, depois Header Auth e a credencial do passo anterior. Ligue Send Body, Body Content TypeJSON, e escreva o corpo com o campo em modo Expression:{ "instance": "minha-loja", "number": "{{ $json.telefone }}", "text": "Olá {{ $json.nome }}, seu pedido {{ $json.pedido }} foi confirmado." }Limpe o número
O número vai só com dígitos, com DDI e DDD:
5511999999999. Telefone vindo de formulário quase sempre traz espaço, traço ou parêntese. Limpe na própria expressão:{{ $json.telefone.replace(/\D/g, "") }}Leia a resposta
Deu certo, a API devolve
{ "success": true, "messageId": "..." }. Para mandar imagem, troque a URL por/api/v1/messages/mediae o corpo pormediaUrl(link público do arquivo) ecaption, que é opcional.
Receber mensagens no n8n
Crie o nó Webhook
HTTP Method
POST. O n8n gera duas URLs: a de teste só responde enquanto Listen for test event está aberto, e a de produção só responde com o workflow ativo. No Zapixo, use a de produção.Cole a URL no painel
No painel do Zapixo, abra a instância e cole a URL em Webhook de mensagens. Ela precisa começar com
https://: n8n rodando em localhost não recebe nada. Durante o desenvolvimento, use a instância pública ou um túnel.Leia a mensagem
O nó Webhook entrega o corpo da requisição dentro de
body. Cada mensagem chega como eventomessages.upsert, no formato da Evolution API. Os campos que importam:{{ $json.body.event }} → messages.upsert {{ $json.body.data.key.remoteJid }} → 5511999999999@s.whatsapp.net {{ $json.body.data.key.fromMe }} → false {{ $json.body.data.pushName }} → Maria {{ $json.body.data.message.conversation }} → Oi, quero saber o preçoResponda
Para responder, tire o sufixo do
remoteJide use o mesmo HTTP Request do envio:{{ $json.body.data.key.remoteJid.split("@")[0] }}
Erros comuns e como resolver
- O workflow responde a si mesmo
- O webhook também recebe mensagens enviadas pela própria instância, como as digitadas no celular conectado. Elas chegam com
fromMe: true. Sem filtro, o bot responde à própria resposta e entra em laço. Coloque um IF logo depois do Webhook e siga só quandofromMeforfalse. - Mensagem de grupo misturada
- Mensagem de grupo chega com
remoteJidterminando em@g.us. Se o fluxo é só para conversa individual, filtre isso no mesmo IF. - Texto vazio em conversation
- Resposta citando outra mensagem, ou texto com link, costuma vir em
message.extendedTextMessage.text, e não emconversation. Leia os dois:{{ $json.body.data.message.conversation || ($json.body.data.message.extendedTextMessage || {}).text }}. - Erro 429 em disparo para lista
- A API aceita 60 requisições por minuto por chave. Acima disso responde
429, com o headerX-RateLimit-Resetdizendo quando a janela reabre. Para listas grandes, use Loop Over Items com um Wait entre os lotes e ligue Retry On Fail nas configurações do HTTP Request. - Erros 401 e 404
401: chave errada, revogada ou sem oBearerna frente.404: o valor deinstancenão bate com o nome da instância no painel.- Webhook que demora
- Deixe o nó Webhook em Respond: Immediately. O Zapixo espera até 10 segundos por um 2xx e, sem resposta, tenta de novo — até 3 vezes. Workflow que só responde no fim vira mensagem duplicada.
Perguntas frequentes
Preciso de nó da comunidade para usar o Zapixo no n8n?
Não. Enviar é um HTTP Request e receber é um Webhook, os dois nativos do n8n.
Funciona no n8n self-hosted?
Sim. Para enviar, basta o n8n alcançar a internet. Para receber, a URL do Webhook precisa ser pública e em HTTPS.
Consigo enviar imagem pelo n8n?
Sim, pelo endpoint /api/v1/messages/media, com mediaUrl (link público do arquivo) e caption opcional.
Dá para montar um chatbot só com n8n?
Dá. Esta página cobre a ligação entre n8n e WhatsApp. O passo a passo do bot, com roteamento por intenção, está no guia de chatbot com n8n do blog.
O trial tem limite de mensagens?
Tem. Ao atingir o limite, a API responde 402 com o link para assinar, e o workflow pode tratar esse status.
Templates prontos
Importe e conecte em minutos — substitua a API key e o nome da instância.
- Chatbot de atendimento (n8n)iniciante
- Aviso de boleto vencendo (n8n)intermediário
- Recuperação de carrinho (n8n)intermediário
Leia também
- Como criar um chatbot de WhatsApp com n8n em 2026
Guia prático para montar um chatbot de WhatsApp usando n8n, webhooks e uma API como a Zapixo. Do zero ao primeiro fluxo automatizado.
- Webhook WhatsApp: como receber mensagens na sua aplicação
Aprenda a configurar webhooks para receber mensagens, atualizações de status e eventos de conexão do WhatsApp via Zapixo.
- Como integrar WhatsApp com seu CRM
O desenho de integração entre WhatsApp e CRM: identificar o contato pelo telefone, registrar a conversa, disparar por evento de funil e evitar duplicidade de cadastro.