Multi-select dans Attio : ce qu'il permet, ses limites, et quand le garder
Un multi-select se crée en deux clics. Le coût arrive plus tard, dans les workflows, les exports et la saisie en masse. Voici ce qu'il bloque concrètement, les rares cas où il reste le bon choix, et comment en sortir quand il est déjà rempli.
Dans Attio, un attribut select peut accepter une seule valeur ou plusieurs. Dans le second cas, on parle de multi-select : vous créez une liste d'options, puis vous en cochez autant que nécessaire sur chaque record. C'est souvent le premier réflexe quand une personne doit pouvoir porter plusieurs valeurs à la fois.
Dans Attio : relation many-to-many ou objet intermédiaire, comment choisir ?, nous avons suivi une marque de vêtements qui passe d'un select à un multi-select pour noter les produits achetés par chaque cliente, puis à un objet Produit, et enfin à un objet Commande. Cet article s'arrête sur l'étape du multi-select : ce qu'il fait réellement, pourquoi il pose autant de problèmes, et dans quels cas vous pouvez le garder.
La réponse courte
Le multi-select fonctionne bien dans l'interface d'Attio, pour filtrer et afficher. En revanche, il devient pénible dès que la donnée sort de l'écran : dans un workflow, dans un export ou lors d'une modification en masse, parce qu'un même champ contient plusieurs valeurs à la fois. Gardez-le donc pour une liste d'options courte, qui ne bougera jamais, et sur laquelle aucun workflow ne doit réagir option par option. Dans les autres cas, préférez un objet relié.
Que contient vraiment un multi-select ?
Un multi-select ne range pas une valeur, mais une liste de valeurs dans une seule case. Pour la marque de vêtements, la cliente qui a acheté un sweat et une parka porte « Sweat, Parka » dans son attribut « Produits achetés ». En informatique, on appelle cela un tableau (un array).
Tant que vous restez dans les vues d'Attio, ce tableau ne se voit pas : vous filtrez sur « contient Sweat » et la vue affiche les bonnes clientes. Or tout ce qui sort de l'interface doit traiter ce tableau comme un ensemble, et c'est là que les difficultés commencent. Ce principe ne dépend pas d'Attio : les numéros de téléphone et les adresses email multiples posent exactement les mêmes problèmes, dans Attio comme dans n'importe quel outil.
Pourquoi un multi-select complique-t-il les workflows ?
Imaginons que la marque veuille envoyer une séquence de conseils d'entretien à chaque cliente qui achète la parka. Avec un multi-select, ce scénario devient étonnamment difficile à construire, pour trois raisons.
D'abord, le déclencheur porte sur l'attribut entier, et non sur l'option ajoutée. Le workflow sait que « Produits achetés » a changé, mais il voit plusieurs valeurs avant et plusieurs valeurs après.
Ensuite, dans un bloc de condition, Attio ne propose que l'opérateur « is » sur un multi-select, là où les vues offrent « contient ». Selon la documentation d'Attio, une condition sur un attribut à plusieurs valeurs est vraie dès qu'une des valeurs correspond. Ainsi, « is Parka » sera vrai pour une cliente qui vient d'ajouter un bonnet, si elle avait déjà la parka : la condition ne distingue pas ce qui vient d'être ajouté de ce qui était déjà là.
Enfin, pour déclencher des actions différentes selon l'option, vous ne pouvez pas brancher directement un switch. Il faut d'abord boucler sur toutes les valeurs du champ, puis placer un switch dans la boucle, et sur chaque branche la suite d'actions propre à cette option. Le workflow fonctionne, mais il devient lourd à maintenir.
Les mises à jour posent aussi problème. Dans le bloc qui modifie un record, les nouvelles valeurs s'ajoutent par défaut aux anciennes ; avec l'option « Replace existing values », elles les remplacent toutes. En revanche, aucun bloc ne retire une seule option. Notez enfin que les relations à plusieurs valeurs (une entreprise reliée à plusieurs contrats, par exemple) se comportent de la même façon dans les workflows.
Que devient un multi-select quand vous exportez vos données ?
À l'export, Attio écrit toutes les valeurs dans une seule cellule, séparées par des virgules : « Sweat, Parka, Bonnet ». L'information est bien là, mais elle n'est plus structurée.
Dans Excel ou Google Sheets, il faut alors des formules de recherche de texte pour savoir si une cliente a acheté la parka. Pire, un tableau croisé dynamique traite « Sweat, Parka » comme une valeur à part entière, distincte de « Sweat » et de « Parka ». La parka n'est donc pas comptée là où vous l'attendez, et vos comptages deviennent faux sans que rien ne vous prévienne.
L'import pose le problème inverse. D'après le guide d'import d'Attio, les valeurs d'un multi-select se séparent par des virgules, si bien qu'un nom d'option ne peut pas en contenir. De plus, quand l'import met à jour des records existants, les valeurs importées s'ajoutent à celles déjà présentes, au lieu de les remplacer.
Pourquoi la saisie en masse est-elle piégeuse ?
Supposons que la marque veuille ajouter « Bonnet » à cinquante clientes d'un coup. Le réflexe consiste à copier l'option et à la coller dans la colonne. Or le collage remplace le contenu de la cellule : chaque cliente se retrouve avec « Bonnet » seul, et ses achats précédents disparaissent.
De même, supprimer une option n'est pas anodin. La documentation d'Attio précise que la suppression retire aussi les données qui l'utilisaient, et qu'elle est irréversible. Un simple nettoyage de la liste d'options peut donc effacer une partie de votre historique.
Dans quels cas pouvez-vous garder un multi-select ?
En pratique, nous en gardons très peu. Le cas le plus net est celui des canaux de publication. Prenons la même marque de vêtements, qui suit ses contenus dans un objet Contenu : chaque vidéo ou chaque post porte un multi-select « Canaux » (TikTok, Instagram, LinkedIn, compte de la marque ou compte du fondateur). Une agence marketing qui gère les contenus de ses clients a exactement le même besoin.
Ce multi-select tient parce que la liste est finie et ne bougera pas : il n'existe pas trente-six réseaux sociaux, et l'on n'ajoute pas un canal chaque mois. Par ailleurs, l'équipe veut seulement savoir sur quels canaux un contenu part, sans rien noter d'autre sur chaque canal.
Vous pouvez donc garder un multi-select si les quatre conditions suivantes sont réunies :
- la liste d'options est courte et vous ne prévoyez pas de l'allonger ;
- aucun workflow ne doit réagir à l'ajout d'une option précise ;
- vous n'avez rien à décrire sur chaque option cochée (ni date, ni quantité, ni résultat) ;
- vous n'aurez pas besoin de compter finement ces valeurs dans un tableur.
Dès qu'une condition tombe, le multi-select devient une dette. Si la marque voulait par exemple noter la date de publication et le nombre de vues sur chaque canal, il lui faudrait un objet Publication, relié au contenu et au canal, comme l'explique l'article sur l'objet intermédiaire.
Comment sortir d'un multi-select déjà rempli ?
Deux méthodes existent, selon le volume et la structure cible.
La première passe par un workflow. Vous créez la nouvelle structure (par exemple l'objet Produit relié aux personnes), puis un workflow boucle sur les valeurs du multi-select de chaque record et crée la relation correspondante. Elle s'impose quand la cible est un objet.
La seconde se fait à la main, directement dans une vue, et reste raisonnable jusqu'à une quinzaine d'options. Vous créez d'abord les nouveaux attributs. Ensuite, vous filtrez la vue sur « contient l'option A » : tous les records affichés portent cette option, vous pouvez donc coller la valeur dans la nouvelle colonne sans risque. Puis vous recommencez avec l'option B, puis la C. Comme chaque collage ne concerne que des records filtrés, vous êtes sûr d'obtenir la bonne donnée.
Avant de commencer, regardez si vos options ne combinent pas deux informations. Supposons que la marque ait créé des options comme « Sweat précommandé », « Sweat livré », « Parka précommandée », « Parka livrée ». Il y a en réalité deux niveaux : le produit et l'étape. Vous pouvez alors créer un attribut par produit, puis filtrer sur « Sweat précommandé » et coller « précommandé » dans la colonne Sweat, et ainsi de suite. En traitant les étapes dans l'ordre, la dernière collée écrase la précédente, ce qui laisse bien l'étape la plus avancée. Si toutefois la liste des produits continue de grandir, un attribut par produit ne fera que déplacer le problème : visez plutôt un objet.
Questions fréquentes
Combien d'options un multi-select peut-il contenir dans Attio ?
Jusqu'à 5 000 options par attribut, selon l'aide d'Attio. En pratique, ce n'est jamais cette limite qui gêne, mais la maintenance d'une liste qui s'allonge.
Une relation à plusieurs valeurs pose-t-elle les mêmes problèmes ?
En partie. Dans les workflows, il faut aussi boucler sur les records reliés. Dans une vue, si vous affichez un attribut des records reliés (une date, par exemple), Attio montre une bulle par record, que vous ne pouvez pas modifier depuis cette cellule puisqu'il ne sait pas de quel record il s'agit. La relation garde toutefois un avantage décisif : chaque valeur est un vrai record, que vous pouvez décrire et compter.
Par quoi remplacer un multi-select ?
Par un objet relié en many-to-many si les options sont des choses à part entière, et par un objet intermédiaire si vous voulez décrire chaque lien. Le cheminement complet est dans Attio : relation many-to-many ou objet intermédiaire, comment choisir ?
Un workflow qui ne se déclenche pas comme prévu, un export inexploitable, un champ à migrer ? Appelez Amaury ou écrivez-lui directement : en dix minutes, il vous dit comment vous y prendre. Par téléphone ou WhatsApp au +33 6 79 34 13 31 (WhatsApp), ou sur LinkedIn. Pour aller plus loin, le programme ADA's Experts pour Attio accompagne les équipes qui construisent leur Attio depuis zéro.