Migració de CRM

Migrar de Salesforce a HubSpot sense perdre l’històric

Leads convertits, historial d’etapes, arxius i lògica en Flows o Apex: on es torcen les migracions des de Salesforce i com fer-les repetibles.

Migrar de Salesforce a HubSpot sense perdre l’històric

Per migrar de Salesforce a HubSpot sense perdre l’històric necessites tres coses: un mapatge documentat de cada objecte i camp, l’identificador de Salesforce desat a cada registre de HubSpot i una càrrega de prova completa abans del tall. Amb això, comptes, oportunitats, activitats i adjunts arriben amb les seves dates originals i les seves relacions, i pots repetir el procés tantes vegades com calgui sense duplicar res.

A continuació tens el mètode que seguim a cada migració a HubSpot, amb els punts on les migracions des de Salesforce se solen torçar: els leads convertits, l’historial d’etapes, els arxius i la lògica que viu en Flows i Apex.

Què vol dir «no perdre l’històric» a Salesforce

Quan algú demana conservar l’històric, gairebé mai no es refereix només als registres. Vol obrir la fitxa d’un client i veure què s’hi va parlar fa tres anys, quina oportunitat es va perdre i per què, qui la portava i quin contracte s’hi va adjuntar. A Salesforce aquesta informació està repartida en molts objectes: Task i Event per a activitats, EmailMessage per a correus, ContentDocument i ContentVersion (o l’antic Attachment) per a arxius, OpportunityHistory per als canvis d’etapa i les taules de Field History per als camps amb seguiment.

Abans de mapar, fes inventari: quants registres hi ha per objecte, quins camps tenen dades de debò, quins objectes personalitzats es fan servir i quines automatitzacions en depenen. En orgs amb anys d’ús és normal trobar camps que ningú no emplena des de fa temps i objectes creats per a un projecte que ja no existeix. No tot mereix viatjar, i el que no viatja no cal validar-lo.

Com es mapen els objectes de Salesforce a HubSpot

La correspondència bàsica és coneguda, però cada fila amaga decisions que convé deixar per escrit abans de programar res.

SalesforceHubSpotDecisió que cal prendre
AccountEmpresaJerarquies (ParentId) com a associació empresa matriu i filial
ContactContacteContactes vinculats a diversos comptes: associacions amb etiqueta i empresa principal
Lead sense convertirContacte (fase del cicle de vida) o objecte LeadsEls leads ja convertits no es migren com a registres a part
OpportunityNegociPipelines, etapes, motiu de pèrdua, divisa
OpportunityContactRoleAssociació contacte–negociRols com a etiquetes: decisor, influenciador, signant
Product2 i OpportunityLineItemProductes i línies de pressupostLlistes de preus i descomptes per línia
CaseTiquetCues de casos com a equips o regles d’assignació
Task, Event, EmailMessageTasques, trucades, reunions, correusData original de l’activitat i associacions
Objectes personalitzatsObjecte personalitzat o propietatsEls objectes personalitzats de HubSpot requereixen una edició Enterprise

Els leads convertits són la font de duplicats més freqüent. Quan Salesforce converteix un lead, el registre de Lead continua existint amb IsConverted marcat i la seva informació passa a Contact, Account i, de vegades, Opportunity. Si migres tots els leads sense filtrar, dupliques cada client. El correcte és migrar només els no convertits i, si interessa, traslladar del lead convertit les dades d’origen (font, campanya, data d’alta) a propietats del contacte.

L’altre parany són els contactes relacionats amb diversos comptes. HubSpot permet associar un contacte a diverses empreses i etiquetar cada associació, així que no cal triar-ne només una, però sí decidir quina és la principal, perquè és la que faran servir informes i workflows.

Activitats, correus i arxius: la part que més pesa

Les activitats són el gruix del volum i el motiu pel qual moltes migracions queden a mitges. A HubSpot cada activitat és un objecte (nota, trucada, correu, reunió, tasca) amb una propietat de data d’activitat que pots emplenar amb la data original. Si no la informes, HubSpot hi posa la data de la càrrega i la cronologia del client queda aixafada en un sol dia.

A Salesforce, Task barreja trucades, correus registrats i tasques reals: cal llegir-ne el subtipus per enviar cadascuna al seu objecte a HubSpot. Els Event passen a reunions. Els EmailMessage poden portar cossos HTML molt llargs, i cal decidir si es migra el cos complet o un resum amb l’original adjunt.

Els arxius demanen un pas més: descarregar-los de Salesforce, pujar-los a l’eina d’arxius de HubSpot i associar-los al registre, normalment a través d’una nota que els conté. És lent i ocupa espai, així que acorda un criteri: només contractes i propostes, només clients actius o només els darrers anys.

Les propietats de HubSpot que registren quan un negoci va entrar a cada etapa són de només lectura i es calculen amb els moviments dins de HubSpot. L’historial d’etapes de Salesforce no s’hi pot bolcar: desa les dates que importin (entrada a proposta, data original de tancament) en propietats pròpies o en un registre d’historial a part.

Propietaris i usuaris: qui portava cada compte

El propietari d’un registre a HubSpot ha de ser un usuari del compte. Abans de carregar res, crea els usuaris i prepara una taula d’equivalències entre l’Id d’usuari de Salesforce i el propietari de HubSpot. Els comercials que ja no són a l’empresa són el cas típic: assigna els seus registres a un responsable actual i desa el propietari original en una propietat de text per no perdre qui va portar la relació.

Amb els casos passa una cosa semblant. Si a Salesforce es repartien per cues, decideix si a HubSpot això es resol amb equips, amb el propietari del tiquet o amb regles d’assignació en workflows.

N’hi ha prou amb l’eina de HubSpot o cal un script?

HubSpot ofereix Smart Transfer, una eina guiada per portar dades des d’altres aplicacions, Salesforce inclòs. Segons la seva documentació, converteix comptes en empreses, contactes i leads en contactes, oportunitats en negocis i casos en tiquets, trasllada tasques, esdeveniments, notes, correus i usuaris, i mou els adjunts en una transferència puntual posterior. També deixa clars els seus límits: no admet objectes personalitzats ni camps de tipus referència o calculats, i està pensada per a una migració única. Si continuaràs fent servir Salesforce, recomana la integració nativa i adverteix que combinar-les totes dues crea duplicats. El detall és a la llista oficial d’aplicacions compatibles.

Per a una org estàndard amb poca personalització, Smart Transfer o l’importador de HubSpot poden ser suficients. Quan hi ha objectes personalitzats, relacions de diversos nivells, historial d’etapes que cal conservar o molts arxius, l’habitual és un script contra les API dels dos sistemes: extreure amb l’API de Salesforce o Data Loader, transformar amb les regles del mapatge i carregar amb l’API de HubSpot, deixant l’Id de Salesforce a cada registre.

El mètode: identificadors, càrregues de prova i delta

  1. 01Inventari de l’org
  2. 02Mapatge validat
  3. 03Càrrega de prova completa
  4. 04Validació amb usuaris
  5. 05Delta i tall
Fig. 1 Les cinc fases d’una migració de Salesforce a HubSpot. La càrrega de prova es repeteix fins que la validació surt neta.

El que fa el procés repetible és l’identificador d’origen. Crea a cada objecte de HubSpot una propietat «ID Salesforce» que exigeixi valors únics i fes-la servir com a clau en carregar. Si la segona càrrega de prova porta un registre que ja existeix, s’actualitza en lloc de duplicar-se, i les associacions es resolen buscant per aquest ID. De passada, qualsevol fitxa de HubSpot queda traçada fins al seu origen.

La càrrega de prova ha de ser completa, no una mostra de cent registres. És l’única manera de veure els errors que apareixen amb el volum real: telèfons amb formats estranys, valors de picklist retirats, correus no vàlids, oportunitats sense compte. Després es valida amb recomptes per objecte i amb usuaris clau que obren fitxes que coneixen bé.

El dia del tall es congela Salesforce, es carrega el delta (el que s’ha creat o modificat des de l’última càrrega, filtrant per LastModifiedDate) i l’equip comença a treballar a HubSpot. Aquest pas mereix un pla de tall propi, amb data acordada, responsables i un pla de marxa enrere per si la validació final falla.

El que no són dades: Flows, Apex i validacions

Salesforce sol acumular lògica: Flows, triggers d’Apex, regles de validació, camps de fórmula i resums acumulats. Res d’això no viatja amb les dades. Cal inventariar-ho i decidir com es reconstrueix: workflows, propietats calculades, regles de validació de propietats, accions de codi personalitzat o serveis de desenvolupament a mida quan la lògica és complexa.

1.615fluxos de contractes recuperats amb un backfill en una migració des de Salesforce
Fig. 2 Projecte real d’una SaaS fintech: a més de les dades, la lògica a mida va passar a una dotzena de microserveis.

En una SaaS fintech que vam migrar des de Salesforce, aquesta lògica va acabar repartida en uns 12 microserveis: numeració seqüencial, ARR i tipus de compte calculats diàriament, renovacions encadenades, historial d’etapes per al data warehouse i la connexió amb la seva eina de gestió de contractes, amb un backfill de 1.615 fluxos. Tens el cas complet al web. No totes les orgs en necessiten tant, però convé saber-ho abans de pressupostar.

Si encara estàs decidint si el canvi compensa, la comparativa HubSpot vs Salesforce t’ajuda a veure què hi guanyes i què deixes enrere.

Equip Vexco

Consultors i desenvolupadors de HubSpot a Sabadell, Barcelona i Madrid. HubSpot Diamond Solutions Partner. Qui som →

Preguntes freqüents

El que ens pregunten abans de començar

HubSpot té una eina nativa per migrar des de Salesforce?

Sí. Smart Transfer permet portar comptes, contactes, leads, oportunitats, casos, activitats, notes i usuaris, i els adjunts com a transferència puntual. No admet objectes personalitzats ni alguns tipus de camp, com els de referència o els calculats, així que en orgs molt personalitzades se sol combinar amb scripts contra l’API.

Es conserven les dates originals de trucades, correus i reunions?

Sí, sempre que en carregar cada activitat n’informis la data d’activitat amb la data original de Salesforce. Si no ho fas, HubSpot fa servir la data de la càrrega i tota la cronologia queda concentrada en el mateix dia.

Es pot migrar l’historial d’etapes de les oportunitats?

No a les propietats natives de data d’entrada en etapa, que són de només lectura i es calculen amb els moviments dins de HubSpot. L’habitual és desar les dates clau en propietats pròpies o en un registre d’historial a part.

Podem continuar treballant a Salesforce mentre migrem?

Sí. L’equip continua a Salesforce fins a la data de tall; aquell dia es congela, es carrega el delta de canvis i es passa a HubSpot. Si necessites que convisquin durant mesos, l’opció és la integració nativa HubSpot-Salesforce, no una migració.

Blog

Continua llegint

Tornar al blog →

Auditoria gratuïta

Vols portar Salesforce a HubSpot amb tot el seu històric?

Inventariem la teva org, documentem el mapatge, assagem la càrrega completa i planifiquem el tall perquè vendes no s’aturi.

Responem en menys de 24 hores laborables.

Auditoria gratuïta