Remove Duplicates
Le node Remove Duplicates supprime les éléments en double d'une liste et renvoie uniquement les valeurs uniques, en préservant l'ordre de première apparition.
À quoi sert le node Remove Duplicates ?
Le node Remove Duplicates est un outil de nettoyage de liste qui prend une liste en entrée et renvoie uniquement ses éléments uniques, en supprimant toutes les valeurs répétées. Il préserve l’ordre de première apparition, donc la liste résultante conserve la même séquence que l’entrée, moins les doublons.
Cas d’usage typiques :
- Dédupliquer une liste de mots-clés après fusion de résultats provenant de plusieurs sources SEO (Semrush, GSC, Ahrefs).
- Nettoyer une liste d’adresses email avant d’itérer avec un node Loop pour éviter d’envoyer la même campagne deux fois.
- Supprimer les entrées répétées d’une donnée concaténée provenant de plusieurs Google Sheets ou bases Notion.
Configuration rapide
Suivez ces étapes pour ajouter et configurer le node Remove Duplicates dans votre workflow :
Ajouter le node au canevas
Ouvrez la bibliothèque de nodes (Node Library), naviguez dans la catégorie Tools > List Operations, puis glissez-déposez le node Remove Duplicates sur votre espace de travail.
Connecter l’entrée
Reliez la sortie de tout node qui produit une liste (comme Merge Lists, Create List, JSON Path Extractor ou un lecteur Google Sheets) à l’entrée list située à gauche du node.
Connecter la sortie
Reliez la sortie unique_list (à droite du node) au node suivant de votre workflow. Le node en aval recevra le tableau dédupliqué.
Paramètres de configuration
Le node Remove Duplicates n’a aucun paramètre personnalisé. Seuls les champs d’identification standard et l’entrée list doivent être renseignés.
Champs requis
Name string required default: Remove Duplicates Nom du node — Utile pour identifier rapidement le rôle de ce node (ex: “Dédupe mots-clés SEO”) lors de l’exécution et du débogage du workflow.
Description string required default: Remove duplicate items from a list Description du node — Une courte phrase décrivant quelle liste ce node déduplique.
list json required Liste à dédupliquer — Un tableau JSON de valeurs (chaînes, nombres ou objets). Le node accepte aussi bien un tableau JSON passé directement qu’un tableau JSON sous forme de chaîne (il le parse). Si la chaîne n’est pas un JSON valide, le node échoue avec Input is not a valid JSON list.
Champs optionnels
Ce node n’a pas de champ de configuration optionnel. Le comportement de déduplication est fixe : les éléments sont comparés par égalité structurelle et la première occurrence est conservée.
Le node accepte les types d’entrée string, text, json et array. Si votre node en amont produit un tableau sous forme de chaîne (ex: '["a","b","a"]'), Remove Duplicates le parse automatiquement avant de dédupliquer.
Que renvoie le node ?
Le node renvoie un tableau JSON contenant uniquement les éléments uniques de la liste d’entrée, dans l’ordre où ils sont apparus pour la première fois. La forme de chaque élément est préservée (les chaînes restent des chaînes, les objets restent des objets).
unique_list json Le tableau dédupliqué. L’ordre de première apparition est préservé. Une entrée vide renvoie un tableau vide.
Exemple de sortie :
{
"unique_list": ["apple", "banana", "cherry"]
}
Exemples d’utilisation
Cas 1 : Dédupliquer des mots-clés après fusion de sources SEO
Après avoir concaténé des listes de mots-clés provenant de Semrush et de Google Search Console, la liste fusionnée contient typiquement le même mot-clé remonté par les deux outils. Supprimer les doublons avant l’analyse LLM évite de pondérer un mot-clé deux fois.
Entrée (depuis Merge Lists) :
["seo strategy", "keyword research", "seo strategy", "backlink audit", "keyword research"]
Sortie (unique_list) :
["seo strategy", "keyword research", "backlink audit"]
Cas 2 : Nettoyer une liste d’emails avant itération avec Loop
Lire des contacts depuis une base Notion remonte souvent des doublons car la même personne peut figurer dans plusieurs vues ou pages. Faites passer la liste dans Remove Duplicates avant le node Loop pour que l’Email Sender s’exécute une seule fois par destinataire.
Entrée (depuis Notion Database Reader) :
["alice@dng.ai", "bob@dng.ai", "alice@dng.ai", "carol@dng.ai"]
Sortie (unique_list) :
["alice@dng.ai", "bob@dng.ai", "carol@dng.ai"]
Problèmes courants
L'entrée n'est pas reconnue comme une liste
Cause : Le node en amont a transmis une chaîne simple qui n’est pas un tableau JSON valide, ou un objet seul au lieu d’un tableau.
Solution : Assurez-vous que le node en amont produit un tableau JSON (ex: ["a", "b", "c"]). Si vous avez une chaîne de valeurs séparées par des virgules, convertissez-la d’abord en tableau via un Code Block ou un JSON Path Extractor.
Les objets ne sont pas dédupliqués comme attendu
Cause : Pour les listes d’objets, les doublons sont déterminés par égalité structurelle complète. Deux objets avec les mêmes valeurs mais un ordre de clés différent, ou des espaces supplémentaires dans des champs texte, peuvent être traités comme différents.
Solution : Normalisez les objets en amont (tri des clés, trim des chaînes) à l’aide d’un Code Block, ou dédupliquez par une seule propriété (par exemple un champ id) à l’intérieur d’un Code Block plutôt que de vous appuyer sur Remove Duplicates.
Le node échoue avec 'Input is not a valid JSON list'
Cause : L’entrée list a reçu une chaîne qui n’a pas pu être parsée en JSON (guillemets mal formés, virgule traînante ou texte non-JSON).
Solution : Vérifiez la sortie en amont. Si c’est une liste saisie à la main, encadrez-la avec un node Create List. Si elle vient d’un LLM, ajoutez un node Find and Replace en amont pour retirer les délimiteurs Markdown comme les backticks avant de l’injecter dans Remove Duplicates.
Bonnes pratiques et pièges à éviter
Placez Remove Duplicates immédiatement après tout node qui fusionne ou concatène des listes (Merge Lists, lecteurs multi-sources). Dédupliquer tôt réduit la consommation de tokens LLM en aval et évite d’exécuter deux fois la même opération coûteuse sur des éléments identiques.
L’égalité est stricte et sensible à la casse : "Alice@dng.ai" et "alice@dng.ai" sont traités comme deux éléments différents. Si vos données peuvent varier en casse ou en espacement, normalisez-les (lowercase, trim) avec un Code Block avant le node Remove Duplicates.
graph LR
A[Semrush Keywords] --> C[Merge Lists]
B[Google Search Console] --> C
C --> D[Remove Duplicates]
D --> E[LLM Analysis]
Nodes complémentaires
Combinez plusieurs listes en une seule, puis injectez le résultat dans Remove Duplicates pour ne garder que les éléments uniques.
Appliquez un filtrage conditionnel sur une liste. Utile avant ou après Remove Duplicates pour restreindre le jeu de données.
Construisez une liste de zéro lorsque vous avez besoin d’une entrée garantie comme tableau pour Remove Duplicates.
Itérez sur la liste dédupliquée renvoyée par Remove Duplicates pour exécuter une action une fois par élément unique.