r/okta•
gabrielsroka

import groups and members from CSV

Okta/Workforce Identity

using https://gabrielsroka.github.io/console (but i can't test the owner part)

// import groups and members from CSV using https://gabrielsroka.github.io/console

/* Requires a CSV in the following format (name is required, description is optional, userLogins is semicolon-separated)
name,description,ownerLogin,userLogins
Group 1,desc 1,owner1@gmail.com,member1a@gmail.com;member1b@gmail.com
Group 2,desc 2,owner2@gmail.com,member2a@gmail.com;member2b@gmail.com
*/

rows = await readCSV()
results.innerHTML = ''
for (row of rows) {
  group = await postJson('/api/v1/groups', {profile: {name: row.name, description: row.description}})
  results.innerHTML += link(`/admin/group/${group.id}`, group.profile.name) + ' ' + group.profile.description + '<br>'
  owner = await getJson(`/api/v1/users/${row.ownerLogin}`)
  await postJson(`/api/v1/groups/${group.id}/owners`, {id: owner.id, type: 'USER'})
  for (userLogin of row.userLogins.split(';')) {
    user = await getJson(`/api/v1/users/${userLogin}`)
    await put(`/api/v1/groups/${group.id}/users/${user.id}`)
  }
  if (cancel) break
}
log('done')

https://preview.redd.it/s0sv1n55s91g1.png?width=453&format=png&auto=webp&s=88a988571764700313af10cf94205d949784e1df

Posted Nov 14, 2025, 6:57 PM UTC

10
Loading comments…