Notion works fine for 200 contacts and a few manual fields. At 500+, queries slow, relationships fray, and your team starts booking calls in their personal calendars because Notion's date logic feels sticky. You've decided to migrate to a real CRM. The good news: Notion exports your contact and company data cleanly. The bad news: everything that made your sales motion actually work—automations, multi-step workflows, relationship integrity, task chains—does not export. You're not copying a database. You're rebuilding a system. Here's the 90-day sprint that gets you there without losing deals. Week 1: Audit what actually migrates Notion's export is a CSV with your core fields: name, email, phone, company, custom text/select fields. That's real. Take it. But understand the limits before you plan the rebuild. What exports clean: Contact records (name, email, phone, address) Company records (company name, domain, size fields) Custom single-line text, numbers, URLs Select/multi-select fields (convert cleanly to CRM tags or custom dropdowns) Dates (deal close date, last contact, contract start) Basic lookup relationships (if you've mapped them explicitly) What does not export (or exports broken): Automation triggers and actions—Notion's if-then rules stay in Notion Workflows—your sales progression and stage triggers must be rebuilt from scratch Relationship integrity—cross-database links often export as unresolved foreign keys or empty cells Rich text with embedded assets—converts to plain text, losing formatting and file links Database relations and rollups—these are Notion constructs; they have no CRM equivalent Task assignments and due dates—if these live in a separate Notion task database, they orphan during export Activity timeline—no call logs, email history, or interaction timestamps export The audit task: Download your Notion CRM as CSV (or API, if you're technical). Open it in a spreadsheet. Count your records. Spot-check 20 rows for missing or mangled data—especially dates, company links, and multi-select fields. Document fields that are 80%+ empty; you'll deprioritize migrating those. Identify which custom fields are actually used by your team; ignore the rest. This takes 4–6 hours. Do it yourself, not a consultant. Weeks 2–4: Data cleanup and de-duplication Notion's export is raw. Your team has created duplicate records, misspelled company names, orphaned contacts with no email, and companies without domains. A production CRM enforces rigor that Notion let you skip. Clean now or carry the debt forward. The cleanup checklist: De-duplicate by email address. Notion lets you create "John Smith" ten times. Use a tool (or a spreadsheet pivot) to find exact and near-matches on email. Keep the most recent or most complete record; delete the rest. This alone typically cuts 10–15% of your contacts. Standardize company names. "Acme Corp", "acme corporation", "ACME", and "Acme" are four records in Notion. Decide on one canonical form. Map all aliases to it. If you're bulk-loading into a CRM with a company database , this step prevents fragmented company profiles. Validate email format. Catch typos (john@gmial.com) and obviously broken addresses. A regex check takes 30 minutes with a spreadsheet formula. Fix or flag for manual review. Fill required fields. Your new CRM will require at least name, email, or phone. For contacts missing all three, decide: archive them or reach out to your team to fill in the gaps. Don't migrate phantom records. Map phone numbers to a standard format. If your team has entered +1 (415) 555-1234, (415) 555-1234, and 4155551234 for the same person, normalize to one format before import. Your CRM's phone field will enforce it on the way in; better to catch it now. Explode multi-select fields into separate rows or tags. If your Notion contact has tags "warm, product-qualified, enterprise", your new CRM may store these as a comma-separated tag list or as distinct tag records. Understand your target system's data model first. Flag stale records. If you have a "last contact" date field, identify anyone you haven't touched in 2+ years. Ask the sales team: should we archive these or actively nurture? Migrating dead records costs time and clogs your pipeline views. This phase is boring and non-negotiable. Allocate 60–80 hours for a team of five doing it part-time over three weeks. A single person working full-time can clean 2–3K records in a week. Use a spreadsheet or a lightweight data quality tool. Orin's CRM contact import will validate format and flag duplicates on upload, giving you a second chance to catch errors, but doing it upfront is faster. Weeks 5–8: Rebuild workflows and automation You now have clean data. Your team has watched you debate company name standardization and is impatient. Resist the urge to flip the switch yet. Your Notion setup had manual steps that worked because your team was small and their memory was good. Scale kills manual. Build the workflows that will scale. Map