
Do not index
Do not index
Makr
allows you to build custom portals powered by Notion databases. One of the key features is the ability to limit access to information to specific users depending on their role or affiliation. This can be achieved by setting up the app to have user accounts. To begin, navigate to your dashboard, open an existing app or create a new one.
Set up user accounts
Click on
Settings
in the side bar and select Users
.

By default, apps do not require users to be signed in. To change that, and only allow a specific set of users to use the app, update to allow
Invited users
. 
You will then be asked to select a Notion database where the list of app users will be managed. At minimum, this needs to be a Notion database with one
email
property where email addresses will be stored. Users with email addresses listed in this database will be allowed to log into the app. As users are managed directly from within Notion, you can use third party integration like Make
or Zapier
to add or remove users or do it yourself without leaving your Notion.
In addition to the
email
property, the users database can have one or more relation
properties. Any values in those properties will be treated as “user attributes” that can be used to control which parts of the app they can see or interact with.There are two ways user information can be used to control the flow of information in the app
- Control visibility of pages or blocks
- Dynamically filter database views based on user attributes
Control visibility of pages or blocks
Visibility settings for can be set at the page or the block level. Pages or blocks that allow this control have a
Permissions
tab where you can set a list of user attributes that a user must match to be able to see that specific page or a block. If this field is left empty, any user (including signed-out users) will be able to see the page. Pages
Pages can be set to require users to be logged in. If a user is not logged in, they will be redirected to the login page first.

Blocks
Container, Text, or Notion property blocks can be shown or hidden depending on a user attribute

Dynamically filter database views
User attributes can be used to dynamically filter Notion databases to only show specific pages of a database depending on user’s information e.g. their organization or role. For example, users may have a relation property that links them to their team, organization, or role. If you have a projects or tasks database that also links to any of these relations (e.g. team), you can filter that database based on the whether signed-in user’s team matches the team that a task or project is assigned to.
