Nodes Core
Os Nodes Core são os componentes fundamentais do n8n, fornecendo funcionalidades essenciais para operações básicas, debug, manipulação de dados e controle de workflows.
Nodes Disponíveis
Code
O node Code permite executar código JavaScript customizado dentro do workflow, oferecendo controle total sobre a lógica de processamento.
Principais funcionalidades:
- Executar código JavaScript
- Manipular dados com lógica customizada
- Implementar algoritmos complexos
- Integrar bibliotecas externas
- Criar funções reutilizáveis
Casos de uso:
- Transformações de dados complexas
- Validações customizadas
- Cálculos avançados
- Integração com APIs externas
- Lógica de negócio específica
Debug Helper
O node Debug Helper é essencial para desenvolvimento e troubleshooting, permitindo inspecionar dados em qualquer ponto do workflow.
Principais funcionalidades:
- Inspecionar dados de entrada e saída
- Visualizar estrutura de dados
- Testar expressões
- Validar transformações
- Facilitar desenvolvimento
Casos de uso:
- Debug de workflows
- Validação de dados
- Teste de expressões
- Desenvolvimento iterativo
- Troubleshooting
Edit Fields (Set)
O node Edit Fields permite definir, modificar e remover campos nos dados de forma visual e intuitiva.
Principais funcionalidades:
- Definir novos campos
- Modificar valores existentes
- Remover campos desnecessários
- Renomear campos
- Aplicar transformações básicas
Casos de uso:
- Padronizar formatos de dados
- Adicionar campos calculados
- Limpar dados de entrada
- Preparar dados para APIs
- Criar estruturas customizadas
Ver documentação completa → (Em construção)
Execute Sub-Workflow
O node Execute Sub-Workflow permite executar outros workflows como parte do workflow atual, criando modularidade e reutilização.
Principais funcionalidades:
- Executar workflows como sub-rotinas
- Passar dados entre workflows
- Receber resultados de sub-workflows
- Criar workflows modulares
- Reutilizar lógica comum
Casos de uso:
- Modularizar workflows complexos
- Reutilizar lógica comum
- Criar bibliotecas de workflows
- Separar responsabilidades
- Facilitar manutenção
Error Trigger
O node Error Trigger permite capturar e processar erros que ocorrem em outros nodes, implementando tratamento de erro robusto.
Principais funcionalidades:
- Capturar erros de outros nodes
- Processar falhas de forma controlada
- Implementar retry logic
- Notificar sobre problemas
- Registrar logs de erro
Casos de uso:
- Tratamento de erro robusto
- Notificações de falha
- Retry automático
- Logging de problemas
- Recuperação de falhas
Workflow Trigger
O node Workflow Trigger permite que um workflow seja executado por outro workflow, criando hierarquias e dependências.
Principais funcionalidades:
- Disparar workflows de forma programática
- Passar dados entre workflows
- Criar dependências entre workflows
- Orquestrar workflows complexos
- Implementar pipelines de dados
Casos de uso:
- Orquestração de workflows
- Pipelines de dados
- Workflows dependentes
- Processamento em etapas
- Automação complexa
Conceitos Fundamentais
Hierarquia de Nodes
Os nodes core formam a base sobre a qual outros nodes são construídos:
Core Nodes → Built-in Nodes → Community Nodes → Custom Nodes
Fluxo de Dados
Os nodes core processam dados de forma sequencial:
- Entrada: Dados chegam do node anterior
- Processamento: Node executa sua lógica
- Saída: Dados processados são enviados para o próximo node
Tipos de Operação
- Transformação: Modificar dados (Code, Edit Fields)
- Inspeção: Visualizar dados (Debug Helper)
- Controle: Gerenciar fluxo (Execute Sub-Workflow, Workflow Trigger)
- Tratamento: Lidar com erros (Error Trigger)
Padrões de Uso
1. Pipeline de Processamento
Dados Brutos → Debug Helper → Code → Edit Fields → Dados Processados
Exemplo:
- Debug Helper inspeciona dados de entrada
- Code aplica transformações complexas
- Edit Fields padroniza estrutura
- Debug Helper valida resultado final
2. Modularização
Workflow Principal → Execute Sub-Workflow → Sub-Workflow → Resultado
Exemplo:
- Workflow principal recebe dados
- Execute Sub-Workflow chama workflow de validação
- Sub-workflow valida e retorna resultado
- Workflow principal processa dados validados
3. Tratamento de Erro
Node Principal → Error Trigger → Tratamento → Notificação
Exemplo:
- Node principal executa operação
- Error Trigger captura falhas
- Código de tratamento processa erro
- Notificação é enviada
Exemplos Práticos
Exemplo 1: Validação e Transformação de Dados
Cenário: Processar dados de clientes com validação e transformação.
Workflow:
Webhook → Debug Helper → Code (Validação) → Edit Fields → Debug Helper → HTTP Request
Configuração:
- Debug Helper: Inspeciona dados recebidos
- Code: Valida email, CPF, telefone
- Edit Fields: Padroniza formatos
- Debug Helper: Valida dados processados
- HTTP Request: Envia para API
Exemplo 2: Workflow Modular
Cenário: Sistema de aprovação com workflows separados.
Workflow Principal:
Pedido → Execute Sub-Workflow (Validação) → Execute Sub-Workflow (Aprovação) → Confirmação
Sub-Workflows:
- Validação: Verifica dados do pedido
- Aprovação: Processa aprovação baseada em regras
Exemplo 3: Sistema de Monitoramento
Cenário: Monitorar APIs e tratar falhas automaticamente.
Workflow:
Schedule Trigger → HTTP Request → Error Trigger → Code (Retry Logic) → Notificação
Configuração:
- Schedule Trigger: Executa a cada 5 minutos
- HTTP Request: Verifica status da API
- Error Trigger: Captura falhas de conexão
- Code: Implementa retry com backoff
- Notificação: Alerta sobre problemas
Boas Práticas
Desenvolvimento
- Use Debug Helper frequentemente durante desenvolvimento
- Teste código em pequenos trechos antes de integrar
- Documente lógica complexa nos comentários
- Valide dados em cada etapa
- Use versionamento para workflows
Performance
- Otimize código para evitar loops desnecessários
- Use Edit Fields para operações simples
- Limite execução de sub-workflows quando possível
- Implemente cache para dados frequentemente acessados
- Monitore uso de recursos
Manutenção
- Modularize workflows complexos
- Implemente logging adequado
- Configure alertas para falhas
- Mantenha documentação atualizada
- Teste regularmente workflows críticos
Troubleshooting
Problemas Comuns
Code node não funciona
- Verifique sintaxe JavaScript
- Confirme acesso a variáveis
- Use Debug Helper para inspecionar dados
- Teste código em console primeiro
Debug Helper não mostra dados
- Verifique se node está conectado
- Confirme se dados estão chegando
- Use "Include All" para ver dados completos
- Verifique configuração do node
Execute Sub-Workflow falha
- Verifique se sub-workflow existe
- Confirme se está ativo
- Valide dados de entrada
- Verifique permissões
Error Trigger não captura erros
- Verifique configuração de conexão
- Confirme se erro está sendo gerado
- Valide expressões de condição
- Use Debug Helper para verificar
Debug
- Use Debug Helper em pontos críticos
- Configure logging detalhado
- Teste nodes individualmente
- Valide dados de entrada e saída
- Monitore execuções
Expressões Avançadas
Acesso a Dados
// Dados do item atual
$json.campo
// Dados de itens anteriores
$('Node Anterior').json.campo
// Dados de múltiplos nodes
$('Node A').json.campo + $('Node B').json.campo
// Dados binários
$binary.arquivo.data
Manipulação de Arrays
// Filtrar array
$json.items.filter(item => item.ativo)
// Mapear array
$json.items.map(item => ({ ...item, processado: true }))
// Reduzir array
$json.numeros.reduce((sum, num) => sum + num, 0)
Validações
// Validar email
/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test($json.email)
// Validar CPF
function validarCPF(cpf) {
// Implementação da validação
}
// Validar telefone
/^\(\d{2}\) \d{4,5}-\d{4}$/.test($json.telefone)
Próximos Passos
- Expressões n8n - Usar expressões avançadas
- Nodes de Dados - Processar dados
- Nodes de Lógica - Controlar fluxo
- Tratamento de Erros - Lidar com falhas
- Debugging - Depurar workflows