Retour d'expérience · HubSpot
SIRET, CA, effectif : enrichir ses fiches HubSpot en 1 clic (gratuitement)
Un clic sur la fiche entreprise, et le SIRET, le chiffre d'affaires, l'effectif, la TVA, l'adresse et l'état de la société se remplissent tout seuls. Sans copier-coller, sans outil d'enrichissement payant, et sans monter de licence HubSpot.
Ce sont les infos qu'on cherche le plus souvent sur un prospect : sa taille (chiffre d'affaires, effectif), son identité légale (SIRET, TVA) et ses dirigeants. Dans HubSpot, un bouton qui va les chercher passe normalement par Data Hub Pro (ou une licence Enterprise). Mon client n'avait ni l'un ni l'autre, et n'avait pas envie de payer une licence de plus pour remplir quelques champs.
Alors j'ai pris un autre chemin, 100 % officiel : une petite app HubSpot, les données gratuites de l'État, et un relais sur mon serveur. Il y a eu un mur, un déclic, puis quelques pièges. Je vous raconte tout, étape par étape.
Le point de départ : des fiches entreprise à moitié vides
Mon client est une PME B2B qui gère plus de 10 000 entreprises dans HubSpot. Comme dans beaucoup de CRM, les fiches se remplissent au fil de l'eau, quand quelqu'un y pense.
J'ai regardé de plus près les fiches qui avaient déjà un SIREN, donc celles où l'équipe avait fait l'effort. Sur 232 fiches, aucune n'avait de numéro de TVA. Le SIRET manquait sur plus de la moitié, le code NAF sur 8 fiches sur 10.
Au quotidien, ça donne quoi ? Des copier-coller depuis des annuaires en ligne, des fautes de frappe, et du temps perdu sur des infos qui existent déjà quelque part.
Pourquoi HubSpot seul ne suffisait pas (Data Hub Pro)
Avant de construire quoi que ce soit, j'ai fait le tour des solutions existantes.
- La voie « normale » dans HubSpot : un bouton qui va chercher des données ailleurs et les écrit sur la fiche, c'est le terrain de Data Hub Pro (ou d'une licence Enterprise). Avec la licence Pro de mon client, impossible. Il aurait fallu ajouter une licence, donc un budget annuel, pour remplir quelques champs.
- Un outil d'automatisation du marché : faisable, mais avec un abonnement payant en plus. Et je ne voulais pas faire tourner l'outil d'un client sur un compte qui n'est pas le sien.
- Les outils d'enrichissement : efficaces, mais facturés au crédit ou à l'abonnement… pour des données que l'État publie gratuitement.
C'est cette dernière remarque qui m'a mis sur la bonne piste.
Le déclic : l'API Recherche d'entreprises, gratuite et officielle
L'État met à disposition l'API Recherche d'entreprises, qui s'appuie notamment sur la base Sirene de l'INSEE. Elle est gratuite, sans clé, sans inscription. On lui donne un SIREN ou un nom, elle répond avec la fiche officielle de l'entreprise.
Ce qu'on y trouve :
- le SIREN et le SIRET du siège
- le chiffre d'affaires du dernier exercice, quand l'entreprise publie ses comptes
- la tranche d'effectif et la catégorie (PME, ETI, grande entreprise)
- le nom et la fonction des dirigeants
- très souvent le numéro de TVA intracommunautaire
- l'adresse du siège et le code NAF
- l'état (en activité ou fermée) et la date de création
Une seule limite à retenir : 7 requêtes par seconde. Largement suffisant pour un bouton.
Avant de me lancer, j'ai mesuré ce que l'API connaissait vraiment sur un échantillon de 100 fiches de mon client : la TVA pour 95 % d'entre elles, l'effectif pour 84 %, le chiffre d'affaires pour 70 %. De quoi remplir une bonne partie des trous.
Comment j'ai construit le bouton « Enrichir » dans HubSpot
L'ensemble tient en trois briques.
1. Une carte sur la fiche entreprise
J'ai créé une petite application HubSpot privée, à mon nom (« Powered by dollivan.com » s'affiche en bas de la carte). Elle ajoute une carte « Registre » en bas de la colonne de droite de la fiche entreprise.
La carte lit le nom, le code postal et le SIREN de la fiche, interroge le registre, puis affiche la liste des champs manquants et un bouton Enrichir. S'il n'y a rien à compléter, elle l'indique tout simplement.
Petite habitude qui m'a sauvé du temps : j'ai d'abord livré la carte en lecture seule. Elle affichait ce que le registre savait, sans rien écrire. Ça m'a permis de vérifier l'affichage sur la licence du client avant d'aller plus loin.
2. Un relais n8n sur mon serveur
Une carte HubSpot ne peut pas écrire directement dans le CRM. Il faut un intermédiaire qui détient les accès. J'ai installé n8n, un outil d'automatisation open source, sur mon propre serveur, derrière une adresse sécurisée en HTTPS.
Quand on clique sur « Enrichir », le relais :
- vérifie que la demande vient bien de HubSpot
- relit la fiche entreprise
- refait lui-même la recherche dans le registre
- remplit les champs, selon des règles précises (j'y reviens juste après)
3. La sécurité, sans prise de tête
Trois principes simples :
- Chaque demande est signée par HubSpot. Le relais vérifie la signature et l'heure de la demande avant de faire quoi que ce soit. Une demande qui ne vient pas de HubSpot est refusée.
- La carte n'envoie presque rien : l'identifiant de la fiche et le SIREN affiché. Le relais refait la recherche lui-même et vérifie que c'est bien la même entreprise. Il écrit donc exactement ce que l'utilisateur a vu, rien d'autre.
- Les accès au CRM restent sur le serveur. Rien de sensible ne transite par le navigateur.
Pour les curieux, la vérification de la signature tient en quelques lignes :
const attendue = crypto
.createHmac('sha256', CLE_SECRETE_APP)
.update(`POST${url}${corps}${horodatage}`)
.digest('base64');
// on compare avec l'en-tête x-hubspot-signature-v3, et on refuse si l'horodatage a plus de 5 minutes
Enrichir HubSpot sans écraser les données : mes 5 règles
C'est la partie la plus importante. Un enrichissement qui écrase des infos justes fait plus de mal que de bien.
1. Uniquement les champs vides. SIREN, SIRET, TVA, code NAF, adresse : si l'équipe a déjà saisi quelque chose, on n'y touche pas.
2. Les chiffres du registre vont dans des champs à part. Chiffre d'affaires publié (et son exercice), effectif, catégorie, date de création : tout ça va dans des champs « registre » dédiés. Le chiffre d'affaires publié sert de repère pour situer la tranche de CA.
Pourquoi ? Parce que j'ai mesuré avant de décider. J'ai comparé la tranche de chiffre d'affaires saisie par l'équipe avec celle qu'on pourrait déduire du registre. Elles ne concordaient que dans 44 % des cas. En regardant de près, ce n'était pas l'équipe qui se trompait : le registre donne le chiffre d'une société précise, parfois une holding avec 0 € de CA, alors que l'équipe raisonne en chiffre de groupe. Les deux infos sont justes, elles ne disent pas la même chose. Donc on garde les deux.
3. L'adresse avec prudence. On ne remplit l'adresse que si la fiche n'en a pas, ou si son code postal est celui du siège. Sinon, la fiche représente peut-être un autre établissement, et on la laisse tranquille.
4. La recherche par nom est signalée. Quand une fiche n'a pas de SIREN, la carte cherche par nom et code postal. C'est pratique, mais pas infaillible. En testant, je suis tombé sur un cas parlant : le registre proposait une filiale au lieu de la maison mère. La carte affiche donc un avertissement « Trouvée par le nom », avec le SIREN et la ville trouvés, pour qu'on vérifie avant de cliquer.
5. L'état est toujours à jour. Le champ « État au registre » (en activité ou fermée) est mis à jour à chaque clic. Pratique pour éviter de relancer une société qui a fermé.
Les obstacles, et comment je les ai passés
Rien ne se passe jamais comme prévu du premier coup. Voici les quatre pièges que j'ai rencontrés.
Le « site dangereux ». Le sous-domaine tout neuf de mon relais a été signalé comme dangereux par le navigateur. Un faux positif classique sur une adresse qui vient d'être créée. J'ai fait le signalement, j'ai travaillé par un autre accès en attendant, et c'est rentré dans l'ordre dans la journée.
L'app « installée » mais introuvable. J'avais autorisé l'app sur le compte du client, mais la carte n'apparaissait nulle part. La raison : une app de ce type n'est vraiment installée qu'une fois que le serveur a échangé le code d'autorisation renvoyé par HubSpot. J'ai ajouté cette étape dans n8n, et tout est apparu.
Le SIRET qui bloquait tout un lot. Dans ce compte HubSpot, le champ « Numéro SIRET » est à valeur unique : deux fiches ne peuvent pas porter le même. Le jour où deux fiches représentaient la même société, HubSpot a refusé tout un lot de 100 mises à jour à cause d'une seule. Correctif : si un lot est refusé, le relais réécrit fiche par fiche, retire seulement le SIRET en double et le signale comme doublon probable. Au passage, on a découvert un vrai doublon à fusionner.
Les dates qui ne se ressemblaient pas. Dans une carte HubSpot, une date arrive en millisecondes. Le registre, lui, la donne au format année-mois-jour. Résultat : la carte croyait qu'une date de création manquait alors qu'elle était bien là. Une petite conversion, et c'était réglé.
Au clic, pas en masse
À un moment, j'ai testé un passage automatique pour rattraper d'un coup toutes les fiches qui avaient un SIREN. Ça marche : 100 fiches enrichies en 40 secondes.
Puis on a fait le choix inverse : tout se fait au clic. C'est la personne qui a la fiche sous les yeux qui décide. Un peu plus lent, mais personne n'est surpris par ce qui change dans son CRM.
La mise en page de la fiche compte autant que la donnée
Le client a joué le jeu des retours, et ça a beaucoup amélioré le résultat :
- Les infos à gauche, le bouton à droite. HubSpot ne permet pas de mettre une carte d'app dans la colonne de gauche. Les données vont donc dans les cartes « Identité » et « Entreprise » à gauche, et le bouton reste en bas à droite.
- Des titres d'un mot. « Identité », « Coordonnées », « Signaux »… plutôt que des phrases. On lit une fiche en deux secondes.
- Les contacts tout en haut à droite, dès l'ouverture de la fiche.
Et pour les contacts : e-mail et téléphone avec Lusha
Le registre ne connaît que des sociétés, pas des personnes. Pour l'e-mail pro, le mobile et le poste d'un contact, il faut un fournisseur spécialisé. J'ai branché le même relais sur Lusha, avec une carte « Enrichissement » sur la fiche contact et les mêmes règles :
- au clic seulement, car chaque recherche consomme un crédit (et la carte le rappelle)
- uniquement les champs vides
- jamais un numéro marqué « ne pas appeler »
Et non, il n'existe pas d'accès gratuit et propre aux profils LinkedIn pour récupérer un poste. Passer par un fournisseur reste la voie la plus sûre.
Le bilan
- Licence : aucune licence HubSpot en plus. Tout tourne avec la licence Pro existante du client.
- Coût : 0 € d'API. Un serveur que j'avais déjà, et n8n en auto-hébergé.
- Délai : construit en une journée, testé fiche par fiche.
- Résultat : le SIRET, le chiffre d'affaires, l'effectif, la TVA, l'adresse et l'état en un clic, sans rien écraser.
- Réutilisable : la même app s'installe sur d'autres comptes HubSpot. Elle servira chez d'autres clients.
Ce que je retiens
- Commencer en lecture seule. On valide l'affichage et les données avant d'écrire quoi que ce soit.
- Ne jamais écraser une saisie. Les champs vides d'abord, et des champs séparés pour tout ce qui peut prêter à débat.
- Mesurer avant de déduire. Sans la comparaison des 44 %, j'aurais remplacé des infos justes par d'autres.
- Laisser l'humain cliquer. L'automatisme total n'est pas toujours la meilleure option.
Questions fréquentes
Peut-on enrichir HubSpot gratuitement ?
Oui, pour les données d'entreprise françaises. L'API Recherche d'entreprises de l'État est gratuite et sans clé. Il faut seulement un petit relais pour écrire dans HubSpot, ici n8n en auto-hébergé.
Faut-il Data Hub Pro pour ajouter un bouton d'enrichissement ?
La voie native de HubSpot passe par Data Hub Pro ou une licence Enterprise. En passant par une app HubSpot et un relais externe, on obtient le même usage avec une licence Pro.
D'où viennent les données ?
Du registre public des entreprises, via l'API Recherche d'entreprises, qui s'appuie notamment sur la base Sirene de l'INSEE. Le chiffre d'affaires n'est disponible que si l'entreprise publie ses comptes.
Est-ce que ça écrase les données existantes ?
Non. Le bouton remplit uniquement les champs vides. Les chiffres du registre (CA, effectif, catégorie) vont dans des champs séparés.
Et pour l'e-mail et le téléphone des contacts ?
Le registre ne connaît que les sociétés. Pour les personnes, il faut un fournisseur comme Lusha, au clic, car chaque recherche consomme un crédit.
Vos fiches HubSpot sont à moitié vides, ou votre équipe passe trop de temps à recopier des infos ? Parlons-en : un bouton comme celui-ci peut être en place chez vous rapidement. Réservez un appel avec moi.