Manage per-page permissions in multipage apps
Learn how to configure Use access per page in multipage Retool apps, including Source Control requirements.
In multipage apps, you can control which groups can access individual pages. Only Use access can be configured per page. Edit and Own access apply to the app as a whole and are not configurable at the page level.
Configure page permissions
Only organization admins can configure per-page permissions.
- Navigate to Settings > Groups and select a group.
- Go to the Apps tab.
- Find the multipage app and click to expand it and reveal its pages.
- For each page, select Use to grant access, or leave it unselected to deny access.
Only Use access is configurable at the page level. Edit and Own permissions apply to the entire app and cannot be set per page.
What users see without access
If a user tries to navigate directly to a page they don't have Use permission for, they see an access denied message and are redirected to another page in the app where they do have access. If they have no access to any page, they see a 403 error.
Source Control requirement
Per-page permissions require each page to have a unique identifier (UUID) tracked in your source control repository. If an app's page UUIDs haven't been pushed and merged, the page permission toggles are disabled with the message:
Permissions can't be updated until the page UUIDs are tracked in source control. Open a branch, push, and merge first.
To add UUIDs to a source-controlled app:
- Open the app in the editor.
- Create a new branch with no changes.
- Push the branch to source control. Retool automatically generates a migration commit that adds UUIDs to each page (available from version 3.191 edge and later).
- Merge the branch.
You can now configure per-page permissions from the group's Apps tab.
If you are working on multiple branches before UUID migration, each branch generates its own UUIDs. Only merge the UUID migration once, from the main branch. Overriding UUIDs after they've been set on main breaks per-page permissions because Retool uses the IDs set on main as the source of truth.
Related
- Groups: Configure app-level access for groups.
- Source control for apps: Protect apps with Git-based source control.
- Permission levels: What Use, Edit, and Own access let users do.