You want to control who can share a Notion page with external guests or other workspace members. Without an approval process, any editor can share pages freely, which creates security and compliance risks. Notion does not have a built-in approval workflow for sharing, but you can build one using databases, relations, formulas, and automations. This article explains how to create a page approval chain that requires a manager or admin to approve sharing requests before the page is shared.
Key Takeaways: How to Build a Notion Page Approval Chain
- Database with Status, Requestor, and Approver properties: Tracks each sharing request through a structured workflow.
- Relation to the target page: Links the approval request to the actual page that will be shared.
- Formula to calculate approval status: Automatically shows whether the request is pending, approved, or rejected.
- Automation to notify the approver: Sends a notification when a new request is created or changes status.
- Manual share action on approval: The approver shares the page only after the request is approved.
Overview of the Notion Page Approval Chain Feature
An approval chain is a workflow where a request moves from one person to another for review and approval. In Notion, this is built using a dedicated database that tracks each request. The database contains properties that capture who submitted the request, which page to share, the target audience, and the current status. The workflow relies on manual actions by the approver because Notion does not automatically change page permissions based on database properties. You need at least a Notion Plus plan to use automations and guest sharing features.
Steps to Build the Approval Chain
- Create the Approval Requests Database
Create a new database in your workspace. Name it “Sharing Approval Requests.” Add a Title property for the request name, for example “Request: Q4 Report.” Add a Status property with options: Pending, Approved, Rejected. Set the default to Pending. - Add a Relation to the Target Page
Add a Relation property that links to the database containing the pages that can be shared. If you do not have a central page database, create one first. Name the relation “Page to Share.” Enable “Show on the other database” to see the relationship from the target page. - Add Requestor and Approver Person Properties
Add two Person properties: “Requested By” and “Approver.” The Requested By property defaults to the person who creates the database entry. The Approver property is manually set by the requestor or an admin to the person who will approve the request. - Add a Formula to Display Approval Status
Add a Formula property. Use this formula to show a human-readable status:if(prop("Status") == "Pending", "Awaiting Approval", if(prop("Status") == "Approved", "Approved - Ready to Share", "Rejected - Do Not Share")). This formula converts the Status property into a clear message. - Create a Form for New Requests
Create a Notion form linked to the Approval Requests database. In the form, include fields for the request name, the Page to Share relation, and the Approver person property. Do not include the Status or Requested By fields; they will be set automatically. Share the form link with team members who need to request sharing. - Set Up an Automation to Notify the Approver
Go to the database and click the three-dot menu. Select Automations. Create a new automation. Trigger: When a new database item is created. Condition: Status is Pending. Action: Send notification to Approver. The notification message should include the request name and a link to the request page. Create a second automation: Trigger: When Status changes. Condition: Status is Approved or Rejected. Action: Send notification to Requested By with the new status. - Approve or Reject the Request
The approver opens the request page from the notification. They review the Page to Share property and the request details. If the request is acceptable, they change the Status to Approved. If not, they change it to Rejected and can add a comment in the page body explaining why. - Share the Page After Approval
Only after the status is Approved should the approver share the page. The approver clicks the Share button on the target page. They add the guest email or adjust workspace sharing settings. This step is manual because Notion does not allow automations to change page permissions.
Common Mistakes and Limitations
Requestor Cannot See the Target Page
If the requestor does not have access to the target page, they cannot link it in the Relation property. To solve this, give the requestor at least Can View access to the page before they submit the request. Alternatively, have the requestor type the page name in a text field and let the approver link it manually.
Automation Does Not Trigger for Existing Items
Notion automations only trigger on new items or changes made after the automation is created. If you add the automation after items already exist, those items will not trigger notifications. To fix this, manually notify the approver for existing pending requests or recreate those requests.
Approver Cannot Change Status
If the approver does not have edit access to the Approval Requests database, they cannot change the Status property. Ensure the approver has at least Can Edit access to the database. Do not restrict edit permissions on the database itself if you want the approver to change the status.
No Audit Trail for Sharing Actions
The approval chain does not automatically log who shared the page or when. To create an audit trail, add a Last Shared Date property and a Shared By person property to the approval database. The approver updates these manually after sharing the page. This step is optional but recommended for compliance.
Approval Chain Database Properties Compared
| Property | Type | Purpose |
|---|---|---|
| Request Name | Title | Identifies the request |
| Status | Status | Controls the workflow state: Pending, Approved, Rejected |
| Page to Share | Relation | Links to the page that will be shared |
| Requested By | Person | Captures who submitted the request |
| Approver | Person | Identifies the person who must approve |
| Approval Message | Formula | Displays human-readable status text |
You now have a working approval chain for sharing requests in Notion. The requestor submits a form, the approver receives a notification, and the approver manually shares the page after changing the status to Approved. To extend this workflow, add a Comments property or a Rollup to show the last shared date from the target page.