Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developers.novala.ai/llms.txt

Use this file to discover all available pages before exploring further.

Every user in Novala is assigned a role that determines which parts of the platform they can access and what actions they can take. Novala ships with a set of built-in roles designed for the most common team structures, and admins can fine-tune permissions for any role at any time.

Built-in roles

Novala includes the following roles out of the box:

Admin

Full access to all modules, settings, and data. Admins can invite users, manage roles, configure integrations, and modify any record.

Coordinator

Manages day-to-day operations: creating and assigning work orders, reviewing inspection results, managing scheduling, and sending invoices to customers.

Technician

Field-focused access. Technicians can perform inspections, update work order status from the field, and view their assigned schedule.

Sales

View leads, manage pipeline and contacts, and create quotes. Sales users do not have access to work orders, invoicing, or settings.
Additional roles available include Office Manager, Warehouse Manager, Warehouse Associate, Project Lead, and CMS Editor, each with permissions appropriate to their function.

Default permission comparison

CapabilityAdminCoordinatorTechnicianSales
Manage settingsYes
Invite and manage usersYes
View and edit contactsYesYesYes
Manage pipeline and dealsYesYesYes
Create and send quotesYesYesYes
Create and assign work ordersYesYes
Update work order statusYesYesYes
Perform inspectionsYesYesYes
Review inspection reportsYesYes
Manage schedulingYesYes
Send invoicesYesYes
Access financial reportsYes

View and edit permissions

Navigate to Settings → Roles to see all roles and the full permission matrix. Permissions are organized by module. Each row in the matrix is a specific action (for example, inspection.create or invoice.send), and each column is a role. You can check or uncheck any permission for any non-admin role.
1

Open Roles settings

Go to Settings → Roles. You’ll see a table with roles as columns and permissions grouped by module as rows.
2

Find the permission you want to change

Use the search box at the top right to filter by module name or permission key. Permissions follow the format module.resource.action — for example, calso.inspection.create or invoicing.invoice.send.
3

Toggle the permission

Click the checkbox at the intersection of the permission row and the role column. Changes save automatically.
The Admin role always has full access and cannot be modified. Changes to other roles apply immediately to all users assigned to that role.

Reading the permission matrix

The matrix uses color coding to help you understand the state of each permission:
  • Checked (default style) — the permission is enabled and was part of the role’s original defaults
  • Checked (blue) — the permission was added as a custom override on top of the defaults
  • Unchecked (orange border) — the permission is disabled but was part of the role’s original defaults, meaning it was explicitly removed
This makes it easy to see which roles you’ve customized and which permissions have been changed from the standard configuration.

Assign a role to a user

1

Go to Users settings

Navigate to Settings → Users and find the user you want to update.
2

Open the user's profile

Click the user’s row to open their detail page.
3

Change their role

Select a new role from the Role dropdown and save. The change takes effect on the user’s next page load.
When you invite a new user (Settings → Users → Invite User), you assign their role at the time of invitation. You can always change it later.

Permission key reference

Permission keys follow the format module.resource.action. The module prefix corresponds to the module name in Novala:
PrefixModule
platformPlatform core
contactsContacts
calsoInspections
equipmentEquipment
invoicingInvoicing
schedulingScheduling
quotingQuoting
contractsContracts
expensesExpenses
inventoryInventory
workflowsWorkflows
messagingMessaging
Examples: calso.inspection.create, invoicing.invoice.send, contacts.company.delete.