You start with Notion. It's free, it's flexible, and for your first 100 contacts, it's fast enough. Your sales team builds a database, links deals to people, filters by stage, and everyone's happy. Then you hit 300 rows. The filter dropdown takes three seconds to open. By 500 rows, filtering stalls for five to eight seconds. At 800 rows, your team stops using it. This isn't a Notion bug—it's a design constraint. Notion databases load the entire table into memory before filtering happens client-side. The database isn't the problem; the interface is. And when your team has a choice between a slow Notion table and just asking Slack, they choose Slack. The breaking point isn't one number. It's when the daily friction becomes bigger than the tool's value. For a CRM, that happens earlier than most people expect. Where Notion's performance starts to degrade Notion's public documentation doesn't publish performance benchmarks, but the constraint is measurable: Filter lag: 250–300 rows: Filters start to feel sluggish. A dropdown that opened instantly now takes 1–2 seconds. Noticeable slowness: 400–500 rows: Filtering takes 3–5 seconds. Sorting by a field or toggling views becomes noticeably slow. Adoption cliff: 600–800 rows: Load time exceeds 5–8 seconds. Team members stop opening the database and ask you status updates instead. Near-unusable: 1000+ rows: Filter operations can take 10–15 seconds or longer, especially on properties with many options or related records. The degradation isn't linear. It accelerates around the 400-row mark. One day your team is using it; a week later, they're not. Why? Notion's database loads all properties and all rows into the browser before any filter is applied. This approach works beautifully at small scale. It fails predictably at larger scale. A dedicated CRM database, by contrast, filters server-side before sending results back to the client, so the interface stays responsive regardless of table size. Automation: where Notion loses complete control Notion's native automation (buttons, templates, relations) covers basic workflows: copy a row to an archive, set a date, send a reminder. But anything more complex—syncing a closed deal to your invoicing tool, updating a contact when an email arrives, sending a Slack message when a deal hits a stage—requires Zapier. And Zapier is where Notion's CRM dream dies quietly. A Zapier workflow to sync a Notion deal to an invoice costs 1 task per execution. If you have 20 deals a month moving through stages, that's 20 tasks minimum. Add email-triggered contact updates, automated follow-up reminders, and status syncs to Slack, and you're at 50–100 tasks per month fast. Zapier's free tier gives you 100 tasks per month. A small sales team uses that in the first two weeks. Pro is $20/month for 750 tasks, or $50/month for 2000. If you have three automation workflows, you're paying $50–100/month before you even have 10 team members. A dedicated CRM with built-in automation costs no more, and you get filtering that doesn't pause for three seconds. The real cost isn't task tokens. It's what you can't automate because it would be too expensive. Notion users stop building workflows past a certain point. The tool begins to feel frozen. You end up managing your pipeline manually anyway. What gets orphaned in a Notion-to-CRM migration If you do decide to leave Notion, the data migration is cleaner than migrating from HubSpot, but it's not free: Exports cleanly: Contacts, deals, basic properties, relationships between tables. Requires manual work: Rollup properties, complex formulas, database templates. These don't translate to CRM fields; you rebuild or discard them. Often orphaned: Historical activity logs, email threads, conversation history. Notion wasn't built to capture these, so you won't have them to migrate anyway. Timeline gets lost: Deal stage history, date moved, who changed it. Notion doesn't track this by default, so migrations can't recover it. A healthy Notion CRM should have maybe 50–70% of your data easily portable. The rest is either simplified or rebuilt by hand. Plan for one week of manual work per 500 rows you're moving. The checklist: when to leave Notion You don't need to leave Notion at exactly 500 rows. You need to leave when any of these are true: Your database has more than 400 contacts or 300 open deals. Filtering takes longer than two seconds most of the time. You're rebuilding automation workflows because Zapier is too expensive. Your team is asking for status updates in Slack instead of checking the database. You need to sync contact changes to invoicing, email, or messaging tools automatically. You have more than three people who need to access the CRM at the same time. You need email integration—forwarding deals, logging conversations, tracking opens. Your sales process has more than five stages and you need historical data on when deals moved. You've spent more than two hours in the last month optimizing Notion formulas o