Pular para o conteúdo principal

Expressões n8n

Expressões n8n

As Expressões n8n são fórmulas JavaScript que permitem usar dados dinâmicos, fazer cálculos e manipular informações em seus workflows. Elas são fundamentais para criar automações inteligentes e flexíveis.


O que são Expressões

Expressões são trechos de código JavaScript que:

  • Acessam dados de nodes anteriores
  • Fazem cálculos e transformações
  • Criam condições dinâmicas
  • Formatam dados para saída
  • Validam informações em tempo real

Sintaxe Básica

As expressões no n8n usam a sintaxe

{{}}
:

{{expressão_javascript_aqui}}

Acessando Dados

Para acessar dados do item atual:

// Acessar campo específico
{{$json.nome}}

// Acessar campo aninhado
{{$json.endereco.cidade}}

// Acessar array
{{$json.itens[0].nome}}

// Acessar propriedade dinâmica
{{$json['campo-dinamico']}}

Para acessar dados de nodes anteriores:

// Dados do node "HTTP Request"
{{$('HTTP Request').json.resposta}}

// Dados do primeiro node
{{$('Manual Trigger').json.entrada}}

// Dados de múltiplos nodes
{{$('Node A').json.valor + $('Node B').json.valor}}

Trabalhando com Items

Para trabalhar com múltiplos items:

// Todos os items
{{$input.all()}}

// Primeiro item
{{$input.first()}}

// Item específico por índice
{{$input.item[0]}}

// Último item
{{$input.last()}}

Funções de Data e Hora

Data Atual

// Data atual em ISO
{{$now.toISOString()}}

// Data formatada
{{$now.toFormat('dd/MM/yyyy HH:mm:ss')}}

// Timestamp Unix
{{$now.toMillis()}}

// Data em português
{{$now.toFormat('dd \'de\' MMMM \'de\' yyyy')}}

Cálculos com Datas

// Adicionar dias
{{ $now.plus({ days: 7 }).toISOString() }}

// Subtrair horas
{{ $now.minus({ hours: 2 }).toISOString() }}

// Diferença entre datas
{{$now.diff($json.data_anterior, 'days')}}

// Data específica
{{DateTime.fromISO('2024-01-15').toFormat('dd/MM/yyyy')}}

Formatação de Datas

// Formato brasileiro
{{$now.toFormat('dd/MM/yyyy')}}

// Com dia da semana
{{$now.toFormat('EEEE, dd \'de\' MMMM \'de\' yyyy')}}

// Hora apenas
{{$now.toFormat('HH:mm')}}

// Data relativa
{{$now.toRelative()}}

Manipulação de Texto

Operações Básicas

// Concatenar strings
{{$json.nome + ' ' + $json.sobrenome}}

// Converter para maiúsculo
{{$json.texto.toUpperCase()}}

// Converter para minúsculo
{{$json.texto.toLowerCase()}}

// Capitalizar primeira letra
{{$json.texto.charAt(0).toUpperCase() + $json.texto.slice(1)}}

Busca e Substituição

// Verificar se contém texto
{{$json.texto.includes('palavra')}}

// Substituir texto
{{$json.texto.replace('antigo', 'novo')}}

// Substituir múltiplas ocorrências
{{$json.texto.replace(/antigo/g, 'novo')}}

// Extrair parte do texto
{{$json.texto.substring(0, 10)}}

// Dividir texto
{{$json.texto.split(',')}}

Validação de Texto

// Verificar se está vazio
{{$json.texto.length === 0}}

// Verificar se não está vazio
{{$json.texto && $json.texto.length > 0}}

// Validar email
{{/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test($json.email)}}

// Validar CPF (formato básico)
{{ /^\d{3}\.\d{3}\.\d{3}-\d{2}$/.test($json.cpf) }}

Cálculos Matemáticos

Operações Básicas

// Soma
{{$json.valor1 + $json.valor2}}

// Subtração
{{$json.valor1 - $json.valor2}}

// Multiplicação
{{$json.quantidade * $json.preco}}

// Divisão
{{$json.total / $json.quantidade}}

// Módulo (resto)
{{$json.numero % 2}}

Funções Matemáticas

// Arredondar
{{Math.round($json.valor)}}

// Arredondar para cima
{{Math.ceil($json.valor)}}

// Arredondar para baixo
{{Math.floor($json.valor)}}

// Valor absoluto
{{Math.abs($json.valor)}}

// Potência
{{Math.pow($json.base, $json.expoente)}}

// Raiz quadrada
{{Math.sqrt($json.valor)}}

Cálculos Financeiros

// Calcular desconto
{{$json.valor * (1 - $json.desconto / 100)}}

// Calcular juros
{{$json.principal * (1 + $json.taxa / 100) ** $json.tempo}}

// Calcular média
{{($json.valor1 + $json.valor2 + $json.valor3) / 3}}

// Calcular porcentagem
{{($json.parte / $json.total) * 100}}

Próximos Passos

  1. HTTP Request - Usar expressões em requisições
  2. Code Node - JavaScript avançado
  3. Tratamento de Erros - Lidar com falhas
  4. Data Processing - Processar dados
  5. Templates - Ver exemplos práticos

Agora você domina as expressões n8n. Use essas técnicas para criar workflows dinâmicos e inteligentes!


Dica Pro

Sempre teste suas expressões com dados reais para garantir que funcionem como esperado.

Importante

Evite expressões muito complexas que possam impactar a performance do workflow.

Recurso Adicional

Use o Debug Helper para visualizar os dados disponíveis e testar suas expressões.