Pular para o conteúdo principal

Configurações de Workflow

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

Como acessar as configurações​

Interface web​

Para acessar as configurações de um workflow:

  1. Abra o workflow no editor
  2. Clique no ícone de configurações (⚙️) no canto superior direito
  3. Selecione "Workflow Settings" no menu

Configurações globais​

Algumas configurações podem ser definidas globalmente:

bash\n# Configurações de ambiente\nexport N8N_WORKFLOW_TIMEOUT=3600000\nexport N8N_WORKFLOW_MAX_EXECUTIONS=1000\nexport N8N_WORKFLOW_SAVE_DATA_EXECUTION=true\nexport N8N_WORKFLOW_SAVE_DATA_EXECUTION_ALL=false\n
\n\n## Configurações de execução\n\n### Timeout de execução\n\nDefina o tempo máximo que um workflow pode executar:\n\n
javascript\n// Configurar timeout no workflow\n{\n  "settings": {\n    "executionTimeout": 3600000, // 1 hora em milissegundos\n    "executionTimeoutWarning": 3000000 // Aviso 5 minutos antes\n  }\n}\n
\n\n### Limite de execuções\n\nConfigure limites para evitar sobrecarga:\n\n
javascript\n// Configurar limites de execução\n{\n  "settings": {\n    "maxExecutions": 1000, // Máximo de execuções por dia\n    "maxExecutionsPerMinute": 10, // Limite por minuto\n    "retryOnFail": true, // Tentar novamente em caso de falha\n    "maxRetries": 3 // Número máximo de tentativas\n  }\n}\n
\n\n## Configurações de performance\n\nOtimize a performance do workflow:\n\n
javascript\n// Configurações de performance\n{\n  "settings": {\n    "saveExecutionProgress": true, // Salvar progresso\n    "saveDataOnSuccess": true, // Salvar dados de sucesso\n    "saveDataOnError": true, // Salvar dados de erro\n    "saveManualExecutions": true, // Salvar execuções manuais\n    "saveDataS3": false, // Salvar dados no S3\n    "saveDataS3Bucket": "n8n-executions",\n    "saveDataS3Region": "us-east-1"\n  }\n}\n
\n\n## Configurações de dados\n\n### Mapeamento de dados\n\nConfigure como os dados são processados:\n\n
javascript\n// Configurações de mapeamento\n{\n  "settings": {\n    "dataMapping": {\n      "includeEmptyFields": false, // Incluir campos vazios\n      "includeNullValues": false, // Incluir valores nulos\n      "maxDataSize": 1048576, // Tamanho máximo de dados (1MB)\n      "compressData": true, // Comprimir dados\n      "encryptSensitiveData": true // Criptografar dados sensíveis\n    }\n  }\n}\n
\n\n### Validação de dados\n\nConfigure validações automáticas:\n\n
javascript\n// Configurações de validação\n{\n  "settings": {\n    "validation": {\n      "validateInputData": true, // Validar dados de entrada\n      "validateOutputData": true, // Validar dados de saída\n      "strictMode": false, // Modo estrito\n      "customValidators": [\n        {\n          "field": "email",\n          "validator": "email",\n          "required": true\n        },\n        {\n          "field": "cpf",\n          "validator": "cpf",\n          "required": true\n        }\n      ]\n    }\n  }\n}\n
\n\n### Cache de dados\n\nConfigure cache para melhorar performance:\n\n
javascript\n// Configurações de cache\n{\n  "settings": {\n    "cache": {\n      "enabled": true, // Habilitar cache\n      "ttl": 3600000, // Time to live (1 hora)\n      "maxSize": 100, // Máximo de itens em cache\n      "persistent": false, // Cache persistente\n      "cacheDirectory": "/tmp/n8n-cache"\n    }\n  }\n}\n
\n\n## Configurações de interface\n\n### Visualização do workflow\n\nPersonalize a aparência do workflow:\n\n
javascript\n// Configurações de visualização\n{\n  "settings": {\n    "ui": {\n      "showNodeDetails": true, // Mostrar detalhes dos nodes\n      "showExecutionData": true, // Mostrar dados de execução\n      "showNodeStatus": true, // Mostrar status dos nodes\n      "autoLayout": true, // Layout automático\n      "compactMode": false, // Modo compacto\n      "theme": "light", // Tema (light/dark)\n      "zoomLevel": 100 // Nível de zoom\n    }\n  }\n}\n
\n\n### Configurações de navegação\n\nConfigure a navegação no editor:\n\n
javascript\n// Configurações de navegação\n{\n  "settings": {\n    "navigation": {\n      "enableKeyboardShortcuts": true, // Atalhos de teclado\n      "enableMouseGestures": true, // Gestos do mouse\n      "enableAutoSave": true, // Salvamento automático\n      "autoSaveInterval": 30000, // Intervalo de salvamento (30s)\n      "showUnsavedChangesWarning": true // Aviso de mudanças não salvas\n    }\n  }\n}\n
\n\n## Configurações de segurança\n\n### Controle de acesso\n\nConfigure permissões e acesso:\n\n
javascript\n// Configurações de segurança\n{\n  "settings": {\n    "security": {\n      "requireAuthentication": true, // Requer autenticação\n      "allowedUsers": ["admin", "editor"], // Usuários permitidos\n      "allowedRoles": ["owner", "admin"], // Roles permitidas\n      "restrictExecution": false, // Restringir execução\n      "auditLog": true, // Log de auditoria\n      "encryptCredentials": true // Criptografar credenciais\n    }\n  }\n}\n
\n\n### Configurações de rede\n\nConfigure acesso de rede:\n\n
javascript\n// Configurações de rede\n{\n  "settings": {\n    "network": {\n      "allowedHosts": ["api.exemplo.com", "webhook.exemplo.com"],\n      "blockedHosts": ["malicious-site.com"],\n      "proxyEnabled": false,\n      "proxyUrl": "http://proxy:8080",\n      "timeout": 30000, // Timeout de rede (30s)\n      "retryOnNetworkError": true\n    }\n  }\n}\n
\n\n## Configurações de notificação\n\n### Alertas e notificações\n\nConfigure notificações automáticas:\n\n
javascript\n// Configurações de notificação\n{\n  "settings": {\n    "notifications": {\n      "onSuccess": {\n        "enabled": true,\n        "channels": ["email", "slack"],\n        "recipients": ["admin@empresa.com"]\n      },\n      "onError": {\n        "enabled": true,\n        "channels": ["email", "slack", "sms"],\n        "recipients": ["admin@empresa.com", "dev@empresa.com"]\n      },\n      "onTimeout": {\n        "enabled": true,\n        "channels": ["email"],\n        "recipients": ["admin@empresa.com"]\n      }\n    }\n  }\n}\n
\n\n### Configurações de email\n\nConfigure notificações por email:\n\n
javascript\n// Configurações de email\n{\n  "settings": {\n    "email": {\n      "smtp": {\n        "host": "smtp.gmail.com",\n        "port": 587,\n        "secure": true,\n        "auth": {\n          "user": "n8n@empresa.com",\n          "pass": "senha-segura"\n        }\n      },\n      "from": "n8n@empresa.com",\n      "replyTo": "suporte@empresa.com",\n      "template": {\n        "success": "Workflow executado com sucesso",\n        "error": "Erro na execução do workflow",\n        "timeout": "Workflow excedeu o tempo limite"\n      }\n    }\n  }\n}\n
\n\n## Configurações de monitoramento\n\n### Métricas e analytics\n\nConfigure coleta de métricas:\n\n
javascript\n// Configurações de monitoramento\n{\n  "settings": {\n    "monitoring": {\n      "enabled": true,\n      "metrics": {\n        "executionTime": true,\n        "successRate": true,\n        "errorRate": true,\n        "dataVolume": true,\n        "resourceUsage": true\n      },\n      "alerts": {\n        "highErrorRate": {\n          "threshold": 0.1, // 10% de erro\n          "action": "notify"\n        },\n        "slowExecution": {\n          "threshold": 300000, // 5 minutos\n          "action": "notify"\n        }\n      }\n    }\n  }\n}\n
\n\n### Logs e debugging\n\nConfigure logs detalhados:\n\n
javascript\n// Configurações de logs\n{\n  "settings": {\n    "logging": {\n      "level": "info", // debug, info, warn, error\n      "includeExecutionData": true,\n      "includeNodeData": true,\n      "includeTimestamps": true,\n      "logToFile": true,\n      "logFile": "/var/log/n8n/workflow.log",\n      "maxLogSize": 10485760, // 10MB\n      "maxLogFiles": 5\n    }\n  }\n}\n
\n\n## Configurações avançadas\n\n### Configurações de banco de dados\n\nConfigure persistência de dados:\n\n
javascript\n// Configurações de banco de dados\n{\n  "settings": {\n    "database": {\n      "type": "postgresql", // postgresql, mysql, sqlite\n      "host": "localhost",\n      "port": 5432,\n      "database": "n8n",\n      "username": "n8n_user",\n      "password": "senha-segura",\n      "ssl": true,\n      "pool": {\n        "min": 2,\n        "max": 10,\n        "acquireTimeoutMillis": 30000,\n        "createTimeoutMillis": 30000,\n        "destroyTimeoutMillis": 5000,\n        "idleTimeoutMillis": 30000,\n        "reapIntervalMillis": 1000,\n        "createRetryIntervalMillis": 200\n      }\n    }\n  }\n}\n
\n\n### Configurações de filas\n\nConfigure processamento em fila:\n\n
javascript\n// Configurações de fila\n{\n  "settings": {\n    "queue": {\n      "enabled": true,\n      "type": "redis", // redis, bull, bee-queue\n      "redis": {\n        "host": "localhost",\n        "port": 6379,\n        "password": "senha-redis",\n        "db": 0\n      },\n      "concurrency": 5, // Execuções simultâneas\n      "retryAttempts": 3,\n      "retryDelay": 5000\n    }\n  }\n}\n
\n\n## Configurações específicas para Brasil\n\n### Configurações de LGPD\n\nConfigure conformidade com LGPD:\n\n
javascript\n// Configurações de LGPD\n{\n  "settings": {\n    "lgpd": {\n      "enabled": true,\n      "dataRetention": {\n        "executionData": 90, // Dias para reter dados\n        "logs": 365, // Dias para reter logs\n        "userData": 730 // Dias para reter dados de usuário\n      },\n      "dataMasking": {\n        "enabled": true,\n        "fields": ["cpf", "cnpj", "email", "telefone"],\n        "maskPattern": "***"\n      },\n      "consentTracking": {\n        "enabled": true,\n        "requireConsent": true,\n        "consentExpiry": 365 // Dias para expirar consentimento\n      }\n    }\n  }\n}\n
\n\n### Configurações de moeda\n\nConfigure para Real brasileiro:\n\n
javascript\n// Configurações de moeda\n{\n  "settings": {\n    "currency": {\n      "default": "BRL",\n      "format": {\n        "symbol": "R$",\n        "position": "before",\n        "decimal": ",",\n        "thousands": ".",\n        "precision": 2\n      },\n      "exchangeRates": {\n        "enabled": true,\n        "api": "https://api.exchangerate-api.com/v4/latest/BRL",\n        "updateInterval": 3600000 // 1 hora\n      }\n    }\n  }\n}\n
\n\n## Aplicando configurações\n\n### Via interface\n\n1. Abra as configurações do workflow\n2. Navegue pelas abas de configuração\n3. Modifique os valores conforme necessário\n4. Clique em "Save" para aplicar\n\n### Via API JavaScript\n\nAtualizar configurações via API:\n\n
javascript\nconst atualizarConfiguracoes = async (workflowId, configuracoes) => {\n  const response = await fetch(`/api/v1/workflows/${workflowId}/settings`, {\n    method: 'PUT',\n    headers: {\n      'Content-Type': 'application/json',\n      'Authorization': 'Bearer YOUR_API_KEY'\n    },\n    body: JSON.stringify(configuracoes)\n  });\n  \n  return response.json();\n};\n\n// Exemplo de uso\nconst configuracoes = {\n  executionTimeout: 1800000,\n  saveExecutionProgress: true,\n  notifications: {\n    onError: {\n      enabled: true,\n      channels: ['email'],\n      recipients: ['admin@empresa.com']\n    }\n  }\n};\n\nawait atualizarConfiguracoes('workflow-123', configuracoes);\n
\n\n### Via variáveis de ambiente\n\n
bash\n# Configurações globais via ambiente\nexport N8N_WORKFLOW_DEFAULT_TIMEOUT=1800000\nexport N8N_WORKFLOW_SAVE_EXECUTION_PROGRESS=true\nexport N8N_WORKFLOW_NOTIFICATIONS_ON_ERROR=true\nexport N8N_WORKFLOW_NOTIFICATIONS_EMAIL=admin@empresa.com\n

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