We recommend importing user lists for any application included in your regular access reviews. There are three common approaches:
- One-time import - Import once, then manage all requests and revocations directly in AccessOwl.
- Periodic import - Update the user list on a schedule (for example, quarterly before an access review).
- Automated sync - Fully automate synchronization between AccessOwl and the application. To request this, contact AccessOwl support. We prioritize integrations based on demand.
How to Import a User List
Open the application
Go to the application and click Edit, then click Import.
Upload or paste your data
Upload a CSV file or copy-paste table data into the dynamic CSV importer.
Review and confirm
Review the imported data and confirm the import.
Ensure that your permission names in AccessOwl match the exact names from the source application. Mismatched naming will cause an error. Capitalization does not matter.
Your CSV always starts with the Email column. Each additional column represents one of your resources. The rows contain the permissions for that resource.
Below are examples showing different permission structures.
Single Resource
The simplest case. The application has one resource and each user holds one permission.
Multiple Resources with Multiple Permissions
When an application has more than one resource, each resource gets its own column. A user may have permissions for some resources but not others.
| Email | License | Security Group |
|---|
| john.doe@accessowl.com | Enterprise | IT-Admins;VPN-Users |
| jane.doe@accessowl.com | Standard | |
| oscar.owl@accessowl.com | Enterprise | VPN-Users |
Here, John has one license permission and two security group memberships. Jane only has a license and no security group assignment.
Parent Resource with Child Resources
Some applications combine a simple resource with a parent-child resource structure. In this example, the application has a Roles resource (simple) and a parent resource with two child resources: Team A and Team B. Each child resource appears as its own column, without the parent name as a prefix.
| Email | Roles | Team A | Team B |
|---|
| alex.chen@accessowl.com | Team brand designer | User | User |
| jordan.smith@accessowl.com | Team brand designer | Admin | Admin |
| priya.patel@accessowl.com | Team brand designer | Admin | Admin |
In this example, each user has a role and permissions for both Team A and Team B. Because Team A and Team B are child resources under the same parent, their permissions are handled within the same row.
Multiple Separate Resources
When an application has multiple independent resources (not parent-child), each resource gets its own column. In this example, the application has three resources: Organization Role, Project (a list of projects), and Project Role (the role within that project).
Because Project and Project Role are separate resources, a user who belongs to multiple projects with different roles needs a separate row for each combination. Duplicate the user’s email for each row.
| Email | Organization Role | Project | Project Role |
|---|
| john.doe@accessowl.com | Member | Alpha | Viewer |
| jane.doe@accessowl.com | Admin | Beta | Admin |
| oscar.owl@accessowl.com | Admin | Alpha | Admin |
| oscar.owl@accessowl.com | Admin | Beta | Member |
In this example, Oscar is in two projects with different roles. He is an Admin in Project Alpha and a Member in Project Beta. Because Project and Project Role are not linked as parent-child, Oscar needs two rows.
Leave a cell empty if the user does not have any permission for that resource. You do not need to fill every column for every user. When a user holds more than one permission for the same resource, separate them with a semicolon and no spaces, for example Admin;Editor.