Automação de Contratos com n8n: Entendendo o Código de De duplicação
A transformação digital vem permitindo que empresas otimizem seus processos internos com ferramentas no-code, eliminando tarefas manuais e repetitivas. Uma dessas ferramentas é o n8n, plataforma de automação flexível que conecta diferentes serviços e organiza fluxos de trabalho de forma visual e inteligente.
No vídeo apresentado, mostramos um fluxo de automação que cria contratos de maneira automatizada, reduzindo falhas humanas e acelerando a entrega. Essa automação é especialmente útil em departamentos jurídicos, áreas administrativas e empresas que trabalham com alto volume de contratos e precisam garantir padronização.
Como funciona a automação de contratos no n8n
O fluxo desenvolvido segue etapas que permitem centralizar e organizar a criação dos contratos:
- Recebimento dos dados: informações básicas são coletadas de formulários ou sistemas já existentes.
- Validação e deduplicação: antes de gerar o documento, o sistema garante que não haja registros duplicados.
- Geração do contrato: o documento é criado automaticamente, seguindo um template padrão definido pela empresa.
- Envio e armazenamento: o contrato é enviado para as partes interessadas (por e-mail, WhatsApp ou Teams) e uma cópia é salva em nuvem ou banco de dados.
Estrutura do Código de Deduplicação
Aqui está o código usado dentro do nó Code do n8n:
// Deduplica pelos IDs e retorna apenas 1 item (primeiro único)
const KEY = 'id'; // campo usado para identificar duplicatas
const seen = new Set();
const unique = [];
for (const item of items) {
const id = item.json?.[KEY];
if (id == null) continue; // ignora itens sem id
if (!seen.has(id)) {
seen.add(id);
unique.push(item); // guarda o primeiro que aparecer para cada id
}
}
// Se quiser devolver só 1 arquivo/objeto:
return unique.length ? [ unique[0] ] : [];
Explicando a Estrutura
- Definição da chave de comparação
const KEY = 'id';
- O código usa a propriedade
id
como chave única para identificar duplicatas. Caso o dado tenha outro campo de identificação (por exemplo,cpf
ouemail
), basta alterar essa variável. - Criação de um conjunto (Set) para rastrear IDs já vistos
const seen = new Set();
- O
Set
é uma estrutura nativa do JavaScript que não permite valores repetidos. Isso facilita identificar se umid
já apareceu. - Lista de itens únicos
const unique = [];
- Aqui armazenamos apenas os registros que passam no filtro de unicidade.
- Loop pelos itens recebidos
for (const item of items) {
const id = item.json?.[KEY];
if (id == null) continue; // ignora itens sem id
if (!seen.has(id)) {
seen.add(id);
unique.push(item);
}
}
- Para cada
item
, pegamos o valor do campoid
. - Se o
id
não existir, o item é ignorado. - Se o
id
ainda não foi visto, adicionamos aoSet
e também na listaunique
. - Se o
id
já existir, o item é descartado.
- Retorno do resultado
return unique.length ? [ unique[0] ] : [];
- Aqui definimos a saída:
- Caso haja registros únicos, retorna apenas o primeiro (
unique[0]
). - Caso contrário, retorna uma lista vazia.
🔧 Se você quiser que todos os registros únicos sejam retornados, basta substituir essa linha por:
return unique;
Vantagens dessa Estrutura
- Simplicidade: poucas linhas de código resolvem o problema.
- Eficiência: o uso de
Set
torna a busca por duplicatas muito rápida. - Flexibilidade: basta trocar a chave (
id
,cpf
,email
, etc.) para se adaptar a diferentes cenários. - Controle: você escolhe se retorna apenas um registro ou todos os únicos.
Benefícios da automação de contratos
- Agilidade: contratos são gerados em segundos.
- Padronização: todos seguem o mesmo modelo, reduzindo erros.
- Escalabilidade: pode atender desde pequenas empresas até grandes operações.
- Segurança: integrações permitem salvar cópias em sistemas confiáveis, como Supabase ou Google Drive.
Conclusão
Automatizar contratos com n8n não só reduz o tempo gasto com tarefas repetitivas, como também aumenta a confiabilidade e profissionalismo da empresa. A união entre automação e inteligência de dados é um passo estratégico rumo à eficiência operacional.
Se sua empresa ainda não utiliza fluxos automatizados para lidar com contratos, esse é o momento certo para começar.