How to Build a CRM With Linked Notion Databases
🔍 WiseChecker

How to Build a CRM With Linked Notion Databases

You want a simple customer relationship management system inside Notion without paying for a separate CRM app. By linking databases, you can track contacts, companies, deals, and interactions in one workspace. This article explains how to create a functional CRM using Notion databases and relation properties. You will learn the database structure, how to link records, and how to build views that show your sales pipeline.

Key Takeaways: Building a Notion CRM with Linked Databases

  • Relation property: Creates a two-way link between records in different databases, such as connecting a Contact to a Company.
  • Rollup property: Pulls data from a related database, like displaying the total deal value from linked Deals on a Company page.
  • Database views (Table, Board, Calendar): Let you organize and filter your CRM data by stage, date, or assignee.

What Is a Linked Database CRM in Notion?

A CRM built in Notion uses multiple databases that are connected through relation properties. Instead of one flat table, you create separate databases for each entity: Contacts, Companies, Deals, and Activities. Each contact record can be linked to a company, and each deal can be linked to a contact and a company. This structure avoids duplicate data and keeps your workspace organized.

Before you start, ensure you have a Notion workspace with the ability to create databases. All Notion plans, including the free plan, support relation and rollup properties. You will need to create four databases and define their connections. The example in this guide uses the following databases: Companies, Contacts, Deals, and Activities.

How to Create and Link the CRM Databases

Follow these steps to build the CRM structure. Each database will have specific properties that store customer data and link to other databases.

  1. Create the Companies database
    In your Notion workspace, click Add a page and name it Companies. Select Table view. Add these properties: Name (title), Industry (select), Website (URL), Phone (phone), and Notes (text).
  2. Create the Contacts database
    Add a new page named Contacts. Use Table view. Add properties: Name (title), Email (email), Phone (phone), Job Title (text), and Company (relation). For the Company relation, click Edit property and select the Companies database. This creates a two-way link between contacts and companies.
  3. Create the Deals database
    Add a new page named Deals. Use Table view. Add properties: Deal Name (title), Value (number, format as US Dollar), Stage (select with options: Lead, Qualified, Proposal, Negotiation, Closed Won, Closed Lost), Close Date (date), and Contact (relation to Contacts database) and Company (relation to Companies database).
  4. Create the Activities database
    Add a new page named Activities. Use Table view. Add properties: Activity Name (title), Type (select with options: Call, Email, Meeting, Note), Date (date), Notes (text), and Contact (relation to Contacts database) and Deal (relation to Deals database).
  5. Link the databases using relation properties
    In the Contacts database, the Company relation already links to Companies. In the Deals database, add relations to both Contacts and Companies. In the Activities database, add relations to Contacts and Deals. For each relation, enable the option Show on the related database so that you can see linked records from both sides.
  6. Add rollup properties for quick summaries
    In the Companies database, add a Rollup property named Total Deals Value. Set the relation to Deals, the property to Value, and the calculation to Sum. This shows the total value of all deals linked to a company. In the Contacts database, add a Rollup property named Open Deals Count. Set the relation to Deals, the property to Stage, and the calculation to Count All. Then filter the rollup to only count stages that are not Closed Won or Closed Lost.

How to Build Views for Your Sales Pipeline

After creating the databases, you can build different views to manage your CRM. Each view serves a specific purpose, such as tracking deals by stage or viewing upcoming activities.

  1. Create a Board view for the Deals pipeline
    In the Deals database, click Add a view and select Board. Set the Group by property to Stage. This displays deals in columns: Lead, Qualified, Proposal, Negotiation, Closed Won, Closed Lost. You can drag deals between columns to update their stage.
  2. Create a Calendar view for Activities
    In the Activities database, click Add a view and select Calendar. Set the Date property to Date. This shows all calls, emails, and meetings on a calendar. You can filter the view to show only upcoming activities for the current week.
  3. Create a linked database view on a Dashboard page
    Create a new page named CRM Dashboard. Type /linked view of database and select the Deals database. Choose the Board view you created. Repeat this step to add a linked view of the Activities database in Calendar view. This dashboard gives you a quick overview of your pipeline and upcoming tasks.

Common Mistakes and Limitations of a Notion CRM

Duplicate records due to missing relation links

If you add a contact without linking it to a company, you will have orphan records. Always fill the relation property when creating a new contact or deal. To avoid this, set the relation property as required in the database property settings.

Rollup values not updating immediately

Rollup properties recalculate when the page is loaded or when a related record is changed. If you update a deal value, the rollup in the Companies database may not refresh until you reload the page. Refresh the browser or click the Companies page to see the updated sum.

No built-in email or calendar sync

Notion does not automatically sync with Gmail or Outlook. You must manually log activities. To reduce manual work, create templates for common activity types, such as a Call template that pre-fills the Type and Date properties.

Permission conflicts with shared databases

If you share the CRM with your team, ensure each member has at least Can Edit access to all four databases. If someone cannot see linked records, check the share settings of each database. Go to Share in the top right corner of each database and add the person or group.

Notion CRM Database Structure Compared

Database Key Properties Relations To
Companies Name, Industry, Website, Phone Deals
Contacts Name, Email, Phone, Job Title Companies, Deals
Deals Deal Name, Value, Stage, Close Date Contacts, Companies
Activities Activity Name, Type, Date, Notes Contacts, Deals

This table shows the four databases and their connections. The relations create a web of linked records. For example, a deal is linked to both a contact and a company, and an activity is linked to a contact and a deal. This structure lets you navigate from a company page to see all its contacts, deals, and activities without duplicating data.

You now have a working CRM built with linked Notion databases. To take it further, add a Formula property to calculate deal age or create a Gallery view for visual contact cards. A practical next step is to set up a template button that creates a new deal and automatically links it to the current contact page using the relation property.