How to Build Notion Database With Tiered Access via Status Property
🔍 WiseChecker

How to Build Notion Database With Tiered Access via Status Property

You want to share a Notion database with team members but restrict what each person can see based on their role. Notion does not offer row-level permissions natively, but you can simulate tiered access using a Status property combined with database views and group permissions. This article explains how to configure a Status property to control visibility, set up locked views per role, and avoid common permission pitfalls.

A tiered access database lets managers see all records while contributors see only their assigned items. The Status property acts as a filter that each view uses to show or hide rows. This method works within a single workspace where all members already have access to the database, but you restrict their view through filtered, locked views.

By the end of this guide, you will have a working Notion database where each user group sees only the records that match their tier. You will also learn how to lock views so users cannot bypass the filter.

Key Takeaways: Building a Tiered Access Database in Notion

  • Status property with predefined options (Draft, In Review, Approved): Each value represents a tier and controls which rows appear in each view.
  • Filtered database views per role: Create one view per tier and apply a filter on the Status property to show only matching rows.
  • Locked views with “Group” permission: Prevent users from editing the view filter or adding rows outside their tier by setting view permissions to Can View or Can Edit.

ADVERTISEMENT

How the Status Property Creates Tiered Access

The Status property in Notion is a select-type field with predefined options such as Draft, In Review, and Approved. Each option acts as a label that can be used to filter rows. When you create a database view and apply a filter on the Status column, the view displays only rows that match the selected status value.

To build tiered access, you map each Status value to a user role. For example:

  • Draft: Visible to the record owner and managers
  • In Review: Visible to reviewers and managers
  • Approved: Visible to all workspace members

Each role gets its own database view that is filtered to show only the relevant Status value. The view is then locked so the user cannot change the filter or see other rows. This approach requires that all users already have Can Edit access to the database page itself; the restriction happens at the view level.

Prerequisites: You need a Notion workspace with at least the Plus plan to use Groups for view-level permissions. Free plan users can still build the views but cannot lock them per group.

Steps to Set Up Tiered Access With the Status Property

Step 1: Create the Status Property and Define Options

  1. Open your database
    Go to the Notion page that contains your database. Click the + button in the last column header to add a new property.
  2. Select the Status property type
    From the property type menu, choose Status. Notion will create a property with default options: Not started, In progress, and Done.
  3. Rename the options to match your tiers
    Click each option name to rename it. For a three-tier system, rename them to Draft, In Review, and Approved. Add or remove options as needed by clicking Add option or the trash icon next to an option.
  4. Set a default value (optional)
    Click the property settings icon (three dots) next to the Status property name. Under Default value, choose Draft so new rows automatically belong to the lowest tier.

Step 2: Create a Database View for Each Tier

  1. Add a new view
    Click the + sign next to the last view tab at the top of your database. Choose a view type, such as Table or Board. Name the view after the tier, for example Draft View.
  2. Apply a filter to the view
    Click the Filter button above the database. Add a filter: Status is Draft. This view will now show only rows with the Status set to Draft.
  3. Repeat for each tier
    Create a second view named In Review View with filter Status is In Review. Create a third view named Approved View with filter Status is Approved.
  4. Create a manager view (optional)
    Create a view named All Records with no filter. Managers with full access will use this view to see every row. Lock this view only for non-manager groups.

Step 3: Assign Users to Groups (Notion Plus and above)

  1. Open workspace settings
    Click Settings & Members in the left sidebar, then select Groups.
  2. Create a group per role
    Click Create a group. Name it Contributors. Add members who should only see Draft records. Create another group named Reviewers for users who should see In Review records. Create a Managers group for users who need to see all records.

If your workspace is on the Free plan, skip this step. You will manually share views later, but you cannot lock them per group.

Step 4: Lock Each View to the Correct Group

  1. Open view permissions
    Click the view name (for example, Draft View). Click (the three dots) next to the view name, then select View permissions.
  2. Set the default access level
    Under Default access, choose Can view. This prevents any user who is not in the allowed group from editing the view filter or layout.
  3. Add the allowed group
    Click Add people or groups. Type the group name, for example Contributors. Set their permission to Can edit if they should be able to edit rows in this view, or Can view if they should only read.
  4. Repeat for each tier
    For the In Review View, add the Reviewers group with Can edit. For the Approved View, add All workspace members or specific groups. For the All Records view, add only the Managers group.

Step 5: Share the Database Page With All Users

  1. Share the parent page
    Click Share in the top-right corner of the page that contains the database. Add each user or group and set their permission to Can edit. All users must have at least Can edit access to the page so they can interact with the views.
  2. Instruct users to use their assigned view
    Tell each user to open the database and click the view tab that matches their role. Because the other views are locked, they cannot switch to a view that shows restricted rows.

ADVERTISEMENT

Common Issues When Building Tiered Access

User Can See All Rows by Changing the Filter

If a user has Can edit access to the view, they can modify the filter and see all rows. To prevent this, set the view permission to Can view for all groups except the one that needs to edit. Users with Can view cannot change the filter or layout.

User Adds a Row That Appears in the Wrong Tier

When a user adds a new row from a filtered view, the Status property defaults to the view filter value only if you set a default value. If you did not set a default, the new row may have no Status and will be hidden from all filtered views. To fix this, set the default value of the Status property to Draft so new rows always appear in the Draft view.

Free Plan Users Cannot Lock Views per Group

On the Free plan, view permissions cannot be assigned to groups. You can still create filtered views and share them with individuals by setting their permission to Can view, but you must add each person one by one. Consider upgrading to Plus if you need group-based locking.

Notion Plan Features for Tiered Access: Free vs Plus vs Business

Feature Free Plus Business
Groups for view permissions Not available Available Available
Locked views (Can view only) Per individual user Per group Per group
Status property Available Available Available
Database view filters Available Available Available
Maximum view permissions Unlimited per user Unlimited per group Unlimited per group

On the Free plan, you can still build the database and create filtered views, but you must set each user’s view permission individually. Plus and Business plans let you manage permissions through groups, which saves time when adding or removing team members.

Business adds advanced security controls like SAML SSO and guest approval workflows, but these do not directly affect the tiered access setup described in this article.

You can now build a Notion database where each user sees only the records that match their role using the Status property. Start by creating the Status options, then build one filtered view per tier, and lock each view to the correct group. For a more advanced setup, try using a Formula property to auto-assign the Status based on the row creator, then combine it with a rollup to enforce stricter access rules.

ADVERTISEMENT