New to Attio?Get 10% off when you sign up through Craftt.Try Attio free →
All articles

Affinity to Attio: a migration guide for VC and PE firms

·9 min read

Short answer: To migrate from Affinity to Attio: rebuild the data model first (People, Companies, Deals, plus custom objects for portfolio, LPs, funds, and co-investors); export Affinity organizations, persons, and opportunities as CSV, plus each deal-flow list separately; import into Attio in dependency order with the Affinity IDs kept as external identifiers; reconnect email and calendar so interaction history rebuilds in Attio. The data move takes a few days. The honest constraint is the relationship graph, which does not export. Budget 2 to 4 weeks for a typical fund.

Why funds move from Affinity to Attio

Affinity is the default CRM for venture capital and private equity, and it earns that with relationship intelligence. The reasons a fund leaves are almost never about sourcing. They are about everything around it.

The pattern we see most:

  • The renewal is large and the team is small. A five-person fund paying Affinity rates for a CRM is hard to defend.
  • The CRM needs to cover more than deal flow. Portfolio support, LP relations, and fund operations all live in spreadsheets next to Affinity because the tool is shaped for sourcing.
  • The firm wants to redesign rather than carry years of list debt forward.
  • AI doing research and data entry inside the CRM has become a real requirement.

If warm-intro sourcing is the entire job, this guide is not for you. The full trade-off lives in Affinity vs Attio. This piece covers the migration once the decision is made.

Rebuild the data model before you export

This is the step that decides whether the migration is clean or messy, and it matters more for a fund than for a standard sales team.

Affinity organizes most work around Lists. Deal flow is a list. The portfolio is a list. LPs are a list. Each list carries its own fields. That structure is flexible, but it means the same company can sit in three lists with three different sets of data attached, and none of it is modeled as a real relationship.

Attio works the other way. You model portfolio companies, LPs, funds, and co-investors as first-class objects, each with its own fields, and connect them with real relationships. Before any data moves, decide:

  1. Which objects you actually need. People and Companies for sure. Deals for the active pipeline. Then the custom objects that carry your firm's logic: Portfolio Companies, LPs, Funds, Co-investors.
  2. Which fields matter. For each Affinity list, which fields are used in views, reports, or weekly work, and which are dead columns nobody fills.
  3. Which relationships matter. A founder connects to a company, a company connects to a round, a round connects to a fund. Map these before you touch the export.

Do this on a whiteboard first. For a fund that has run on Affinity for a few years, this exercise usually cuts the field count hard and turns three overlapping lists into one clean object model.

Step 1: Export the data from Affinity

Affinity gives you two paths:

  • CSV export per list and per view. Open a list, filter to what you want, and export. Do this for Organizations, Persons, and Opportunities, then for each deal-flow, portfolio, and LP list separately so the list-specific fields come with them.
  • The Affinity API. For larger funds, or when you want opportunities, list entries, and field values pulled in bulk with their IDs intact, the API is cleaner than stitching CSVs together by hand.

Keep the Affinity IDs in every export. They are how you relink records on the Attio side if anything needs a second pass.

Export one thing knowing it will not come across well, and we will be honest about it below: the relationship intelligence.

The relationship-intelligence gap, stated plainly

Affinity's moat is the relationship graph. It reads your firm's entire email and calendar history and scores who has the strongest connection to any person or company. That score is the product. It is also the thing that does not export.

You can export the contacts and the raw interaction records. You cannot export the computed relationship strength, the intro-path ranking, or the years of automatic capture that produced them. No migration moves that intact, regardless of the tool you move to.

What you can do in Attio is rebuild the practical version. Connect the same email and calendar accounts, and Attio syncs interaction history and keeps it current going forward. Add custom fields and automations that track last contact, frequency, and owner, so the team can still see who has been talking to whom. It is not Affinity's algorithmic graph, and we do not pretend it is. For most funds that are leaving for cost and breadth reasons, the rebuilt version is enough. If systematically working a warm network is the core of how you win deals, weigh this before you commit.

Step 2: Prepare the Attio workspace

Build the structure before any import.

Map Affinity's core records to Attio's standard objects: Organizations become Companies, Persons become People, Opportunities become Deals. Recreate your Affinity deal-flow stages as statuses on the Deals object, in the same order and with the same names, so reporting continuity holds.

Then build the custom objects you decided on: Portfolio Companies, LPs, Funds, Co-investors. Set up the relationships between them. Leave the fields and lists you decided to drop behind.

Step 3: Clean the CSVs

An hour here saves a day after import.

  • Deduplicate. Affinity often holds the same organization across several lists. Collapse to one record before import.
  • Standardize enumerated fields. One spelling for each stage, sector, round, and owner.
  • Normalize dates and amounts to a single format, especially for round sizes and valuations.
  • Drop fields that did not survive the data-model exercise. If it was not on the list, it does not go in.

Step 4: Import into Attio

Attio supports CSV import directly in the UI. For each object:

  1. Upload the CSV.
  2. Map each column to the matching Attio field.
  3. Use the Affinity ID as an external identifier so records can be relinked later.
  4. Run the import and spot-check 10 to 20 records.

Import in dependency order: Companies first, then People linked to Companies, then Deals linked to both. Portfolio Companies, LPs, and Co-investors come after the companies they reference already exist. For larger funds, or when several related objects move in bulk, Attio's API handles the relinking more reliably than manual mapping.

Step 5: Rebuild enrichment and AI attributes

Affinity pulls enrichment from premium data partners. Attio replaces part of that with AI attributes that fill themselves.

Set up AI attributes that summarize a company, classify it into a tier, or run a web-research agent to pull funding stage and headcount from outside sources. Connect call intelligence so meetings transcribe and write back into the record. This is the step where the move starts paying for itself, because an analyst stops doing the manual research and data entry the CRM can now do on its own.

Step 6: Rebuild reports

Affinity reports do not migrate. Attio handles reporting through views, filtered lists, and dashboards.

For each Affinity report a partner actually opens, recreate it as an Attio view or dashboard widget. Most funds find that a large share of their old reports were never opened. Those stay behind.

Step 7: Cutover

Run both systems in parallel for a week. The team works in Attio. Affinity stays read-only as a reference.

At the end of the week, archive Affinity. Keep read access for 30 to 60 days in case something needs checking, then cancel. Do not cancel before the parallel run, and remember that Affinity contracts are annual, so time the non-renewal rather than expecting a mid-term exit.

Traps to avoid

  • Treating it as export and import. The data move is the easy part. The model rebuild and the honest handling of the relationship gap are the work.
  • Carrying every list across. Three overlapping lists rebuilt as three overlapping lists recreates the mess in a new tool. Model objects instead.
  • Expecting the relationship graph to transfer. It will not. Plan the rebuilt version on purpose.
  • Losing Affinity IDs in the export. They are the only reliable way to reconcile records on a reimport.
  • Cancelling before the parallel week, or assuming you can leave mid-contract.

How long does an Affinity to Attio migration take?

For a typical fund, under 30 users with a portfolio and an LP base, budget 2 to 4 weeks end to end. The data movement takes a few days. The time goes into the data-model rebuild, the custom objects for portfolio and LPs, and standing up the rebuilt relationship tracking and AI enrichment.

Larger firms, or those with heavy list customization and external integrations, can push to 5 to 6 weeks.

Want help with the migration?

If you want a second pair of eyes on your migration plan, or you want it done for you, book a call or see the Affinity vs Attio comparison if you are still deciding.

If you are still evaluating the move, try Attio with a 10% discount and start the data model exercise on your own. Even if the migration does not happen, the exercise is worth doing.

Free audit of your Attio workspace

If you want a second pair of eyes on your Attio setup, I run a free 48-hour audit. You add me to your workspace as an Attio expert, no extra seat and no billing. I send back a one-page written teardown ranked by impact, the three highest-leverage fixes with the exact setting change, and a 5-minute Loom walking through the top fix. No call, no pitch. 5 slots a week.

Get your free Attio audit

Need help with your Attio setup?

We migrate teams, build data models, wire automations, and train Claude agents inside your workspace. Discovery call is free.

Book a free discovery call