@nexaomni/n8n-nodes-nexachat
v1.0.2
Published
NexaChat integration for n8n: conversations, contacts, WhatsApp, Kanban CRM and AI.
Maintainers
Readme
@nexaomni/n8n-nodes-nexachat
Nodes do NexaChat para o n8n: conversas, contatos, WhatsApp, Kanban CRM, Captain (IA), agenda, Help Center e mais — e, na Fase 2, os módulos próprios da NexaOmni (Instagram, Anúncios, Formulários).
Guia para clientes
Ver docs/GUIA-DO-CLIENTE.md (cliente-safe: instalação, credencial, exemplos, erros).
Instalação (n8n self-hosted)
Settings → Community Nodes → Install → @nexaomni/n8n-nodes-nexachat
Credencial NexaChat API:
- URL:
https://chat.nexaomni.com.br - Access Token: Perfil → Configurações → Token de acesso
Como o pacote é feito
@clubmega/n8n-nodes-mega (npm, MIT) ← node oficial do MEGA, por Nestor Davalos
│ scripts/sync-upstream.mjs
│ 1. npm pack <versão> + confere integridade com upstream.lock.json
│ 2. de-para MEGA → NexaChat (rebrand/rules.mjs), só em strings, via AST
│ 3. guarda: falha se sobrar MEGA/Chatwoot/WAHA/Evolution/UAZAPI em texto
▼
upstream/ (versionado — o diff do PR mostra o que mudou na release)
│ scripts/build.mjs
▼
dist/ = upstream/ + src/ (nodes próprios NexaOmni, TypeScript — Fase 2)| Comando | O quê |
|---|---|
| npm run sync | Reaplica o de-para na versão do upstream.lock.json (após mudar regras) |
| npm run sync:latest | Puxa a última versão do Nestor |
| npm test | Build + testes (carrega nodes como o n8n, procura vazamento de marca) |
Quando o Nestor lançar versão nova
Automático: o workflow sync-upstream roda todo dia às 08:00, e abre PR (de-para ok) ou
issue (frase nova com marca → precisa de regra). Manual: npm run sync:latest && npm test.
Se o guarda falhar, adicione em rebrand/rules.mjs:
- texto de tela →
PHRASES(trecho) ouEXACT(string inteira); - valor interno enviado à API (não aparece na tela) →
ALLOWLIST, com comentário justificando.
Publicar
npm version <minor|patch> → push → git tag vX.Y.Z && git push --tags (workflow publish, precisa do secret NPM_TOKEN).
Nodes próprios NexaOmni (Fase 2 — src/)
| Node | Operações |
|---|---|
| NexaChat Instagram | Comentários: listar, responder, DM, ocultar, resolver · Leads · Posts: agendar, agendados, publicados, métricas · Mídia: upload · Conta: crescimento |
| NexaChat Instagram Trigger | Novo comentário / novo lead (polling, cursor after_id) |
| NexaChat Forms | Formulários: listar · Respostas: listar (filtro por data/busca) |
| NexaChat Forms Trigger | Dispara a cada nova resposta de um formulário (polling) |
| NexaChat Ads | Status · Insights · Atribuição (ROAS) · Funil · Vendas por anúncio · Origens · Saúde da CAPI · Enviar conversão (POST /mkt/events) |
| NexaChat Ads Trigger | Novo lead vindo de anúncio (polling, conjunto de conversas já vistas) |
Usam a mesma credencial NexaChat API. Falam com o backend dos módulos
(https://engagement.nexaomni.com.br/n8n/v1, repo nexa-social), que valida o Access Token no
NexaChat, exige que o usuário seja membro da conta e aplica as mesmas permissões da tela. Só uma
lista branca de rotas é exposta (backend/routes/n8n.js no nexa-social) — nada destrutivo, de
configuração ou de conexão com a Meta. Homologação: NEXACHAT_MODULES_URL no servidor n8n.
Rota nova = liberar em ALLOWED (nexa-social) + operação no node aqui.
O que o de-para muda
- Nome/ícone/descrições: MEGA → NexaChat; ícone
icons/nexachat.svg. - Tipos:
nexaChat,nexaChatTrigger; credenciaisnexaChatApi,nexaChatPlatformApi. - Provedores de WhatsApp não oficiais aparecem como "QR Code" (nunca WAHA/Evolution/UAZAPI).
- Captain → NexaAI em todo texto de tela (mesmo de-para do DS
nexaai-captain-renamer); rotas/idscaptain*minúsculos intactos. - Remove os aliases legacy
Chatwoot/Chatwoot Trigger. - Remove a Platform API (contas, usuários da plataforma, banners globais, agent bots da plataforma) e a credencial Platform: conta só se cria/suspende pelo ERP. Feito em
src/nodes/NexaChat/NexaChat.node.ts, que estende o node do upstream e lê a lista de recursos Platform da própria definição dele. - Texto de contexto pra agentes de IA (n8n MCP/AI Builder) reescrito sem citar MEGA/Chatwoot.
- Valores de API (
whatsapp_waha, rotas etc.) ficam intactos — o comportamento é idêntico ao original.
Licença
MIT. Derivado de @clubmega/n8n-nodes-mega (MIT) —
licença original em upstream/LICENSE.upstream.md (copiada para dist/).
