Proyecto local probado: n8n 2.44.5, 22 de octubre de 2026. Datos ficticios.

Dos contactos pueden tener el mismo correo aunque uno llegue en mayúsculas o con espacios. Si comparas los valores sin prepararlos, parecerán diferentes. En este proyecto vas a normalizar cuatro registros ficticios y conservar dos contactos únicos con el nodo Remove Duplicates.

Objetivo y requisitos

Necesitas n8n y el JSON del descargable. El workflow funciona en local, sin hojas de cálculo, cuentas externas ni datos de clientes. La deduplicación se realiza dentro de la entrada de una ejecución: no estamos consultando una base de datos ni creando un registro permanente de correos ya procesados.

El recorrido es Ejecutar prueba → Contactos ficticios → Normalizar correo → Contactos unicos. El nodo de datos contiene cuatro objetos: tres referencias al correo de Ana y una al de Luis. Un pequeño nodo Code crea esos datos de ejemplo; no realiza conexiones ni escribe archivos.

Cuatro contactos pasan por la normalización y quedan en dos correos únicos.
Cuatro contactos pasan por la normalización y quedan en dos correos únicos.

1. Importa y lee la entrada

Descomprime el ZIP e importa 07-eliminar-duplicados.json en un workflow nuevo. Abre Contactos ficticios. Cada objeto contiene nombre y email, pero los nombres de los registros repetidos son distintos a propósito. Así podremos comprobar que la comparación se basa en el correo y no en la igualdad del objeto completo.

Ejecuta el flujo y observa el número de elementos que entra en Normalizar correo: deben ser cuatro. En n8n, cada elemento se procesa por separado; cuatro contactos no son necesariamente un único elemento con una lista dentro.

2. Normaliza antes de comparar

Normalizar correo utiliza la expresión {{ $json.email.trim().toLowerCase() }}. trim elimina los espacios de los extremos y toLowerCase convierte el texto a minúsculas. El nombre se conserva para identificar qué registro sobrevive.

Esta entrada está controlada y todos los correos son textos. Si trabajas con datos de un formulario, revisa primero si falta el campo o llega otro tipo. No conviene convertir todos los casos problemáticos en un email vacío y después deduplicarlos juntos sin una decisión explícita.

3. Configura Remove Duplicates

En Contactos unicos selecciona la operación Remove Items Repeated Within Current Input. En la comparación, elige Selected Fields y escribe email como campo a comparar. No selecciones todos los campos: Ana y Ana repetida tienen nombres diferentes, aunque su email normalizado sea el mismo.

El nodo conserva la primera coincidencia de esta lista. Por eso el orden de entrada importa si dos registros contienen información distinta. Eliminar duplicados no fusiona automáticamente el nombre más reciente, el teléfono o cualquier otro dato de esos registros.

4. Comprueba los cuatro registros y los dos resultados

La salida conservada debe tener dos elementos: Ana con ana@example.com y Luis con luis@example.com. Compara el contador de entrada con el de salida y abre el JSON; no basta con que aparezca un aviso verde.

Vuelve a ejecutar sin cambiar nada. En este modo volverás a obtener dos contactos. El objetivo es eliminar repeticiones dentro de cada lote, no impedir que el mismo correo salga en ejecuciones posteriores.

5. Amplía la prueba de forma útil

Cambia el correo del último registro por otro diferente y espera tres resultados. Después devuelve el dato inicial. Si no coincide, comprueba que has ejecutado el workflow completo y que la comparación sigue apuntando a email.

Si tu criterio de identidad es otro, como un identificador de cliente, cambia el campo de comparación. Un email compartido por dos personas puede no ser una clave adecuada. La regla debe representar tu caso de uso, no elegirse solo porque el ejemplo la utiliza.

Límites y siguiente paso

No se valida que un buzón exista, no se consulta información histórica y no se evita una escritura simultánea en un destino externo. Para guardar en una base de datos necesitas además una estrategia de unicidad en ese destino. Aquí has construido una limpieza de un lote que puedes inspeccionar antes de añadir conexiones.

Fuente oficial: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates/

Resultados comprobados

Cuatro contactos de entrada producen dos contactos únicos: Ana y Luis.

Remove Duplicates compara el email y conserva los contactos de Ana y Luis.
Remove Duplicates compara el email y conserva los contactos de Ana y Luis.

Descarga para practicar

Descargar proyecto en ZIP. Descomprime los archivos y revisa sus instrucciones antes de importarlos. No contienen credenciales ni la base de datos de la instalación.

Tutoriales relacionados

Importar y exportar workflows · Limpiar datos con Edit Fields · Practicar IF

Errores en n8n: encuentra el dato que falla y comprueba la corrección

Construye este workflow desde cero

Puedes crear los nodos manualmente en lugar de importar el ZIP. Los ajustes siguientes corresponden al archivo del proyecto y a la versión indicada al comienzo de la guía; los nombres de los controles pueden variar en otras versiones.

Ejecutar prueba · Manual Trigger

Añade Manual Trigger como inicio del flujo. Permite ejecutar la práctica pulsando Execute workflow, sin publicar un disparador automático.

Contactos ficticios · Code

Añade Code, selecciona JavaScript y Run Once for All Items. Sustituye el código de ejemplo por:

return [{"nombre":"Ana","email":" ANA@EXAMPLE.COM "},{"nombre":"Ana repetida","email":"ana@example.com"},{"nombre":"Luis","email":"luis@example.com"},{"nombre":"Ana tercera","email":"ana@example.com"}].map(json => ({json}));

Normalizar correo · Edit Fields (Set)

Añade Edit Fields (Set) y selecciona Manual Mapping. Crea los siguientes campos; utiliza Fixed para valores literales y Expression para fórmulas. Conserva solo los campos configurados para reproducir la salida del proyecto.

CampoTipoModoValor
nombrestringExpression{{ $json.nombre }}
emailstringExpression{{ $json.email.trim().toLowerCase() }}

Las comillas de los valores de texto de la tabla indican que son cadenas: no las escribas en el campo Fixed. Conserva los espacios cuando formen parte de los datos de prueba.

Contactos unicos · Remove Duplicates

Elige eliminar elementos repetidos dentro de la entrada actual, compara Selected Fields y escribe email en Fields to Compare. No elijas la comparación con ejecuciones anteriores.

Conecta los nodos y revisa el recorrido

  • Ejecutar prueba → Contactos ficticios.
  • Contactos ficticios → Normalizar correo.
  • Normalizar correo → Contactos unicos.

Ejecuta desde el inicio y abre la salida de cada nodo. Comprueba los valores y el número de elementos antes de seguir. Un nodo verde indica ejecución completada, pero debes comparar su salida con los resultados esperados de esta guía.

Autor: Javier Fernández, estudiante. Conoce cómo documento las prácticas en Sobre n8nfácil o comunica un error indicando el paso y la versión.


Leave a Reply

Your email address will not be published. Required fields are marked *