Notion Workspace Import: Permission Mapping Walkthrough
🔍 WiseChecker

Notion Workspace Import: Permission Mapping Walkthrough

When you import a large workspace into Notion, your existing permission structure may not transfer automatically. Notion maps imported users and groups to workspace members using email addresses and role assignments. This article explains how Notion handles permission mapping during imports and provides a step-by-step walkthrough to ensure your data remains secure and accessible only to the right people.

You will learn how permissions are mapped from external sources such as CSV files, other tools, or backup archives. The walkthrough covers the import process, how to verify mapping results, and what to do when permissions do not transfer as expected. By the end, you will be able to import a workspace with confidence that your permission rules are applied correctly.

Key Takeaways: Permission Mapping During Workspace Import

  • Settings & Members > Import: Start the workspace import and select the source file or tool.
  • Permission mapping rules in Notion: Users are matched by email; unmatched users become guests or are skipped.
  • Post-import audit in Settings & Members: Review each page’s share settings to confirm permissions applied correctly.

How Notion Maps Permissions During Workspace Import

Notion does not import raw permission rules from external systems. Instead, it uses a mapping table that assigns imported roles to Notion roles. When you import a workspace from a CSV file, a backup archive, or a tool like Confluence or Trello, Notion reads the email addresses of users and groups associated with each page. It then matches those email addresses to existing workspace members or invites new members automatically.

The mapping works in three layers. First, Notion checks if the email address belongs to a current workspace member. If yes, the member receives the imported permission level. Second, if the email is not found, Notion invites the person as a guest or member depending on your workspace settings. Third, if the email belongs to a group that does not exist in Notion, that group is created as a group in the workspace and the group members are invited. Permissions are not copied as raw access control lists. Instead, Notion translates each permission level into its closest equivalent: Full Access becomes Can Edit, Read Only becomes Can View, and so on.

The import process preserves page hierarchy when possible. If a parent page has certain permissions and a child page has different permissions, both are imported separately. However, inherited permissions from the source system are not always recognized. Notion applies explicit permissions per page, so inherited rules must be re-created manually after import.

Step-by-Step Walkthrough for Permission Mapping

Follow these steps to import a workspace and map permissions correctly. The steps assume you are a workspace owner or admin.

  1. Prepare your source file
    Export your workspace data from the source tool as a CSV or JSON file. Ensure the file contains a column for email addresses and a column for permission levels. Remove any duplicate or invalid email addresses. Save the file in UTF-8 encoding to avoid character mismatches.
  2. Open the Import dialog
    In Notion, navigate to Settings & Members > Settings > Workspace > Import. Click the Import button and select the file format that matches your source. If you are importing from a tool like Confluence, choose the specific tool from the list.
  3. Map the columns
    Notion displays a preview of your data. Map the Email column to the Notion user field and the Permission column to the Notion role field. If your source uses custom role names, you may need to choose the closest Notion role from a dropdown. For example, map “Editor” to “Can Edit” and “Viewer” to “Can View”.
  4. Set the default permission for unmatched users
    In the import options, choose what happens to email addresses that do not match any existing workspace member. You can select “Invite as member” to add them with the mapped permission, “Invite as guest” to grant limited access, or “Skip” to omit them entirely. For security, choose “Skip” if you plan to add users manually later.
  5. Start the import
    Click the Start Import button. Notion processes the file and creates pages, databases, and permissions. The import may take several minutes depending on file size. Do not close the browser tab during processing.
  6. Review the import summary
    After completion, Notion shows a summary of imported pages, users, and permissions. Note any errors or warnings. Common errors include invalid email addresses, unsupported permission levels, and duplicate page names.
  7. Verify permissions on imported pages
    Open a few imported pages. Click the Share button in the top-right corner. Confirm that the listed users and groups have the correct permission level. If a user appears with a different level than expected, adjust it manually by clicking the permission dropdown next to their name.
  8. Audit group permissions
    If your import included groups, go to Settings & Members > Members > Groups. Verify that each group has the correct members and that the group-level permissions on pages are applied. Edit group membership by clicking the group name and adding or removing members.

If Imported Permissions Are Incorrect or Missing

Some users were not imported despite having valid emails

This usually happens when the email column header does not match what Notion expects. Re-check the column mapping during import. If the email is correct but the user is still missing, the user may already be a workspace member but with a different email alias. Ask the user to add their alternate email in their Notion profile settings. Alternatively, invite them manually from Settings & Members > Members > Invite.

Permission levels do not match the source

Notion uses a simplified permission model: Full Access, Can Edit, Can View, and No Access. If your source had custom roles like “Contributor” or “Reviewer”, Notion maps them to the closest option. To fix this, review each page’s share settings and adjust permissions manually. For large workspaces, use the bulk permission editor available in the Business and Enterprise plans.

Inherited permissions are not applied

Notion does not import inheritance rules. If your source system had parent pages that granted access to child pages automatically, those child pages will have no permissions after import. You must either set permissions on each child page individually or use Notion groups to apply permissions to multiple pages at once. Create a group for each permission set and add the group to each page.

Import Methods and Their Permission Mapping Behavior

Import Method Permission Mapping Limitations
CSV file import Maps email and role columns to Notion members and roles No support for group hierarchies or inherited permissions
Confluence import Converts space permissions to Notion page permissions; maps Confluence groups to Notion groups Confluence restrictions and page-level overrides may be lost
Trello import Board members become page editors; card-level permissions are not supported Only board-level permissions transfer; individual card permissions are ignored
Notion backup (.zip) import Preserves existing Notion permissions exactly as they were in the backup Only works for re-importing a previous Notion workspace; cannot merge with current permissions

Notion workspace import does not automatically merge permissions from multiple sources. If you import a backup on top of an existing workspace, the backup permissions overwrite the current permissions for pages that already exist. Always test the import in a sandbox workspace before applying it to your production environment.

After completing the import, you can now manage permissions across your workspace with confidence. Next, explore Notion’s permission templates feature in Settings & Members > Permissions to create reusable permission sets. An advanced tip: use the API to programmatically audit and adjust permissions after import by running a script that checks each page’s share settings against your desired rules.