Skip to content

CSV Permissions Converter

Convert CSV files for bulk user operations: either updating existing user permissions or creating new user accounts with permissions.

INFO

Download role mapping CSVs from the Platform Role Mappings Notion page.

1
Operator Mappings
2
Upload CSV
3
Review & Export

Configure Roles

Define permission mappings for each role. These will be applied when users are uploaded.

📄

No roles configured

Add a role manually or import a CSV file

How to Use

The tool follows a 3-step wizard flow:

Step 1: Operator Mappings

Configure the default permission mappings for each role:

  • Toggle checkboxes to customize which permissions each role has
  • Add custom roles using the "Add Role" button
  • Export/import role mappings as CSV for reuse

Step 2: Upload CSV

  1. Select a mode:
    • Create Users - For creating new user accounts with permissions (output compatible with admin/accounts/user/import-csv/)
    • Update Permissions - For updating permissions of existing users (output compatible with admin/accounts/companymembership/import-csv/)
  2. Upload your CSV file with the required columns (see format below)

Step 3: Review & Export

  1. Review and edit the loaded users:
    • Adjust roles and permissions inline
    • For Create mode: fill in names and company (required)
    • Set QA/QC status for each user
    • Configure geofencing options
  2. Export CSV to download the formatted output file
  3. Export Permissions CSV (shown only if you modified mappings in Step 1) to save your updated role mappings

Operator Mappings CSV Format

Role mappings can be exported/imported as CSV:

csv
role,region_required,map_view,map_edit,epasep_view,...
Super User,no,yes,yes,yes,...
Observer,no,yes,no,no,...

Input CSV Format

Update Permissions Mode

Required columns: email, role

Optional columns: qa/qc, geofence_area_names, geofence_shape, initial_screen_after_login, emission_table_default_filter_assigned_to_self

csv
email,role,qa/qc,geofence_area_names,initial_screen_after_login,emission_table_default_filter_assigned_to_self
admin@example.com,Super User,yes,,MAP,no
manager@example.com,Event Manager,no,"Area1,Area2",MAP,no
viewer@example.com,Observer,,,MAP,no

Create Users Mode

Required columns: email, company_name

Optional columns: first_name, last_name, qa/qc, geofence_area_names, geofence_shape, initial_screen_after_login, emission_table_default_filter_assigned_to_self

csv
email,first_name,last_name,company_name,qa/qc,initial_screen_after_login,emission_table_default_filter_assigned_to_self
newuser@example.com,John,Doe,Acme Corp,yes,MAP,no
another@example.com,Jane,Smith,Beta Inc,no,MAP,no

Output CSV Format

Update Permissions Mode Output

Columns: email, role, qa/qc, geofence_area_names, geofence_shape, initial_screen_after_login, emission_table_default_filter_assigned_to_self, followed by all permission columns

csv
email,role,qa/qc,geofence_area_names,geofence_shape,initial_screen_after_login,emission_table_default_filter_assigned_to_self,map_view,map_edit,...
admin@example.com,Super User,yes,,,MAP,no,yes,yes,...

Create Users Mode Output

Columns: first_name, last_name, email, role, company_name, qa/qc, geofence_shape, geofence_area_names, initial_screen_after_login, emission_table_default_filter_assigned_to_self, followed by all permission columns

csv
first_name,last_name,email,role,company_name,qa/qc,geofence_shape,geofence_area_names,initial_screen_after_login,emission_table_default_filter_assigned_to_self,map_view,...
John,Doe,newuser@example.com,Super User,Acme Corp,yes,,,MAP,no,yes,...

Geofencing Options

You can restrict user access to specific geographic areas using one of two methods:

Option 1: Area Names - Comma-separated list of predefined area names

csv
geofence_area_names
"Area1,Area2,Area3"

Option 2: Shape (GeoJSON/WKT) - Custom geometry definition

csv
geofence_shape
"{""type"":""Polygon"",""coordinates"":[[[0,0],[1,0],[1,1],[0,0]]]}"

User Preferences

The following optional columns configure default behavior for each user:

ColumnDefaultOptionsDescription
initial_screen_after_loginMAPMAP, EMISSIONS, ANALYTICSThe first screen the user sees after logging in.
emission_table_default_filter_assigned_to_selfnoyes, noWhether the emissions table should default to showing only rows assigned to the user.

Leaving a cell empty keeps the user's current setting (Update Permissions mode) or applies the default (Create Users mode).

Importing into Django Admin

Follow the instructions at User management.