Skip to content

Case studies · Venture capital

A venture firm: Affinity to Attio migration, data cleanup & workflow automation

Engagement
Ongoing
Timeline
2026-03-03 to 2026-07-02
AttioAffinityGitHub ActionsZapierOneDriven8nClaude CodeOutlook/MicrosoftLangdock

In one line. We migrated a venture firm off Affinity onto Attio, preserved its historic deal-flow dates, and ran an extended notes de-duplication program, with the migration live and cleanup delivered against a sub-0.8% missing-data target.

Client & context

The firm is an 11-person VC fund that ran on Affinity under a single shared team license. We moved it onto Attio's beta ahead of an Affinity notice date, around a fixed constraint: a mid-March LP meeting left the team unavailable for two days.

The problem

The fund needed a clean migration of everything, companies, people, LP contacts, lists and custom fields, without losing the historic "date added" values its deal-flow reporting depends on, which a naive migration overwrites with the record-creation date. Native files, misfiled notes and duplicate content all had to be sorted, and the team wanted email/CRM automations afterward.

What we built

  • A full Affinity → Attio migration (companies, people, LP contacts, lists, custom fields)
  • 360 native files (~3GB) downloaded and fuzzy-matched/linked back to company records, plus a local zip backup
  • 131 notes moved from person records to company records
  • A custom "date added" attribute preserving historic legacy dates, auto-populated for new deals by a GitHub Action cron
  • A script to resolve ~200 orgs missing Affinity IDs and map files to companies
  • A CSV re-import of descriptions (494 records), city/country location, source fields and industry tags (a 79-tag set, 100% mapped)
  • Timestamp-based notes de-duplication tooling and a complete Affinity export backup to a GitHub repo
  • A scoped Outlook folder → Attio email automation (partners drag an email into a folder, it flows into Attio)

How we did it

The migration week was hands-off for the team, triggered Saturday 15 March with onboarding to Attio beta the next day and a two-week adjustment window. Files moved Affinity → OneDrive → Attio via Zapier; because ~200 orgs lacked Affinity IDs, they were fuzzy-matched back to companies. The historic-date problem was solved with the custom attribute and a GitHub Action cron that stamps new deals. Cleanup ran as its own program: querying notes by timestamp to flag exact matches, then comparing content for duplicate formatting.

Outcome

The migration went live on schedule with minimal impact on daily operations, and company records grew from 1929 to 2055 after notes were re-homed. The notes cleanup took the total from ~5k to ~4k (1,300 removed on 22 Jun), cleared 122 duplicate notes, removed ~1,000 duplicate migration notes and caught 5 residual duplicate pairs, against a completeness target of under 0.8% missing data. 10 licenses were provisioned for the 11-person team, and an Outlook-folder → Attio email automation was scoped.

Takeaway: Affinity → Attio migration live with historic deal-flow dates preserved and records re-homed from 1929 to 2055; notes cleanup down from ~5k to ~4k against a sub-0.8% missing-data target.

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.