@aronpc/n8n-nodes-growthbook
v1.0.0
Published
Plugin para n8n: Integração com GrowthBook para feature flags e experimentos A/B
Maintainers
Readme
n8n-nodes-growthbook
Plugin para n8n: Integração com GrowthBook para feature flags e experimentos A/B
🎯 Sobre
Este plugin permite integrar o n8n com o GrowthBook, uma plataforma open-source de feature flags e experimentos A/B. Com ele, você pode:
- ✅ Avaliar feature flags em tempo real com detecção automática de tipo
- 🎯 Implementar lógica condicional baseada em features
- 👥 Usar targeting por atributos de usuário
- 🔧 Integrar com GrowthBook Cloud ou self-hosted
- 🎨 Interface visual com ícone oficial do GrowthBook
🚀 Instalação
Via npm (Recomendado)
npm install n8n-nodes-growthbookVia desenvolvimento local
- Clone este repositório
- Execute
npm run build - Execute
npm linkpara desenvolvimento local
⚙️ Configuração
Credencial GrowthBook API
Configure a credencial no n8n:
- Vá em Credentials → Add Credential
- Selecione GrowthBook API
- Preencha os campos:
| Campo | Descrição | Exemplo | Obrigatório |
|-------|-----------|---------|-------------|
| Client Key | Client Key do SDK do GrowthBook | sdk-abc123... | ✅ |
| API Host | Endpoint da API do GrowthBook | https://cdn.growthbook.io | ✅ |
| Ativar Cache | Cache local das features | true | ❌ |
| Tempo de Cache | Tempo de vida do cache (segundos) | 300 | ❌ |
| Ativar Debug | Logs detalhados para debugging | false | ❌ |
| Timeout | Timeout das requisições (ms) | 10000 | ❌ |
📦 Nó Disponível
🔘 GrowthBook
Nó principal que avalia features do GrowthBook com detecção automática de tipo.
🎛️ Parâmetros
| Parâmetro | Tipo | Descrição | |-----------|------|-----------| | Feature | Dropdown | Feature flag a ser avaliada (com detecção automática de tipo) | | Attributes | Lista chave-valor | Atributos para targeting do usuário |
🔄 Saídas Dinâmicas
O nó detecta automaticamente o tipo da feature:
🔘 Features Boolean: 2 saídas
- True: Quando feature =
true - False: Quando feature =
false
- True: Quando feature =
📦 Features Value: 1 saída
- True / Value: Sempre retorna o valor (string, number, object)
📊 Dados de Saída
{
"value": true,
"isOn": true,
"featureKey": "nova-interface",
"attributes": {
"id": "user-123",
"plan": "premium"
},
"detectedType": "boolean"
}🎯 Exemplos de Uso
Exemplo 1: Feature Flag Boolean
Cenário: Mostrar nova interface apenas para usuários premium.
[Trigger] → [GrowthBook] → [True: Nova Interface]
→ [False: Interface Antiga]Configuração:
- Feature:
🔘 nova-interface (Boolean) - Attributes:
id:user-123plan:premium
Exemplo 2: Feature com Valor
Cenário: Personalizar cor do tema baseado no segmento.
[Trigger] → [GrowthBook] → [True/Value: Usar Cor]Configuração:
- Feature:
📦 theme-color (Value) - Attributes:
id:user-456segment:vip
Saída:
{
"value": "#FF6B35",
"isOn": true,
"featureKey": "theme-color",
"detectedType": "value"
}Exemplo 3: A/B Testing
Cenário: Testar diferentes call-to-actions.
[Webhook] → [GrowthBook] → [True: CTA Variação A]
→ [False: CTA Padrão]Configuração:
- Feature:
🔘 cta-experiment (Boolean) - Attributes:
id:{{$json.userId}}country:BRdevice:mobile
🔧 Funcionalidades Avançadas
✨ Detecção Automática de Tipo
O nó analisa automaticamente cada feature e detecta seu tipo:
- Boolean: Baseado no
defaultValueourules - Value: Para strings, numbers, objects
- Ícones visuais: 🔘 para boolean, 📦 para value
🔄 Verificação Não Estrita
Para máxima compatibilidade, o nó cria variações dos atributos:
// Atributo original
{ "id": "123" }
// Variações criadas automaticamente
{
"id": "123",
"id_str": "123",
"id_num": 123
}🐛 Logs de Debug
Ative debug na credencial para logs detalhados:
[GrowthBook] ========== INÍCIO DA AVALIAÇÃO ==========
[GrowthBook] Feature Key: nova-interface
[GrowthBook] Tipo detectado automaticamente: boolean
[GrowthBook] ✅ Boolean TRUE - enviando para saída "True"🛠️ Desenvolvimento
Scripts Disponíveis
npm run build # Compila TypeScript + copia ícones
npm run dev # Compila com watch mode
npm link # Link para desenvolvimento localEstrutura do Projeto
n8n-nodes-growthbook/
├── nodes/
│ ├── GrowthBook.node.ts # Nó principal
│ └── growthbook-icon.png # Ícone oficial
├── credentials/
│ └── GrowthBookApi.credentials.ts
├── icons/
│ └── growthbook-icon.png # Ícone fonte
└── dist/ # Build final
├── nodes/
│ ├── GrowthBook.node.js
│ └── growthbook-icon.png # Ícone copiado
└── credentials/🔍 Troubleshooting
Erro: "Error fetching options from GrowthBook"
Soluções:
Verifique o Client Key
- Use o Client Key (não Secret Key)
- Teste:
curl https://cdn.growthbook.io/api/features/SEU_CLIENT_KEY
Verifique o API Host
- GrowthBook Cloud:
https://cdn.growthbook.io - Self-hosted: sua URL sem barra final
- GrowthBook Cloud:
Verifique as features
- Certifique-se que há features criadas no GrowthBook
Feature sempre retorna false
Verificações:
- Targeting: Confirme as regras no GrowthBook
- Atributos: Verifique nomes e valores dos atributos
- Feature ativa: Confirme que a feature está habilitada
Ícone não aparece
Se o ícone não carregar, verifique:
- Arquivo
dist/nodes/growthbook-icon.pngexiste - Execute
npm run buildpara recriar
📚 Documentação
📄 Licença
MIT License - veja LICENSE para detalhes.
🤝 Contribuição
Contribuições são bem-vindas! Por favor:
- Fork o projeto
- Crie uma branch para sua feature
- Commit suas mudanças
- Push para a branch
- Abra um Pull Request
Desenvolvido com ❤️ para facilitar experimentação e feature flags em automações n8n.
