You built Notion into your early-stage CRM. It worked—until it didn't. Around 300 contacts, you start noticing lag on filters. Rollups take 10 seconds to compute. Linked records feel sluggish. Your team starts asking "can we just use a real CRM now?" The answer is yes, but the export is the hard part. Most founders lose relationship history, deal context, and clean field mapping during the move. This playbook fixes that. Why Notion hits a wall at 300 contacts Notion's database engine is not built for relational CRM workloads. It excels at documentation and lightweight tracking, but CRM performance degrades predictably as your contact and deal volume grows. The three failure modes: Filter lag. At 300+ contacts, filtering by deal stage, company, or last-touch date takes 5–10 seconds. Your pipeline view becomes a blocker, not a tool. Sorting by close date stalls on 500+ records. Rollup and relation computation. Any column that sums, counts, or joins across tables gets slower as your dataset grows. A "total pipeline" rollup that was instant at 50 contacts becomes a bottleneck at 300. Relationship orphaning on export. Notion's CSV and API export both flatten relationships. A contact linked to three deals doesn't export as "3 deals"—it exports as a broken reference or a single deal. You lose the many-to-many context entirely. The real cost isn't the lag. It's that your team stops trusting the data. Deal stages don't update. Contact notes get stale. And when you finally try to migrate, you discover your "clean" Notion workspace has already lost half its relational integrity. The three orphaning traps during Notion export When you export Notion to CSV or API, relationships break in predictable ways. Knowing these traps before you export saves a week of recovery work. Trap 1: Linked records flatten to a single value or vanish Notion allows one contact to link to multiple deals. In the database, that's a many-to-many relationship. On export, Notion gives you three options—all bad: CSV exports the first linked record only. A contact with 5 open deals exports with 1. API exports a JSON array, but most CRM importers (including legacy Pipedrive and HubSpot) don't know what to do with an array in a text field. They import it as a string: "[Deal 1, Deal 2, Deal 3]". That's not a link anymore. Manual re-linking means your team sits in a spreadsheet for two days identifying which deals belonged to which contacts. Fix before export: Create a staging table in Notion. For each deal, create a row that explicitly lists the contact name, company, and deal value. Export that table, then use it as your reconciliation key when re-importing to Orin or Pipedrive. Trap 2: Custom fields and rollups don't map to target CRM fields You built Notion columns for pipeline stage, close date, deal size, and maybe a few custom fields like "champion name" or "competitor insights." Notion doesn't export column metadata—it exports values only. When you import to Pipedrive, those custom fields don't exist yet. Your CSV has 47 columns, and Pipedrive is expecting 8 standard fields. Columns with formulas (e.g., "days since last touch") export as static values. If you're tracking a computed field, it's a snapshot, not live. Import it as plain text, and it never updates again. Rollups (e.g., "total deal value per contact") export as numbers only. No way to rebuild the rollup logic in your new CRM without manually re-creating the formula. Multi-select fields (e.g., tags, industries, products) export as comma-separated or semicolon-separated text. Most CRM importers don't auto-split these back into proper tags. Fix before export: Audit your Notion schema. Map every column to a field in your target CRM. If a column doesn't exist in the target (e.g., a Notion formula), decide now: discard it, export it as a note, or manually rebuild it post-import. Trap 3: Timestamps and audit trails get stripped Notion tracks when a record was created and last edited. CSV export includes these only if you explicitly add them as columns. Most exports don't include them, so your import loses all "created date" context. Deals show up in your new CRM with today's import date, not their actual deal-open date. That breaks your sales cycle reporting and forecast accuracy. Fix before export: Add a "Created" and "Last Updated" column to your Notion table (use Notion's system timestamps). Verify these export in your CSV. When importing to Orin or Pipedrive, map these explicitly to the CRM's creation and modification date fields. 30-day migration runbook to Orin or Pipedrive This playbook assumes you have 300–500 contacts and 100–300 active deals. It takes 30 days because you're validating, not just moving data. Days 1–3: Audit and map Day 1: Export your Notion schema. Create a new Notion view that shows every table you plan to migrate (Contacts, Deals, Companies, Activities, custom tables). For each table, list every column and its type (text, relation, rollup, formula, date, etc.). D