Back to Blog

Notion CRM Template: A Complete Setup That Actually Works

A practical Notion CRM template with the exact databases, properties, views, and formulas you need. Plus where it stops scaling and how to extend it with HubSpot.

Michael McGarvey

Michael McGarvey

May 7, 2026·7 min read
A Notion CRM template with linked databases for contacts, companies, and deals

Search "Notion CRM template" and you will find hundreds of free downloads. Most of them are visually impressive and operationally useless. They cram every conceivable property into a single contacts database, add a dozen views nobody opens, and forget the basics that make a CRM actually work: relations between records, clean pipeline views, and templates that enforce a consistent shape on the data your team writes.

This guide is the template I would build for a small sales team today. It covers the four databases you actually need, the exact properties to put on each one, the views that turn the structure into a working pipeline, and the formulas that make it feel less like a spreadsheet and more like a CRM. It also covers the point at which this template stops being enough, and what to do when you reach it.

In this article

1.

2.

3.

4.

5.

6.

7.

What a good Notion CRM template gets right

Before the implementation, a quick filter for evaluating any Notion CRM template you find online (including this one): if it does not include relations between databases, it is a contact list, not a CRM. If every property lives in a single database, the template will collapse the moment one company has more than one contact or one contact carries more than one deal. The whole point of a CRM is the graph between people, companies, and deals, and Notion's Relation property is what makes that graph possible.

The other thing a good template gets right is restraint. A CRM with 30 properties per record is a CRM that nobody updates. Each of the four databases below has a deliberately small set of properties, with everything else either pushed to a dedicated database (Activities) or omitted entirely.

The four databases your CRM template needs

1. Contacts

The Contacts database is the foundation. Every person you talk to ends up here, and every other record relates back to it.

Properties to include:

  • Name (Title)
  • Email (Email)
  • Phone (Phone)
  • Role (Text)
  • Company (Relation to Companies)
  • Stage (Select: New, Engaged, Qualified, Customer, Lost)
  • Source (Select: Inbound, Outbound, Referral, Event, Partner)
  • Owner (Person)
  • Last Contacted (Date)
  • Sync to HubSpot (Checkbox, used later by NoteLinker)

That is ten properties, and you will be tempted to add more. Resist. Anything richer (LinkedIn URL, time zone, notes from the last call) belongs either in the page body or in the Activities database, not in another column.

2. Companies

Companies turn a list of contacts into actual accounts. Without this database, a rep who logs into your CRM cannot tell that the four prospects from Acme are related to one another.

Properties:

  • Company Name (Title)
  • Industry (Select)
  • Headcount (Select: 1 to 10, 11 to 50, 51 to 200, 201 to 1000, 1000+)
  • Website (URL)
  • Owner (Person)
  • Contacts (Relation, auto-populated from the Contacts relation)
  • Deals (Relation, auto-populated from the Deals relation)

The Contacts and Deals relations on this database should be configured to show on both sides of the relation. That way, opening a company shows every person you have spoken to and every deal that has come out of the account.

3. Deals

Deals are the heart of any pipeline view, and the database your sales manager will care about most.

Properties:

  • Deal Name (Title)
  • Value (Number, formatted as USD)
  • Stage (Select: Discovery, Demo, Proposal, Negotiation, Closed Won, Closed Lost)
  • Probability (Number, percentage; or a Select with 10, 25, 50, 75, 90, 100 if you want to keep it clean)
  • Expected Close Date (Date)
  • Owner (Person)
  • Primary Contact (Relation to Contacts)
  • Company (Relation to Companies)
  • Sync to HubSpot (Checkbox)

The Primary Contact relation handles the common case where a deal involves one main champion. You can add a second relation called "All Stakeholders" later if multi-threaded deals become common, but most early-stage teams do not need it on day one.

4. Activities

This is the database most public Notion CRM templates skip, and it is the single biggest reason those templates fall apart by month two. Without an Activities database, every interaction has to live as a paragraph inside a contact page, with no way to filter, sort, or report across them.

Properties:

  • Title (Title; auto-named with a template, see below)
  • Type (Select: Call, Email, Meeting, Demo, Note)
  • Date (Date)
  • Contact (Relation to Contacts)
  • Deal (Relation to Deals; optional)
  • Owner (Person)
  • Sync to HubSpot (Checkbox)

Each activity is its own page, with the meeting notes, call summary, or email thread written in the body. The point of pulling activities into their own database is that you can now run a "Last 7 days" view across the whole team and instantly see what work has been happening.

Views that turn the template into a working pipeline

A database without the right views is just a table. Each of the four databases should ship with at least three views in the template.

Contacts:

  • All Contacts (Table, default sort: Last Contacted descending)
  • By Stage (Board, grouped by Stage)
  • My Contacts (Table, filtered to Owner = Me)

Companies:

  • All Companies (Table, sorted alphabetically)
  • By Industry (Board, grouped by Industry)

Deals:

  • Pipeline (Board, grouped by Stage, sorted by Expected Close Date ascending). This is the view your team will live in.
  • My Pipeline (Board, grouped by Stage, filtered to Owner = Me)
  • Closing This Month (Table, filtered to Expected Close Date this month, sorted by Value descending)

Activities:

  • Last 7 Days (Table, filtered to Date is within the past week, sorted descending)
  • By Contact (Table, sorted by Contact, then Date descending)
  • My Activities (Table, filtered to Owner = Me)

That is twelve views across the whole template. Most public Notion CRM templates ship with thirty, half of which nobody opens. Twelve is enough.

Formulas and rollups that make it feel like a real CRM

Three small formulas turn a structurally correct CRM template into one that actually surfaces useful metrics.

Days in Stage (on Deals): Tracks how long a deal has been sitting in its current stage so a manager can spot stalled deals at a glance. Add a "Stage Changed Date" property and a formula:

dateBetween(now(), prop("Stage Changed Date"), "days")

Setting Stage Changed Date manually whenever a deal moves is the discipline this requires; there is no native trigger for it.

Weighted Pipeline (on Deals): Multiplies value by probability so your forecast view sums weighted dollars instead of raw potential.

prop("Value") * prop("Probability") / 100

Add a calculation on the Pipeline view to sum this column at the top of each stage column, and you have a forecast that updates as deals move.

Last Activity Date (on Contacts): A rollup that pulls the most recent Date from related Activities, giving you a real "last contacted" value without any manual updates.

Configure a rollup on Contacts pointing at Activities, with the property set to Date and the calculation set to Latest date. You can then sort or filter Contacts by genuine recent activity, not by a Last Contacted field that nobody remembers to update.

Page templates so reps don't reinvent the wheel

The page-level template inside each database is what enforces consistency on freeform content.

For Activities, create a default page template with a structure for meeting notes: Date, Attendees, Agenda, Discussion, Decisions, Next Steps. Reps click "New" and the structure is already there.

For Deals, create a page template with sections for Background, Decision Process, Stakeholders, Competitors, Risks, and Next Steps. This is also where teams that run MEDDPICC qualification in Notion put their MEDDPICC fields.

For Contacts, the page body is usually freeform and does not need a template. Notes that belong on a contact go into Activities, not into the contact page itself.

Push Your Notion CRM Notes Into HubSpot

NoteLinker syncs notes from your Notion CRM template directly onto HubSpot contact and deal timelines, so the rest of the company sees what your reps wrote.

Try NoteLinker Free

Where the template stops being enough

The template above will run a small sales operation cleanly for a long time. It will eventually run into the same five limits every Notion-only CRM hits. Worth understanding them before you commit a team to this setup.

The first is manual activity logging. Every email, call, and meeting has to be entered by hand. At ten active deals this is fine. At fifty it is unsustainable, and reps will quietly stop logging interactions, which means the CRM stops being a source of truth.

The second is automation. Notion has no native way to advance a deal stage when a meeting is booked, send a reminder when a deal has been stagnant, or rotate inbound leads to the next available rep. Zapier and Make can paper over some of this, but the workflows are fragile.

The third is reporting. Pipeline value, conversion rates by stage, and forecast accuracy are reports a real CRM gives you out of the box. In Notion, every number requires a formula or a manually maintained dashboard, and the moment you change a Select option, half of them break.

The fourth is multi-rep ownership. Notion has no concept of record-level ownership, territory routing, or lead assignment beyond an Owner property that everyone can edit.

The fifth is the activity timeline. Even with the Activities database above, opening a contact in Notion shows you a relation to activities, not a chronological log of every email and meeting the way HubSpot does. For a deeper breakdown of these limits, see how to use Notion as a CRM and why you still need HubSpot.

Extending the template with HubSpot

The teams that get this right do not throw the Notion template away when they outgrow it. They keep the template as their writing and thinking layer, and pair it with HubSpot as the system of record.

Reps write in Notion. Managers read in HubSpot. The sync between them is what makes both halves useful.

The mechanism is simple. Add the Sync to HubSpot checkbox property to any database in the template (it is already on Contacts, Deals, and Activities above). Connect Notion and HubSpot through NoteLinker, and the rows you check sync to the matching HubSpot contact or deal as a formatted note on the activity timeline. The formatting (headings, bullet points, bold text) is preserved, and the note shows up wherever the rest of your team already looks.

This means the template you built does not have to be the whole CRM. It can be the freeform, structured, fast-to-edit layer that your reps love, while HubSpot handles the things Notion never will: email tracking, sequences, automation, real reporting, and a true activity timeline. For a step-by-step setup, see the two-minute Notion to HubSpot sync guide or the more detailed walkthrough on syncing Notion notes to HubSpot CRM automatically.

A Notion CRM template is a great starting point. Treat it as the start, not the destination, and the same template that runs your first ten deals will still be earning its keep at deal one thousand.


Get HubSpot and Notion tips delivered straight to your inbox

We'll email you 1-3 times per week, and never share your information.