Affinity builds its reputation on relationship graphs—it shows you who knows whom, which deals touch which people, and how your network actually connects. But that power becomes a liability the moment you want to leave. Affinity's export is broad, not deep, and relationship context that took months to build can dissolve in migration if you don't understand what actually moves and what you have to rebuild by hand. We've helped a dozen teams move from Affinity to Orin. The teams that succeeded did three things first: they audited what exports cleanly (it's less than you think), they deduped their contact base (Affinity's fuzzy matching creates ghosts), and they rebuilt relationship context in a logical sequence. This guide walks you through all three. What Affinity exports cleanly—and what doesn't Affinity's export gives you a CSV with contacts, organizations, and notes. That sounds complete. It isn't. What moves clean: Contact names, email addresses, phone numbers, titles, and company affiliations Notes (as plain text, timestamps intact) Organization records and basic metadata Deal names, stages, and close dates Owner assignments What does not export: Affinity relationship scores and confidence weights—these are proprietary calculations Affinity generates by scanning email and LinkedIn. No other platform can replicate them. You lose this data entirely. Custom fields and custom field values—if you've added 'decision timeline' or 'budget authority' as a custom field, those columns won't map. You'll need to manually recreate the field schema in Orin and then re-populate values. Relationship metadata (e.g., 'knew them at Company X before they moved to Company Y'). Affinity stores this as text in notes, which does export, but not as structured relationship records. Email thread history and email attachments—Affinity's Gmail sync data does not export. Only notes and summary fields come through. Interaction history and email engagement (opens, clicks). Only the fact that a note was logged at a given time survives. List membership and tags at scale—large tag sets often export incomplete or corrupt. The hardest loss: Affinity's relationship confidence scores. If you relied on Affinity to tell you 'this person was a warm introduction' or 'this contact is a second-degree connection', you'll need to manually assess those relationships in your new platform or accept that you're starting fresh on relationship heat. Deduplication: why Affinity's fuzzy matching creates ghosts Affinity uses fuzzy matching to merge contacts that are probably the same person—same name, similar email domain, overlap in LinkedIn profiles. This is useful for avoiding duplicates as data comes in. But it also creates a false sense of cleanliness. When you export, you get flattened records, but your actual contact database has hidden duplicates that the merge algorithm never quite resolved. Before you export, run a manual dedup pass in Affinity itself: Export your contacts as CSV. Get the full list with email, name, company, and title. Sort by last name, then first name. This surfaces obvious duplicates (two 'John Smiths' from similar companies). Scan for email variants. Look for firstname.lastname@company.com and firstname_lastname@company.com pointing to the same person. Check LinkedIn URLs if available. Check company-specific patterns. If a contact has moved companies, Affinity may have created two records. Look for the same person with two different employer entries. Manually merge in Affinity before exporting. This ensures your export CSV is clean, not a snapshot of merged-but-not-deduped contacts. This step takes time—usually 4–8 hours for a 2,000-contact database—but it prevents importing ghosts into Orin that you'll have to hunt down later. Building the migration runbook: contacts, organizations, relationships Affinity's export is contact-first, not relationship-first. When you import into Orin, you're bringing in people and companies, but the actual relationship graph—who reported to whom, which contact can introduce you to which decision-maker—is missing. You have to rebuild it in a sequence. Step 1: Import contacts and organizations. Most CRM import tools (including Orin) will automatically link contacts to organizations by email domain or company name. Verify this mapping before you commit. Step 2: Rebuild custom fields. If Affinity exports a 'Notes' column that actually contains job-relevant data (e.g., 'Budget owner, decision made in Q3'), you'll need to create a custom field in Orin and then populate it. This is manual or scripted, not automatic. Plan 2–4 hours if you have 10+ custom fields. Step 3: Map relationship context from notes into relationship records . Affinity stores relationship context as prose in notes: 'Met Sarah at the Web Summit 2023, referred by Marcus.' Orin has a structured relationship field that captures relationship type (e.g., 'referred by', 'colleague at', 'known from') and the other person. You'll need to par