Skip to main content
The Roles admin page (/app/admin/roles) lets you view, edit, create, and delete roles. A role is a name and a set of permissions; users get their effective permissions by being assigned roles.

Default roles

Out of the box, iWorkWhen seeds five roles:
RoleSystem?What it can do
AdminYesEverything
SupervisorNoApproves trades/absences/overtime, publishes schedules, manages coverage/duty/SA
LeadNoView + approve trades and absences (not overtime)
DispatcherNoStandard employee: own schedule + requests
TraineeNoLimited: own schedule + notes, no trade/PTO/OT
System roles (Admin) can’t be deleted or renamed. Their permission set can be edited but I recommend against it — if the Admin role ever loses roles.manage or users.manage, you could lock yourself out.

Create a role

1

Click 'New role'

Top right of the Roles page.
2

Name and describe it

  • Name — required, unique (e.g. “Trainer”, “Scheduler”)
  • Description — optional
3

Select permissions

Permissions are grouped by category (self, admin, schedule, approval, bidding, reports, sa). Check every capability the role should grant.
4

Create role

Now assignable to users.

Edit a role

Click Edit next to a role. Same form, but pre-filled. Changes take effect immediately (there’s a ~few-second in-memory cache that flushes).

Delete a role

Click Delete. Only non-system roles can be deleted. Users who had that role lose those permissions (other roles they have are unaffected).
If a user only had the deleted role, they may end up with no permissions at all — which means they can sign in but can’t see any pages. Consider assigning them another role first.

Recipes

Dispatcher + sa.manage. Can do everything a regular employee does, plus create/manage special assignments.
self.* + schedule.view.all + schedule.publish + schedule.history.view + shifts.manage + shift_patterns.manage + coverage.view + coverage.manage. Can build and publish schedules but can’t approve trades/absences.
self.* + users.view + users.manage + users.hours.change + timebank.view.all + absences.approve. Manages people and PTO balances.
self.schedule.view + users.view + schedule.view.all + shifts.view + coverage.view + duties.view + reports.view. Can look but not change anything.

Required permissions

  • roles.view — read the list
  • roles.manage — create/edit/delete
Only Admin has roles.manage by default.