Configurações de Workflow
As configurações de workflow permitem personalizar o comportamento, performance e aparência dos seus workflows no n8n. Esta seção aborda todas as opções de configuração disponíveis para otimizar seus workflows.
Visão Geral
As configurações de workflow oferecem controle granular sobre como seus workflows funcionam, incluindo:
- Configurações de execução e performance
- Configurações de dados e mapeamento
- Configurações de interface e visualização
- Configurações de segurança e permissões
- Configurações de notificação e alertas
Acessando as Configurações
Interface Web
Para acessar as configurações de um workflow:
- Abra o workflow no editor
- Clique no ícone de configurações (⚙️) no canto superior direito
- Selecione "Workflow Settings" no menu
Configurações Globais
Algumas configurações podem ser definidas globalmente:
# Configurações de ambiente
export N8N_WORKFLOW_TIMEOUT=3600000
export N8N_WORKFLOW_MAX_EXECUTIONS=1000
export N8N_WORKFLOW_SAVE_DATA_EXECUTION=true
export N8N_WORKFLOW_SAVE_DATA_EXECUTION_ALL=false
Configurações de Execução
Timeout de Execução
Defina o tempo máximo que um workflow pode executar:
// Configurar timeout no workflow
{
"settings": {
"executionTimeout": 3600000, // 1 hora em milissegundos
"executionTimeoutWarning": 3000000 // Aviso 5 minutos antes
}
}
Limite de Execuções
Configure limites para evitar sobrecarga:
// Configurar limites de execução
{
"settings": {
"maxExecutions": 1000, // Máximo de execuções por dia
"maxExecutionsPerMinute": 10, // Limite por minuto
"retryOnFail": true, // Tentar novamente em caso de falha
"maxRetries": 3 // Número máximo de tentativas
}
}
Configurações de Performance
Otimize a performance do workflow:
// Configurações de performance
{
"settings": {
"saveExecutionProgress": true, // Salvar progresso
"saveDataOnSuccess": true, // Salvar dados de sucesso
"saveDataOnError": true, // Salvar dados de erro
"saveManualExecutions": true, // Salvar execuções manuais
"saveDataS3": false, // Salvar dados no S3
"saveDataS3Bucket": "n8n-executions",
"saveDataS3Region": "us-east-1"
}
}
Configurações de Dados
Mapeamento de Dados
Configure como os dados são processados:
// Configurações de mapeamento
{
"settings": {
"dataMapping": {
"includeEmptyFields": false, // Incluir campos vazios
"includeNullValues": false, // Incluir valores nulos
"maxDataSize": 1048576, // Tamanho máximo de dados (1MB)
"compressData": true, // Comprimir dados
"encryptSensitiveData": true // Criptografar dados sensíveis
}
}
}
Validação de Dados
Configure validações automáticas:
// Configurações de validação
{
"settings": {
"validation": {
"validateInputData": true, // Validar dados de entrada
"validateOutputData": true, // Validar dados de saída
"strictMode": false, // Modo estrito
"customValidators": [
{
"field": "email",
"validator": "email",
"required": true
},
{
"field": "cpf",
"validator": "cpf",
"required": true
}
]
}
}
}
Cache de Dados
Configure cache para melhorar performance:
// Configurações de cache
{
"settings": {
"cache": {
"enabled": true, // Habilitar cache
"ttl": 3600000, // Time to live (1 hora)
"maxSize": 100, // Máximo de itens em cache
"persistent": false, // Cache persistente
"cacheDirectory": "/tmp/n8n-cache"
}
}
}
Configurações de Interface
Visualização do Workflow
Personalize a aparência do workflow:
// Configurações de visualização
{
"settings": {
"ui": {
"showNodeDetails": true, // Mostrar detalhes dos nodes
"showExecutionData": true, // Mostrar dados de execução
"showNodeStatus": true, // Mostrar status dos nodes
"autoLayout": true, // Layout automático
"compactMode": false, // Modo compacto
"theme": "light", // Tema (light/dark)
"zoomLevel": 100 // Nível de zoom
}
}
}
Configurações de Navegação
Configure a navegação no editor:
// Configurações de navegação
{
"settings": {
"navigation": {
"enableKeyboardShortcuts": true, // Atalhos de teclado
"enableMouseGestures": true, // Gestos do mouse
"enableAutoSave": true, // Salvamento automático
"autoSaveInterval": 30000, // Intervalo de salvamento (30s)
"showUnsavedChangesWarning": true // Aviso de mudanças não salvas
}
}
}
Configurações de Segurança
Controle de Acesso
Configure permissões e acesso:
// Configurações de segurança
{
"settings": {
"security": {
"requireAuthentication": true, // Requer autenticação
"allowedUsers": ["admin", "editor"], // Usuários permitidos
"allowedRoles": ["owner", "admin"], // Roles permitidas
"restrictExecution": false, // Restringir execução
"auditLog": true, // Log de auditoria
"encryptCredentials": true // Criptografar credenciais
}
}
}
Configurações de Rede
Configure acesso de rede:
// Configurações de rede
{
"settings": {
"network": {
"allowedHosts": ["api.exemplo.com", "webhook.exemplo.com"],
"blockedHosts": ["malicious-site.com"],
"proxyEnabled": false,
"proxyUrl": "http://proxy:8080",
"timeout": 30000, // Timeout de rede (30s)
"retryOnNetworkError": true
}
}
}
Configurações de Notificação
Alertas e Notificações
Configure notificações automáticas:
// Configurações de notificação
{
"settings": {
"notifications": {
"onSuccess": {
"enabled": true,
"channels": ["email", "slack"],
"recipients": ["admin@empresa.com"]
},
"onError": {
"enabled": true,
"channels": ["email", "slack", "sms"],
"recipients": ["admin@empresa.com", "dev@empresa.com"]
},
"onTimeout": {
"enabled": true,
"channels": ["email"],
"recipients": ["admin@empresa.com"]
}
}
}
}
Configurações de Email
Configure notificações por email:
// Configurações de email
{
"settings": {
"email": {
"smtp": {
"host": "smtp.gmail.com",
"port": 587,
"secure": true,
"auth": {
"user": "n8n@empresa.com",
"pass": "senha-segura"
}
},
"from": "n8n@empresa.com",
"replyTo": "suporte@empresa.com",
"template": {
"success": "Workflow executado com sucesso",
"error": "Erro na execução do workflow",
"timeout": "Workflow excedeu o tempo limite"
}
}
}
}
Configurações de Monitoramento
Métricas e Analytics
Configure coleta de métricas:
// Configurações de monitoramento
{
"settings": {
"monitoring": {
"enabled": true,
"metrics": {
"executionTime": true,
"successRate": true,
"errorRate": true,
"dataVolume": true,
"resourceUsage": true
},
"alerts": {
"highErrorRate": {
"threshold": 0.1, // 10% de erro
"action": "notify"
},
"slowExecution": {
"threshold": 300000, // 5 minutos
"action": "notify"
}
}
}
}
}
Logs e Debugging
Configure logs detalhados:
// Configurações de logs
{
"settings": {
"logging": {
"level": "info", // debug, info, warn, error
"includeExecutionData": true,
"includeNodeData": true,
"includeTimestamps": true,
"logToFile": true,
"logFile": "/var/log/n8n/workflow.log",
"maxLogSize": 10485760, // 10MB
"maxLogFiles": 5
}
}
}
Configurações Avançadas
Configurações de Banco de Dados
Configure persistência de dados:
// Configurações de banco de dados
{
"settings": {
"database": {
"type": "postgresql", // postgresql, mysql, sqlite
"host": "localhost",
"port": 5432,
"database": "n8n",
"username": "n8n_user",
"password": "senha-segura",
"ssl": true,
"pool": {
"min": 2,
"max": 10,
"acquireTimeoutMillis": 30000,
"createTimeoutMillis": 30000,
"destroyTimeoutMillis": 5000,
"idleTimeoutMillis": 30000,
"reapIntervalMillis": 1000,
"createRetryIntervalMillis": 200
}
}
}
}
Configurações de Filas
Configure processamento em fila:
// Configurações de fila
{
"settings": {
"queue": {
"enabled": true,
"type": "redis", // redis, bull, bee-queue
"redis": {
"host": "localhost",
"port": 6379,
"password": "senha-redis",
"db": 0
},
"concurrency": 5, // Execuções simultâneas
"retryAttempts": 3,
"retryDelay": 5000
}
}
}
Configurações Específicas para Brasil
Configurações de LGPD
Configure conformidade com LGPD:
// Configurações de LGPD
{
"settings": {
"lgpd": {
"enabled": true,
"dataRetention": {
"executionData": 90, // Dias para reter dados
"logs": 365, // Dias para reter logs
"userData": 730 // Dias para reter dados de usuário
},
"dataMasking": {
"enabled": true,
"fields": ["cpf", "cnpj", "email", "telefone"],
"maskPattern": "***"
},
"consentTracking": {
"enabled": true,
"requireConsent": true,
"consentExpiry": 365 // Dias para expirar consentimento
}
}
}
}
Configurações de Moeda
Configure para Real brasileiro:
// Configurações de moeda
{
"settings": {
"currency": {
"default": "BRL",
"format": {
"symbol": "R$",
"position": "before",
"decimal": ",",
"thousands": ".",
"precision": 2
},
"exchangeRates": {
"enabled": true,
"api": "https://api.exchangerate-api.com/v4/latest/BRL",
"updateInterval": 3600000 // 1 hora
}
}
}
}
Aplicando Configurações
Via Interface
- Abra as configurações do workflow
- Navegue pelas abas de configuração
- Modifique os valores conforme necessário
- Clique em "Save" para aplicar
Via API
// Atualizar configurações via API
const atualizarConfiguracoes = async (workflowId, configuracoes) => {
const response = await fetch(`/api/v1/workflows/${workflowId}/settings`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify(configuracoes)
});
return response.json();
};
// Exemplo de uso
const configuracoes = {
executionTimeout: 1800000,
saveExecutionProgress: true,
notifications: {
onError: {
enabled: true,
channels: ['email'],
recipients: ['admin@empresa.com']
}
}
};
await atualizarConfiguracoes('workflow-123', configuracoes);
Via Variáveis de Ambiente
# Configurações globais via ambiente
export N8N_WORKFLOW_DEFAULT_TIMEOUT=1800000
export N8N_WORKFLOW_SAVE_EXECUTION_PROGRESS=true
export N8N_WORKFLOW_NOTIFICATIONS_ON_ERROR=true
export N8N_WORKFLOW_NOTIFICATIONS_EMAIL=admin@empresa.com
Boas Práticas
Configurações de Performance
- Configure timeouts adequados para evitar travamentos
- Use cache para dados frequentemente acessados
- Limite execuções simultâneas para evitar sobrecarga
- Monitore uso de recursos regularmente
Configurações de Segurança
- Habilite autenticação sempre que possível
- Criptografe dados sensíveis automaticamente
- Configure logs de auditoria para compliance
- Restrinja acesso por usuário e role
Configurações de Monitoramento
- Configure alertas proativos para problemas
- Monitore métricas importantes como tempo de execução
- Configure logs detalhados para debugging
- Implemente dashboards de monitoramento
Troubleshooting
Problemas Comuns
Workflow não executa:
- Verificar configurações de timeout
- Verificar permissões de usuário
- Verificar configurações de rede
Performance lenta:
- Ajustar configurações de cache
- Reduzir execuções simultâneas
- Otimizar configurações de banco de dados
Notificações não funcionam:
- Verificar configurações de email/SMTP
- Verificar configurações de webhook
- Verificar permissões de API
Recursos Adicionais
Documentação Oficial
Ferramentas Relacionadas
- n8n CLI: Configuração via linha de comando
- n8n API: Configuração programática
- n8n Docker: Configuração via variáveis de ambiente
Próximo: Compartilhamento de Workflows - Compartilhe workflows com sua equipe