Case studies · VC fund + angel community
A venture firm and angel community: CRM migration off Affinity to HubSpot with custom data-repair scripting
- Engagement
- Delivered
- Timeline
- 2025-08-19 to 2025-11-12
In one line. 80x moved a venture firm and its angel community off Affinity onto HubSpot ahead of a hard license-expiry deadline, writing custom code to bring across 551 email-less person records and re-importing custom attributes that HubSpot would otherwise have dropped.
Client & context
The client runs two entities: the fund and its angel community. It began as an angel community and added the fund later, so it carried two deal pipelines, angel referrals and fund deals, with some overlap, since strong angel deals graduate to the fund. Relationships were spread across Affinity and Airtable, and the Affinity license was set to expire on 7 December. Attio was evaluated during scoping; the migration targeted HubSpot.
The problem
Two data-fidelity details needed engineering around. First, Affinity allows person records with no email (typically LinkedIn-sourced leads), while HubSpot requires an email to create a person, so 551 people needed custom handling to come across. Second, custom attributes needed care on import: the "who can introduce" field and the full-name attribute had to be preserved intact. For a fund whose edge is knowing who can introduce whom to its partners, that intro mapping was essential.
What we built
- An Affinity-to-HubSpot migration of organizations, people, lists and notes.
- Custom code to import the 551 email-less person records, assigning dummy addresses on a firm domain so they stay trackable.
- A CSV re-import of the custom attributes, "who can introduce" and full name.
- Filtered extraction views to drive the work: one partner's introductions (351 records), another partner's introductions, and the missing-email set (551).
- A 20-point migration QA checklist focused on the custom attributes.
How we did it
The team exported the filtered views to a shared Google Drive for processing. We recommended managing prospects on the People object rather than a custom LP object, cleaner email-campaign exports, and creating LP records only after a commitment. The email-less-contact importer cleared the backlog, and a training session followed once the data was clean.
Outcome
- 551 email-less records brought across that would otherwise not have created in HubSpot.
- Custom "who can introduce" and full-name attributes re-imported via CSV.
- Migration completed ahead of the 7 December Affinity subscription expiry.
Takeaway: An Affinity-to-HubSpot migration that used custom scripting to bring across 551 records HubSpot would otherwise have refused, timed to beat a hard license deadline.
This case study is anonymised: the client is not named, and figures that would identify them are omitted. The named clients 80x has worked with are listed on the homepage.