You've been running your CRM out of Notion for eight months. The setup is clean: a Contacts database, a Deals table linked to contacts, a basic deal pipeline. You've hit 500 contact records. Last week, applying a filter for 'active deals in Q4' took five seconds to render. This week, sorting by close date hangs for longer. You're starting to wonder if Notion actually breaks, or if you're just hitting the ceiling everyone warns about. The answer is both. Notion's performance cliff is real—and it's sharper than most teams expect. At 300 contacts, you'll notice nothing. At 500, you'll start seeing lag. By 700–800, filters and sorts become unusable. The platform isn't broken , but it's no longer suitable for a production CRM. This post walks through where Notion actually fails, what data migrates cleanly to a real CRM, and what you'll have to rebuild by hand. Where Notion CRM slows: the exact breaking points Notion's performance degradation isn't linear. It's a series of plateaus, then cliffs. 0–300 contacts: Everything feels instant. Filters apply in under 200ms. Sorts are quick. Relation properties work without noticeable delay. This is where teams decide Notion is 'good enough.' 300–500 contacts: You'll start seeing minor lag. A filter on deal stage plus owner might take 1–2 seconds. Relation lookups (especially if you're counting linked deals per contact) begin to stutter. Most teams don't notice yet, or blame their internet. 500–800 contacts: Filters take 3–5 seconds consistently. Sorting by multiple properties becomes noticeably slow. Rollup fields (sums, counts of related records) lag noticeably. Team members start saying 'the database feels sluggish.' 800+ contacts: Even simple filters are unreliable. Some return results in 8–10 seconds; others timeout. Relation properties become visibly slow. Your team stops using advanced filters and sorts, reverting to manual scanning. The CRM is now a spreadsheet with a slower interface. The culprit is Notion's reliance on client-side filtering and sorting. Every filter executes in the browser; larger datasets require more computation before results render. Once you exceed a few thousand properties across your full workspace, even unrelated databases can feel slow. Notion is not architected for high-cardinality transactional data. What data actually migrates clean: contacts and basic deals The good news: the core CRM data exports nearly without loss. Migrates cleanly: Contact records: Name, email, phone, company, title, custom text/number fields. All export as a flat CSV. You'll get 100% fidelity. Deal records: Deal name, amount, stage, owner, close date, description. These export as clean rows and can be re-imported with minimal mapping. Basic relation links: If you've linked deals to contacts (one deal per contact, or one contact per deal), those relationships survive export as a parent ID in the CSV. You'll reconnect them in seconds. Activity notes: If you've stored emails, call summaries, or notes in a text field on each contact or deal, those come through intact. Custom fields: Any single-select, multi-select, date, or number field exports as a column. Multi-select exports as comma-separated values, which most CRMs can re-import. What orphans or requires manual rebuild: Relationship tags between contacts: If you've created a separate 'Contacts' relation table to map 'contact A introduced contact B,' that metadata lives in Notion but doesn't export in a meaningful way. You'll need to map it by hand or write a small script. Custom views and filters: Notion views (filtered, sorted, grouped databases) do not export. If you've built 15 views for different sales reps or deal stages, you'll need to recreate those views in your new CRM. Most modern CRMs make this trivial; Orin's pipeline views and contact filters are built for this. Formula fields: Any calculated fields (e.g., 'days since last contact' or 'deal velocity') are Notion-only. The formula logic doesn't port; you'll get the cached result as a static value, which is usually useless. You'll need to rebuild these in your new CRM or accept losing them. Timeline and calendar views: If you've been using Notion's calendar to track deal close dates or follow-ups, that view metadata doesn't migrate. The dates themselves come through fine; the visual organization does not. Rollups and lookups: Count of deals per contact, sum of deal amount by stage—these calculated fields also export as static values. They won't update in your new tool. File attachments: Notion files attached to contacts or deals export as links, not files. If you've stored contracts, proposals, or images in Notion, they'll need to be downloaded and re-uploaded to your new CRM, or linked via a document management system. AI-generated summaries: If you've used Notion AI to summarize contact history or generate deal summaries, those cached results export as text, but the regeneration logic is lost. The math: A typical 500-contact Notion CRM will export