Skip to content

How Capital F Moved 4,021 Curated Records from Affinity to Attio Before the Access Deadline

Capital F migrated its deal flow, investor relationships and fundraising pipeline from Affinity to Attio with ClonePartner, ahead of Affinity access ending on 29 August 2026. A 25,677-record workspace was deliberately narrowed to 4,021, three custom objects were built from scratch, 893 duplicate LP rows were consolidated to 891, and the final delta was verified by content fingerprint.

Raajshekhar Rajan Raajshekhar Rajan · · 12 min read
How Capital F Moved 4,021 Curated Records from Affinity to Attio Before the Access Deadline
TALK TO AN ENGINEER

Planning a migration?

Get a free 30-min call with our engineers. We'll review your setup and map out a custom migration plan — no obligation.

Schedule a free call
  • 1,500+ migrations completed
  • Zero downtime guaranteed
  • Transparent, fixed pricing
  • Project success responsibility
  • Post-migration support included

TL;DR

Customer: Capital F (Early-stage venture firm investing in technology for the $15 trillion female economy, San Francisco. Pre-seed and seed across health and wellness, AI and digital commerce, from a $17M debut fund closed in August 2026.)

The Move: Affinity to Attio — deal flow, portfolio companies, investors, fundraising pipeline, and the notes, attachments and reminders attached to them.

The Scope: 4,021 curated records migrated — 1,441 people, 1,148 companies, 891 LP records, 344 deals, 190 VC firms, 7 conferences — plus 2,296 notes, 644 tasks and 231 file attachments. Three Attio custom objects built from Affinity lists with no stock equivalent.

The Roadblock: A hard cutoff. Affinity access ended on 29 August 2026, with no option to extend. Affinity held 14,369 people and 11,308 companies, most of them accumulated address-book entries, and Attio was already creating records automatically from the firm's connected inbox — so a full copy would have produced a duplicated, less usable workspace. Affinity organises work through lists; Attio through objects, pipelines and custom objects. And Attio identifies people by email, companies by website, and merges duplicates continuously on its own schedule, invalidating mappings mid-run.

The Outcome: The firm moved into Attio before the deadline with its deal flow, investor relationships and nine-stage fundraising pipeline intact, 989 duplicate people removed, and zero errored records remaining after a fingerprint-verified delta.


By the Numbers

  • Records fingerprinted before the final delta: 606,831
  • Affinity people in the source workspace: 14,369 (1,441 migrated)
  • Affinity companies in the source workspace: 11,308 (1,148 migrated)
  • Field values changed in the final delta: 5,456
  • Notes migrated: 2,296
  • New field values in the final delta: 2,179
  • Duplicate people removed: 989
  • LP records: 891, consolidated from 893 Affinity rows
  • Tasks created from open reminders: 644
  • Deals migrated: 344, on a nine-stage pipeline
  • File attachments: 231 (216 cached to S3 ahead of the deadline)
  • Duplicate company records consolidated: 52

The Challenge: A Hard Deadline and 25,000 Records That Should Not All Move

Capital F is a San Francisco early-stage venture firm founded by Dawn Dobras and Margaret Coblentz, investing at pre-seed and seed into technology serving the female economy across health and wellness, AI and digital commerce. The thesis is that women drive roughly 85% of consumer spend while the markets serving them stay underfunded.

For a two-GP partnership, the CRM is not an administrative system. It is the deal flow, the investor network, and the fundraising pipeline. And the timing left no slack: Capital F announced the close of its $17 million debut fund on 26 August 2026 — three days before Affinity access was due to end.

Affinity had been the firm's CRM since day one, and the decision to move was not a complaint about the product.

Info

"Affinity has been our choice for our CRM since we started. We just closed fund one, so we got the recommendation from many people in the business, and Affinity is a great product to use. We managed all of our LP base through there and the majority of our new deal sources through there."

— Dawn Dobras, General Partner and Co-Founder, Capital F

What changed was the range of tools available. Capital F is being built as an AI-first firm, and the tech stack gets re-examined on the same cadence the partners would expect from the founders they back.

Info

"Any smart firm always re-looks at their tech stack. And we're in a unique moment in time right now where you can be an AI-first firm. I feel very lucky to be starting a venture firm in this time and age, just like our founders. You can build faster with fewer people, at higher accuracy and at lower cost than you could have even two or three years ago. So we're constantly trying new tools. We realised our needs could be met with a less expensive, AI-first tool. And I want to be really clear — Affinity was a great partner and is a great partner to many firms. Responsible founders, whether that's on the venture side or in the founding space, need to be evaluating their tech stacks constantly."

— Dawn Dobras, General Partner and Co-Founder, Capital F

Once the decision was made, the timeline stopped being flexible. Affinity access ended on 29 August 2026. That date was not negotiable, which changed the shape of the project in two ways: nothing could depend on Affinity remaining reachable during the final push, and there was no second attempt if the data arrived wrong.

The other complication was volume, and it pointed in an unexpected direction. Affinity held 14,369 people and 11,308 companies, the large majority of them accumulated address-book entries with no substance behind them. Migrating all of them would have produced a workspace that was harder to use, not easier — and worse, Attio was already creating contact records automatically from the firm's connected inbox, so a wholesale copy would have duplicated a large part of the address book against records Attio had built itself.

Underneath that sat a structural mismatch. Affinity organises work through lists and opportunities. Attio organises it through objects, pipelines and custom objects. A meaningful part of the project was deciding what each Affinity list should become in Attio, and confirming those decisions with Capital F before anything was written.

The requirements were:

  • Migrate the working set, not the address book: deal flow, portfolio companies, investors and the fundraising pipeline.
  • Rebuild Affinity lists as Attio objects, pipeline stages and custom objects.
  • Avoid duplicating records Attio had already created from the connected inbox.
  • Preserve notes, attachments and open reminders, attached to the right records.
  • Consolidate investor records that Affinity held more than once.
  • Capture everything added or edited in Affinity up to the final day of access.

Choosing a Partner Under Time Pressure

Attio pointed Capital F at a pool of migration partners. The firm looked past the referral list as well.

Info

"We talked to Attio, and they recommended quite a few different options — they actually have a whole pool of different options. But I did some research online. We spoke to you, and your flexibility, pricing, and frankly willingness to just jump in was much better and faster than the other options that we had. I had a pretty tight deadline. It painted me into a corner in terms of needing to do a migration quickly, efficiently and under time pressure, and you guys really stepped up and did a great job."

— Dawn Dobras, General Partner and Co-Founder, Capital F


The ClonePartner Solution: Curate the Scope, Then Prove It Twice

Defining the curated set. Rather than migrating everything or picking records by hand, scope was defined by a rule Capital F could check: any record that sits on a list, is linked to an investor record, or carries a note or a file. That test resolved 25,677 source records down to 4,021 with substance behind them — and left the inbox-derived address book to Attio, which was already handling it.

Three custom objects. LPs, VC Firms and Conferences existed as Affinity lists with no equivalent in Attio's stock model. Each was designed as a custom object, reviewed with the firm, and built before records were written into it — not retrofitted around data that had already landed.

A first sample chosen for difficulty. The sample covered 21 companies, 41 people, 15 deals, 6 VC firms, 7 conferences, 70 notes, 5 attachments and 8 tasks. It was not selected to be representative. It was selected to exercise the paths most likely to break: 14 of the 21 companies already existed in Attio, so matching had to be proven at least as thoroughly as creation. That let Capital F verify that existing Attio records were matched rather than duplicated, along with deal pipeline stage mapping, custom object fields, note and attachment placement, and field and owner mapping.

Working with Attio's identity rules. Four destination behaviours shaped the approach, and each needed a decision rather than a silent workaround:

  • People are identified by email address. 278 Affinity contacts had a name but no email anywhere on the record, so there was nothing to match on. These were held back and migrated by name only once Capital F confirmed they preferred that to leaving them out.
  • Companies are identified by website. Where Affinity held the same company twice, once without a website, the second copy could not be matched and arrived as its own record. 52 such duplicates were consolidated onto the record carrying the website and removed.
  • Attio merges duplicate people continuously. Records the migration had already mapped were merged and deleted by Attio while later stages were still running, invalidating those references mid-migration. A repair pass was built to detect and re-resolve stale mappings, and run immediately before each dependent stage rather than once at the end.
  • Reference fields cannot be widened after creation. Where Capital F wanted several contacts on a single LP record, new multi-value fields were created and populated, and the original single-value fields retired.

A separate cleanup removed 989 duplicate people created by an earlier LinkedIn contact import, keeping the record that carried the email address and interaction history in each pair. The cases that could not be resolved without guesswork were handed over as a worklist of 127 people for Capital F to merge inside Attio, where Attio's own merge preserves the history from both records.

Attachments cached ahead of the deadline. Because Affinity access was ending, file attachments were downloaded and cached to S3 before the push rather than streamed from Affinity at push time. All 216 binaries were cached ahead of the cutoff, and the push served bytes from the cache with a live fetch only as a fallback. That removed the file migration's dependency on Affinity still being reachable when the push ran.

That step-by-step pacing was the part Capital F noticed most, because both GPs were running a fund close at the same time.

Info

"I thought the process was great, and honestly, I didn't know what to expect. We kind of jumped in with you guys. It was a very measured process. You did a little bit, we double-checked it, I asked questions, you asked me questions. It was a very logical, easy process to follow. There are two GPs, and I was closing a deal — we were actually announcing our debut fund. We were running so fast that with a different partner that wasn't so specific and cautious and careful about the steps, we probably would have missed more stuff. It went very smoothly, and I was given decisions like, 'Do you want this or this?' at each step, and that was really helpful."

— Dawn Dobras, General Partner and Co-Founder, Capital F


Consolidating the Fundraising Pipeline

The LP data needed a review of its own before it could move, because Affinity held many investors more than once — a separate row per fundraising era, each carrying a different part of the relationship.

Merging those rows is a judgement about the firm's own investor relationships, not a technical deduplication. So ClonePartner produced a review pack listing every proposed merge with the values from each source row side by side, so Capital F could confirm each consolidation rather than accept it on trust. Nine LP records were then migrated as a working sample for sign-off before the rest followed.

Two decisions came out of that review. Records were matched on name only, not on shared contacts or companies: several distinct investor relationships shared a single contact, and one contact could cover several funds, so matching on links would have merged genuinely separate relationships into one. And conflicting values were resolved by explicit rules agreed in advance, with Capital F deciding the handful of cases the rules could not settle.

893 Affinity rows became 891 LP records.

That principle extended past the LP work. Every review pack and export carried the Affinity identifier alongside the Attio record identifier, so any record could be traced in either direction during validation. Separate review files were produced for each decision the firm needed to make — contacts without email addresses, LP records missing a contact, LP records with more contacts than the field could hold, duplicate names that could not be resolved automatically — and each listed every affected record rather than a summary count.


The Delta, Verified by Fingerprint

The final delta sync ran on the last full day of Affinity access.

One detail mattered more than it looks. The pull tasks are incremental and skip records already fetched, so those markers had to be cleared before re-reading. Without that, a delta re-run reports no changes whether or not any exist — a clean result that means nothing. A content fingerprint was taken across all 606,831 records before the delta and compared afterwards, so the outcome could be verified rather than assumed.

The delta captured 13 companies added to deal-flow lists after the original pull and the 13 deals they created, 53 new people, 59 new companies, 15 new notes and 15 new attachments, plus 2,179 new and 5,456 changed field values updating 42 people and 20 deals already in Attio. Field updates were scoped to the records that had actually changed, so the top-up stayed additive and did not overwrite work Capital F had done by hand in Attio in the meantime.

The practical effect was that Capital F never had to stop using Affinity while the migration ran.

Info

"That was really great, that we were never down. We were updating those Affinity records until the last minute, and then just brought them over."

— Dawn Dobras, General Partner and Co-Founder, Capital F


The Results: Into Attio Before the Deadline, Without the Duplicates

The migration completed before Affinity access ended on 29 August 2026, with no record in scope left unmigrated — in the same week the firm announced its debut fund.

Capital F moved in with 1,441 people and 1,148 companies, 344 deals sitting on the firm's own nine-stage pipeline, and three custom objects — LPs, VC Firms and Conferences — built and populated rather than approximated. 891 LP records carry a fundraising history that had been split across 893 rows in Affinity. 2,296 notes, 231 attachments and 644 tasks are attached to the records they belong to.

989 duplicate people and 52 duplicate company records are gone, and the final delta closed with zero errored records remaining, validated by content fingerprint rather than by the migration's own summary.

The workspace the firm works in today is smaller than the one they left. That was the point.

Info

"One sentence? Why are you limiting me? ClonePartner was flexible, responsive, executed exactly what we asked them to, and I would say surprised and delighted us in that the process was easier than I expected."

— Dawn Dobras, General Partner and Co-Founder, Capital F


What Dawn Would Do Differently

One thing about the cutover would have been worth buying more of: overlap. Capital F ran the final push with no window in which both systems were live.

Info

"A little scary, honestly. I think I would have appreciated more crossover, right? If something had gone wrong. The reality is we had downloaded all the records as a backup. We did have a failsafe, so we knew we would be fine. Could we have, should we have put in more time? Probably. But the fact that you can download everything and retroactively bring it into Attio gave us more assurance that we'd be OK."

— Dawn Dobras, General Partner and Co-Founder, Capital F

The failsafe held, and the delta landed. But a firm with more room in the calendar than Capital F had should buy the overlap period rather than rely on the export.


What Made This Migration Different

For firms moving a relationship-driven CRM under a fixed access deadline, four details from this project are worth noting:

  • Migrating less can produce a better workspace. Where the destination already builds records automatically from a connected inbox, copying the full source address book fights the destination instead of using it. Defining scope as a rule the customer can check — on a list, linked to an investor, or carrying a note or file — turned 25,677 records into 4,021 that earn their place.

  • Consolidating duplicate records is a customer decision, not a technical one. Which investor rows represent the same relationship is a judgement about the firm's own history. Presenting every proposed merge with the source values side by side lets the customer confirm each one; matching on links rather than names would have silently combined separate relationships that happened to share a contact.

  • Give the customer the list, not the count. Every decision put to Capital F came with the full set of affected records rather than a number. A count tells someone how big a problem is. A list is the only thing that lets them actually approve it.

  • A destination that de-duplicates on its own schedule invalidates your mappings mid-run. Attio merged and deleted records the migration had already mapped while later stages were still executing. Re-validating mappings immediately before each dependent stage, rather than trusting the resolution captured at the start, is what kept notes and attachments landing on records that still existed.

Info

"It's work. Any time you have a migration, it's work. Having a partner do that who's done it before was the only way that we felt comfortable doing it."

— Dawn Dobras, General Partner and Co-Founder, Capital F

More from our Blog

How Delphinus Moved 6,000+ Records and 2,700 Historical Stage Transitions from Affinity to Attio Without Losing a Thing
Case Studies

How Delphinus Moved 6,000+ Records and 2,700 Historical Stage Transitions from Affinity to Attio Without Losing a Thing

Delphinus migrated 6,000+ records from Affinity to Attio with ClonePartner, transforming their data model in transit. Custom objects, 2,700 historical stage transitions, a syndication partners workspace, and a delta migration delivered a production-ready Attio instance without losing a decade of investment context.

Raajshekhar Rajan Raajshekhar Rajan · · 5 min read