Aller au contenu principal

Salesforce

Migrer de HubSpot vers Salesforce sans rien perdre : ce que HubSpot n'exporte pas, et l'ordre de bascule

par Paul Mantez, Co-fondateur & Développeur

Schéma : HubSpot lu par son API avant la fin du contrat, chaque enregistrement arrive dans Salesforce avec son identifiant HubSpot ; le connecteur de synchronisation est barré

Une PME passe de HubSpot à Salesforce pour une raison qui revient souvent : le CRM doit porter des processus que HubSpot ne sait pas tenir sans monter de forfait. Des remises validées par paliers, plusieurs entités, un ERP qui attend les commandes. On a détaillé ce choix dans HubSpot ou Salesforce pour une PME. Cet article commence là où celui-là s'arrête : la décision est prise, le contrat HubSpot a une date de fin, et il faut que tout soit de l'autre côté avant. Le sens inverse a son propre guide : migrer de Salesforce vers HubSpot.

On a mené cette migration dans ce sens comme dans l'autre. Les chiffres qui suivent sont ceux des éditeurs, avec leur source. Ceux de nos projets restent chez nos clients.


Partir de la date de fin du contrat HubSpot

HubSpot ne résilie pas un abonnement en cours d'engagement : la résiliation arrête le renouvellement, et à la date de fin, le compte repasse aux outils gratuits (aide HubSpot). Ce qui se passe ensuite est écrit dans la page sur la rétrogradation d'un abonnement :

  • les workflows sont désactivés, puis supprimés 90 jours après
  • les séquences aussi, avec leurs contacts désinscrits
  • les objets personnalisés restent visibles, mais on ne peut plus les modifier ni les associer
  • l'accès aux rapports personnalisés se perd
  • la synchronisation avec Salesforce, si elle existait, s'arrête

Le planning se lit donc à l'envers. La bascule doit être faite avant la date de fin, et l'export complet, workflows compris, doit exister avant elle. Un projet qui démarre six semaines avant l'échéance se joue sur les exports et la recette, pas sur la conception. Celui qui démarre trois mois avant a le temps de concevoir Salesforce correctement.


Ce que HubSpot n'exporte pas, et comment le récupérer

L'export d'enregistrements depuis l'interface sort les valeurs actuelles des propriétés et les associations, en CSV ou Excel. Il ne sort pas les activités : appels, notes, e-mails, réunions (aide HubSpot). La sauvegarde CRM, elle, sort un fichier par objet, mais HubSpot précise que les associations et les activités n'y sont pas (aide HubSpot).

Or les activités, c'est la relation client. Un commercial qui arrive dans Salesforce et ne retrouve pas ses notes de rendez-vous considère que la migration a raté, même si tous les contacts sont là.

On lit donc HubSpot par son API, en lecture seule, objet par objet : entreprises, contacts, affaires, tickets, lignes de produits, puis chaque type d'activité avec ce à quoi il est rattaché. Deux limites comptent pour l'extraction :

  • le nombre d'appels : 100 ou 190 requêtes par tranche de 10 secondes selon l'offre, et un plafond journalier partagé entre toutes les applications du compte (HubSpot Developers). Une extraction complète se planifie, elle ne se lance pas un matin
  • la recherche CRM, plafonnée à 10 000 résultats par requête : on pagine les objets, on n'extrait pas par la recherche

Deux choses se récupèrent à part. L'historique des propriétés, qui garde 45 versions pour un contact et 20 pour les autres objets. Les fichiers du gestionnaire de fichiers, qui s'exportent en ZIP. Et les workflows, qui ne sortent qu'en tableau ou en image : on les exporte quand même, ils serviront de cahier des charges.


Le connecteur HubSpot-Salesforce n'est pas un outil de migration

C'est la confusion la plus fréquente. HubSpot propose un connecteur natif avec Salesforce, et il semble logique de l'installer, de laisser tout se synchroniser, puis de couper HubSpot.

HubSpot le décrit lui-même comme une synchronisation continue dans les deux sens (aide HubSpot). Les enregistrements existants ne se synchronisent pas automatiquement à l'installation. Une entreprise HubSpot ne crée un compte Salesforce que sous conditions. Une synchronisation de contact peut coûter jusqu'à quatre appels d'API Salesforce. Le connecteur demande une offre HubSpot Professional ou Enterprise, et il s'arrête quand cet abonnement prend fin. Pour une migration, c'est l'outil qui disparaît au moment où on en a besoin.

Le connecteur sert aux entreprises qui gardent les deux outils, HubSpot pour le marketing et Salesforce pour la vente. Pour quitter HubSpot, on extrait et on charge.


Préparer Salesforce avant le premier import

Vérifier l'accès à l'API. Salesforce Professional n'inclut pas l'API par défaut, c'est une option payante. La documentation précise qu'on peut demander à son Account Executive d'ouvrir l'accès à titre gracieux le temps d'une migration de données (aide Salesforce). Sans API, il ne reste que l'assistant d'import : 50 000 enregistrements par import, et pas d'opportunités dans la liste des objets qu'il accepte (aide Salesforce). La demande se fait au début du projet, pas la veille.

Un identifiant HubSpot sur chaque objet. Sur chaque objet cible, on crée un champ External ID unique qui reçoit l'identifiant HubSpot de l'enregistrement. L'import se fait en upsert sur ce champ : l'enregistrement existe, il est mis à jour ; il n'existe pas, il est créé. La migration devient rejouable, et les liens entre objets se posent par cet identifiant, jamais par le nom de la société. C'est la méthode qu'on a détaillée pour la migration de TeamLeader vers Salesforce, et elle vaut à l'identique ici.

Les dates de création d'origine. Par défaut, tout ce qu'on importe est daté du jour de l'import. La permission « Set Audit Fields upon Record Creation » permet d'écrire la date de création et l'auteur d'origine, uniquement à la création de l'enregistrement (aide Salesforce). Elle va avec « Update Records with Inactive Owners » : un commercial parti peut rester propriétaire de ses comptes. On l'active le temps de la migration, puis on la retire.

Les listes de valeurs. Une étape de pipeline HubSpot devient une étape d'opportunité Salesforce, et les étapes proposées dépendent du processus de vente et du type d'enregistrement. Plusieurs pipelines HubSpot donnent souvent plusieurs processus. On aligne toutes les listes avant le premier chargement, sinon la recette se passe à courir après des valeurs vides.


La correspondance des objets, et les deux cas qui coincent

Pour l'essentiel, la correspondance est directe : une entreprise devient un compte, un contact un contact, une affaire une opportunité, un ticket un cas, les lignes de produits des lignes d'opportunité rattachées à un catalogue de prix. Deux sujets demandent une décision.

Le contact rattaché à plusieurs entreprises. HubSpot associe un contact à plusieurs entreprises, l'une marquée comme principale. Salesforce rattache un contact à un compte, et la fonction Contacts to Multiple Accounts ajoute les autres comme relations indirectes. Ces relations se chargent par Data Loader, une ligne par couple contact-compte (aide Salesforce). Il faut décider avant quelle entreprise devient le compte principal, et activer la fonction avant le chargement.

Les activités. Les tâches et les appels deviennent des tâches, les réunions des événements, les notes des notes rattachées à leur fiche. C'est l'étape la plus longue à charger, parce que chaque activité doit retrouver son parent dans Salesforce, et Data Loader ne résout pas un External ID sur ces champs de rattachement : on charge d'abord les comptes, contacts et opportunités, on récupère leurs identifiants Salesforce, puis on charge les activités. Pour les gros volumes, Bulk API 2.0 traite jusqu'à 150 millions d'enregistrements par 24 heures.

Pour ce qu'on reprend ou pas, l'ordre reste celui de toute reprise : compter d'abord, décider ensuite. Le tri objet par objet est dans notre article sur la reprise de données CRM.


Workflows, séquences, formulaires : on reconstruit, on ne migre pas

Rien ne convertit un workflow HubSpot en automatisation Salesforce. Les workflows exportés en tableau servent de liste : pour chacun, on se demande s'il sert encore, ce qu'il déclenche, qui s'en plaindrait s'il disparaissait. Ce qui reste se reconstruit en Flow. Salesforce ne maintient plus Workflow Rules ni Process Builder depuis le 31 décembre 2025 (aide Salesforce) : tout ce qu'on construit aujourd'hui l'est en Flow.

Les séquences commerciales se refont avec les outils de cadence de Salesforce, ou restent dans un outil dédié. Les formulaires du site doivent pointer vers Salesforce le jour de la bascule, sinon les leads de la semaine arrivent dans un HubSpot qu'on vient de couper.

Les consentements demandent une attention à part. HubSpot gère un statut par type d'abonnement, Salesforce un refus de sollicitation par fiche et des préférences de confidentialité. On reprend les désabonnements en priorité absolue : un contact qui s'est désinscrit chez vous ne doit pas recevoir un e-mail parce qu'il a changé d'outil.


L'ordre de bascule

  1. Exporter tout HubSpot, workflows et fichiers compris, dès le début du projet, et garder cet export daté.
  2. Charger en sandbox, dans l'ordre : comptes, contacts, relations contact-compte, opportunités et lignes, cas, puis activités.
  3. Faire tester les commerciaux sur leurs propres comptes. Ils voient en dix minutes ce qu'aucun contrôle automatique ne voit.
  4. Corriger le mapping, recharger. Grâce aux identifiants HubSpot, sans doublon.
  5. Charger en production avant la formation, pour que l'équipe apprenne sur ses vraies données.
  6. La veille de la bascule, passer un delta : ce qui a changé dans HubSpot depuis le dernier chargement.
  7. Basculer les formulaires et les intégrations, puis laisser HubSpot en lecture jusqu'à la fin du contrat.

Le contrat s'arrête, l'historique est déjà dans Salesforce.


Ce qu'il faut apporter à nos trente minutes

Si vous lisez cet article, la date de fin de votre contrat HubSpot est probablement déjà dans votre agenda. Pour savoir en trente minutes si votre calendrier tient et ce qu'il faudra reconstruire, venez avec :

  • votre offre HubSpot et la date de fin du contrat
  • l'édition Salesforce envisagée, et si l'API y est ouverte
  • le nombre de workflows et de séquences qui tournent encore
  • les objets personnalisés HubSpot, s'il y en a
  • les outils branchés à HubSpot : formulaires du site, ERP, outils marketing

Si le projet se confirme, le cadrage dure un à deux jours selon le périmètre. Il est facturé, puis déduit du projet si vous nous le confiez. Il produit l'inventaire de ce qui part par l'API, de ce qui se reconstruit en Flow et de l'ordre de bascule, avant qu'une seule fiche soit chargée.


Questions fréquentes

Peut-on faire la migration soi-même ?

Oui, pour une petite base sans objets personnalisés ni workflows. Au-delà, l'export n'est plus le plus dur : il faut extraire les activités par l'API avant la fin du contrat, et reconstruire en Flow les workflows qui servent encore. C'est là qu'un regard extérieur fait gagner du temps, et qu'on évite de découvrir un manque une fois le contrat HubSpot terminé.

Peut-on utiliser le connecteur HubSpot-Salesforce pour migrer ?

Non. HubSpot le présente lui-même comme une synchronisation continue dans les deux sens. Il ne reprend pas automatiquement les enregistrements existants, demande une offre HubSpot Professional ou Enterprise, consomme des appels d'API Salesforce, et s'arrête quand l'abonnement HubSpot prend fin. Pour une migration, on lit HubSpot par son API et on charge Salesforce avec Data Loader ou Bulk API.

Que deviennent nos données HubSpot après la résiliation ?

Le compte repasse aux outils gratuits à la date de fin du contrat, qu'on ne peut pas avancer en cours d'engagement. Les workflows et les séquences sont supprimés 90 jours après, les objets personnalisés passent en lecture seule et l'accès aux rapports personnalisés se perd. On exporte donc tout avant cette date, et on garde l'export daté.

On est en Salesforce Professional, sans API : comment charger les données ?

L'API n'est pas incluse en Professional, mais Salesforce indique qu'on peut demander à son Account Executive de l'ouvrir à titre gracieux le temps d'une migration de données. Sans API, il ne reste que l'assistant d'import, limité à 50 000 enregistrements par import et qui ne prend pas les opportunités.

Garde-t-on les dates de création d'origine ?

Oui, avec la permission « Set Audit Fields upon Record Creation », activée le temps de la migration. Elle permet d'écrire la date de création et l'auteur d'origine, uniquement à la création de l'enregistrement. Elle va avec « Update Records with Inactive Owners », ce qui permet aussi de garder comme propriétaire un commercial parti.

Un contact rattaché à plusieurs entreprises dans HubSpot, ça passe dans Salesforce ?

Oui, avec la fonction Contacts to Multiple Accounts. Le contact garde un compte principal, et les autres entreprises deviennent des relations indirectes, chargées par Data Loader, une ligne par couple contact-compte. Il faut décider avant le chargement quelle entreprise devient le compte principal.

Les workflows HubSpot se migrent-ils ?

Non. HubSpot n'exporte un workflow qu'en tableau ou en image. Dans Salesforce, les automatisations se construisent en Flow : Salesforce ne maintient plus Workflow Rules ni Process Builder depuis le 31 décembre 2025. On liste les workflows HubSpot avant la fin du contrat, on garde ceux qui servent encore, et on les reconstruit.


Votre contrat HubSpot a une date de fin et vous voulez savoir si le calendrier tient ? C'est la question de nos trente minutes gratuites. Pour le reste du projet Salesforce, voir notre agence Salesforce à Lille et notre offre CRM & Ventes.

Plus d'articles

Vous êtes basé à Lille ou dans les Hauts-de-France ?

Pour un accompagnement local, voir notre page dédiée : Agence Salesforce à Lille →

Nous contacter

Un projet ? Parlons-en.

On répond en moins de 24h.