Package Information
Available Nodes
Documentation
n8n-nodes-chatfunnel
Community node do n8n para a API pública do ChatFunnel v1 (https://api.chatfunnel.com.br/v1).
Cobre 100% dos 18 endpoints da API: contatos, tags, campos personalizados, canais, fluxos de automação, kanbans (cards) e templates de WhatsApp.
Documentação oficial da API: https://chatfunnel.readme.io/reference
Recursos e operações
| Recurso | Operação | Endpoint |
|---|---|---|
| Contato | Criar ou Atualizar (upsert) | POST /contacts |
| Contato | Atualizar | PUT /contacts/{contactId} |
| Contato | Buscar | GET /contacts/search |
| Contato | Excluir | DELETE /contacts/{contactId} |
| Canal | Listar | GET /channels |
| Campo Personalizado | Listar | GET /customFields |
| Campo Personalizado | Criar | POST /customFields |
| Fluxo (Automação) | Listar | GET /flows |
| Fluxo (Automação) | Executar | POST /flows/execute |
| Kanban | Listar | GET /kanbans |
| Kanban | Criar Card | POST /kanbans/{kanbanId}/cards |
| Kanban | Atualizar Card | PUT /kanbans/{kanbanId}/cards/{cardIdOrContactId} |
| Kanban | Excluir Card | DELETE /kanbans/{kanbanId}/cards/{cardId} |
| Tag | Listar | GET /tags |
| Tag | Criar | POST /tags |
| Tag | Excluir | DELETE /tags/{tagId} |
| Template WhatsApp | Listar | GET /templates |
| Template WhatsApp | Enviar | POST /templates/send |
Destaques
- Dropdowns dinâmicos: tags, campos personalizados, canais, fluxos, kanbans, colunas do kanban, motivos de perda e templates são carregados direto da API. Nada de colar UUID na mão.
- Credencial com teste embutido: ao salvar a API key, o n8n valida a chave contra
GET /v1/tags. - Usável como ferramenta de AI Agent (
usableAsTool, requer n8n >= 1.79). - Upsert nativo:
Contato > Criar ou Atualizarusa o comportamento de upsert doPOST /contacts. - Mover card por contato: nas operações de card, o segundo identificador aceita o ID do card ou o ID do contato vinculado.
Credencial
- No ChatFunnel, gere uma API key com as permissões necessárias:
SEARCH_CONTACT— buscar contatoCREATE_CONTACT— criar/atualizar/excluir contatoMANAGE_ACCOUNT— canais, campos personalizados, fluxos, tags e templatesMANAGE_KANBAN— kanbans e cards
- No n8n: Credentials > New > ChatFunnel API e cole a chave.
A API autentica via query string (
?apikey=...). Use apenas em workflows de backend; a chave aparece em logs de proxy.
Instalação
Opção 1: Community node pelo painel do n8n (recomendado)
Requer n8n self-hosted com community nodes habilitados (N8N_COMMUNITY_PACKAGES_ENABLED=true, padrão em self-host).
- No n8n: Settings > Community Nodes > Install
- Informe o nome do pacote:
n8n-nodes-chatfunnel - Confirme o aviso de risco e instale
- O node "ChatFunnel" aparece na busca de nodes do editor
Se o pacote ainda não estiver publicado no npm, use a Opção 2 (instalação via GitHub) ou publique com
npm publish.
Opção 2: Instalação manual via GitHub (Docker)
# dentro do container ou no volume do n8n
cd ~/.n8n
mkdir -p nodes && cd nodes
npm install git+https://github.com/ddiasmatt/n8n-nodes-chatfunnel.git
Depois reinicie o n8n:
docker restart n8n
# ou, em Docker Swarm:
docker service update --force <stack>_n8n
Opção 3: Build local para desenvolvimento
git clone https://github.com/ddiasmatt/n8n-nodes-chatfunnel.git
cd n8n-nodes-chatfunnel
npm install
npm run build
# linka o pacote no diretório de custom nodes do n8n
cd ~/.n8n/nodes # crie se não existir: mkdir -p ~/.n8n/nodes
npm install /caminho/para/n8n-nodes-chatfunnel
Reinicie o n8n após instalar. O node aparece como ChatFunnel e a credencial como ChatFunnel API.
Desenvolvimento
npm install # instala dependências
npm run build # compila TypeScript + copia ícone para dist/
npm run dev # build em watch mode
npm test # roda a suíte Jest
Estrutura:
credentials/ChatFunnelApi.credentials.ts # credencial (auth via query string + teste)
nodes/ChatFunnel/
├── ChatFunnel.node.ts # definição do node + roteador de execução
├── GenericFunctions.ts # request autenticado e helpers
├── LoadOptions.ts # dropdowns dinâmicos (tags, kanbans, colunas...)
├── actions/ # um handler por recurso
│ ├── ContactActions.ts
│ ├── AccountActions.ts # canais, campos personalizados, fluxos, tags
│ ├── KanbanActions.ts
│ └── TemplateActions.ts
└── descriptions/ # propriedades de UI por recurso
Breaking change (v2.0.0)
A v2 abandona os endpoints legados de webhook (/webhook/create_contact etc.) e usa exclusivamente a API pública v1 (https://api.chatfunnel.com.br/v1). Workflows criados com a v1.x do pacote precisam ser reconfigurados:
- Tags e campos personalizados agora são referenciados por UUID (selecionáveis via dropdown)
Listar Moderadoresfoi removido (não existe na API pública v1)- Card de kanban não tem mais
title/description; o card é do contato e aceitacomment,priority,amount,statusOportunity - Envio de template agora exige
channelId(selecione o canal WhatsApp no dropdown)