53,640 Case Files Meet Their Match in HubSpot Migration
A seasoned developer embarked on a Salesforce-to-HubSpot migration project, expecting schema mapping and CSV cleanup to be the most challenging tasks. However, they soon realized that the harder problem lay in managing historical support data. The team had 53,640 case-related files to keep track of, while only 770 corresponding support tickets existed at that stage of the migration.
The developer initially treated the files as attachments and tried to move them using a CSV file. However, this approach failed to preserve the relationship between the record, its attachments, and the object representing it in the destination platform.
To overcome this challenge, the team created an explicit identity layer by mapping source case numbers to source records, exported files, and destination tickets. This manifest became the control plane for the rest of the migration process.
The developer also realized that a CSV file can move properties but does not automatically preserve relationships between records, attachments, and physical files in an export. They used a normalized manifest to resolve these relationships before migrating the data, making it easier to answer questions such as which files belong to each case and which cases have no attachments.