View Scoping

Scoping determines how data in a view is filtered for each individual client.

Security first: Without scoping, all clients would see every record in the database. Scoping ensures each client only sees their own data.

When you create a portal view (like "Projects" or "Tasks"), you're displaying data from a Notion database. Scoping configuration tells the system how to filter the data so each client only sees records that belong to them.

Scoping types

The view editor offers four scoping types. This page covers the two most common — direct relation and text-key. For Tasks scoped through Projects, see Advanced Scoping.

Recommended1. Relation-based scoping

Use this when your Notion database has a relation property that links to your Clients database.

Example:

  • • Database: "Projects"
  • • Relation property: "Client"
  • • Filter: Show only projects where Client relation contains this client's page ID

This is the most common approach because it leverages Notion's native relation feature.

2. Text-key scoping

Use this when your database has a text property containing a client identifier (like email or ID).

Example:

  • • Database: "Invoices"
  • • Text property: "Client Email"
  • • Match against: Email
  • • Filter: Show only invoices where Client Email equals this client's email

Match options: You can match against Client Page ID, Client ID, or Email depending on what's stored in your text field.

How to configure scoping

1

In the View Editor, navigate to the "Scope" tab

2

Choose your scoping type (Relation-based or Text-key)

3

Select the property from your database that identifies which client owns each record

4

If using Text-key, select what to match against (Email, Client ID, or Client Page ID)

5

Save the view and enable it

Common setup examples

Projects database

  • Scoping type: Relation-based
  • Property: "Client" (relation to Clients database)
  • Result: Each client sees only their projects

Tasks database (linked to Projects)

  • Scoping type: Relation via linked database (not plain relation)
  • First property: "Project" (Tasks → Projects)
  • Second property: "Client" (on Projects → Clients)
  • Result: Each client sees tasks for their projects
  • • See Advanced Scoping for step-by-step setup

Documents database (with email field)

  • Scoping type: Text-key
  • Property: "Client Email" (text field)
  • Match against: Email
  • Result: Each client sees documents with their email

Troubleshooting

Cannot enable view without scoping configuration

You haven't set up scoping yet. Go to the Scope tab and configure either Relation-based or Text-key scoping before enabling the view.

No relation properties found

Your selected database doesn't have any relation properties. Either add a relation property in Notion, or use Text-key scoping instead.

Clients see no data in the view

Check that the scoping property exists, records have it filled in, relations link to the correct client pages, and text fields match the client identifier exactly.

View Scoping Configuration | Portalize Documentation