Skip to content

Case studies · Venture capital

A venture firm: Affinity→Attio migration + LP/co-investor engineering

Engagement
Ongoing
Timeline
2026-03-12 to 2026-04-15
AffinityAttioGranolaGoogle DrivePythonGitHubSlack

In one line. 80x migrated a venture firm off Affinity onto Attio against a hard March 31 contract deadline, then engineered its LP and co-investor records, a create-LP workflow, per-fund commitment consolidation, and domain-cleanup scripts that rolled activity up to the LP level.

Client & context

The client is a venture firm on 7 Affinity seats, six full-time employees plus a remote executive assistant, moving to Attio for cost savings after positive references from other GPs, with a tight constraint: their Affinity contract ended March 31. The team had previously moved from Airtable to Affinity.

The problem

Beyond the deadline, the migration had to preserve the structures the investment committee runs on, LP lists (the reporting priority), portfolio contacts, target lists, and deal and LP pipelines built on opportunities, plus Granola notes and Google Drive file links. LP relationship data also needed to roll up cleanly at the LP level: activity and notes lived at the person/company level, domain mismatches fragmented visibility, and each fund commitment sat on its own separate record.

What we built

  • An Affinity → Attio migration of records, lists, opportunities and notes, with files migrated as links to Google Drive and Slack/Granola integrations carried over.
  • An LP record model with a "create LP from person/company" workflow, a button that spins up an LP record from an existing contact, removing manual re-entry on conversion.
  • Commitment consolidation: merging per-fund LP records into a single LP record with fund-specific commitment attributes (Fund 1 $50K, Fund 2 $100K), plus duplicate/empty-record cleanup scripts.
  • Domain-cleanup scripts and LP/co-investor→organization linking fixes so activity and notes roll up to the LP level.
  • A private GitHub repo for the dashboard collaboration.

How we did it

To hold the deadline, the migration ran over a weekend with team onboarding the following Monday, taking about a week; Affinity access was arranged by temporarily swapping the EA seat under a mutual NDA. Rather than rebuild all ~30 legacy views, we focused on the three most-used. The LP-record engineering ran on Python scripts against the Attio data, resolving domain-based linking, consolidating commitments while preserving fund-specific status, and adding a cross-object association attribute.

Outcome

7 Affinity seats were migrated ahead of the March 31 contract-end deadline, with LP relationship data reaching ~90% coverage after domain-mismatch cleanup. The engagement is ongoing: LP/co-investor linking scripts, commitment consolidation and deal-pipeline duplicate cleanup were in flight at the last session.

Takeaway: A 7-seat Affinity→Attio migration met a hard March 31 deadline, followed by LP record engineering that consolidated per-fund commitments and rolled activity up to ~90% coverage.

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.