Search the documentation

Find a page by title or section.

Administration

Users and roles

Who can sign in, what each user type may do, and how roles and permissions decide the rest.

Updated

Two separate things decide what someone can do in Cooriroo. Their user type decides which application they sign in to, and it never changes. Their roles decide what they may read and write once they are in. This page covers both, and where each one is managed.

Who can do this

Role
Administrators
Permission
users:readroles:read

Admins can see users and roles, and can add drivers. Creating roles, changing what a role grants, and assigning roles to people are super-admin actions — they are not exposed in the tenant console.

User types

AdminDriverSuper admin
Signs in toThe web dashboardThe mobile app and the driver portalThe platform console
Belongs toOne tenantOne tenantThe platform, not a tenant
Created bySignup creates the first; the Cooriroo team adds the restAn admin, from the Drivers pageThe Cooriroo team
Sees other tenantsNoNoYes
Can change rolesNoNoYes
The three user types you will meet. A person is exactly one of them.

The first person to sign up creates the tenant and becomes its admin. Every further admin is provisioned by the Cooriroo team, because the endpoints behind admin management are deliberately not scoped to a single tenant. Drivers, by contrast, are yours to add and remove whenever you like.

Roles and permissions

A permission is a single string in the form resource:actiontrips:read, vehicles:write, roles:assign. Permissions are never granted to a person directly. They are collected into roles, and roles are what gets assigned. Four roles ship with the platform:

  • super-admin — bypasses every permission check, across tenants.
  • admin — almost every permission inside one tenant.
  • driver — a deliberately narrow set, listed below.
  • user — a minimal set: sign in, read your own record, manage notifications and API keys.

The driver role is worth knowing in full, because it is the one that surprises people. It grants read and write on trips, stop tasks, shifts and inspections, read on drivers, trip templates, inspection templates and trip exceptions, plus messaging and notifications. It grants nothing on vehicles, destinations, origins, work orders or settings — a driver who needs one of those is asking for a screen the app does not have.

Assignments can expire

A role assignment carries an optional expiry. Once that moment passes the assignment simply stops counting: it is filtered out when permissions are resolved, so no job has to run and nothing has to be cleaned up. This is the mechanism for a contractor covering a two-week peak, or for temporary elevation during an incident.

Resolved permissions are cached, so a role that was just granted, revoked or expired can take up to a couple of minutes to take full effect for someone who is already signed in. If you are testing an access change, wait before concluding it did not work.

Adding people to your tenant

Adding a driver. The driver role is attached automatically — you never pick it.

  1. 1

    Open the Drivers page and start a new driver

    Drivers → Add driver

    Name and email address are what matter here. The email is the address the invitation goes to and the address they will sign in with.

  2. 2

    Save, and the invitation goes out

    Creating the driver creates their user record, attaches the driver role and sends an invitation email in one step. Sending the email is best-effort: if the mail provider is unavailable the driver is still created, and you resend the invitation afterwards.

  3. 3

    The driver activates the account

    The email carries two links to the same token — one that opens the mobile app directly, and a web link for anyone who has not installed it yet. Activation is where they set their password. The token is valid for seven days and is single-use.

  4. 4

    Resend if it goes stale

    Resending issues a fresh token and revokes the previous one, so an old link in an old inbox stops working the moment you resend.

Bulk-importing drivers follows the same path: every newly created row is sent an invitation once the import finishes. Rows that updated an existing driver are not re-invited.

When access does not behave

Someone I invited never received the email
Cause

The invitation record is created before the email is sent, and a send failure does not roll the invitation back.

Check the address on their record first, then resend the invitation. Resending mints a new token, so it also fixes the case where the original link has passed its seven-day window.

A driver signs in but every screen is empty or returns a permission error
Cause

The driver role is missing from their account, so they resolve to zero permissions.

This is the signature of an account created outside the Drivers page. The role is attached in the same transaction as the driver profile, so a driver created normally always has it. Raise it with the Cooriroo team — reassigning a role is a super-admin action.

I changed someone’s access and nothing happened
Cause

Resolved permissions are cached for a short window.

Give it a couple of minutes. If it still has not taken, confirm the assignment has not already expired — an expiry in the past behaves exactly like no assignment at all.

I cannot find a page to create or edit a role
Cause

Role definitions are platform-level, not tenant-level.

Roles and their permissions are shared across the platform rather than defined per tenant, so the screens for them live in the Cooriroo console. If you need a role your team does not have, that is a conversation with us rather than a setting.

Terminology

Your organisation can rename these. If your screens say something else, this is what they mean here.

Driver
The person carrying out a trip, and a user type in its own right. Some tenants call these operators, couriers or crew.Rename it in Customization → Terminology