Skip to main content

Permission Matrix Deep Dive

Appello's permission system provides granular control over what each user role can access across 65+ permission domains. This guide explains the permission structure, common role configurations, and how to use department-based scoping to restrict data visibility.

Permission Architecture

Appello uses a role-based access control (RBAC) model:

User → Role → Permission Matrix → Access Decision

Every user is assigned exactly one role. The role's permission matrix determines their access to every feature, module, and data field across the platform.

Permission Levels

Each permission domain supports up to four access levels:

LevelSymbolDescription
View👁️Can see the data but not modify it
CreateCan create new records
Edit✏️Can modify existing records
Delete🗑️Can remove records

Some domains have additional special permissions (e.g., "Approve" for timesheets, "Export" for reports).

Permission Domains by Category

Operations (12 domains)

DomainControls
ProjectsCreate, view, edit, delete projects
JobsCreate, view, edit, delete jobs
Job NotesCreate, view, edit notes on jobs
Job FilesUpload, view, download, delete files
Job PhotosUpload, view, manage photos
Cost CodesManage cost codes on jobs
RFICreate and manage Requests for Information
Documents & PoliciesAccess company-wide documents
Activity FeedView the notes activity feed
Job Financial DataView financial summaries on jobs
Job SettingsConfigure job-level settings
MapAccess the administrative map view

Scheduling (6 domains)

DomainControls
Job ScheduleView and manage the job schedule
Calendar ScheduleAccess the calendar view
User Workforce ScheduleView and assign in the user schedule
Daily WorkforceAccess the daily workforce view
Schedule NotificationsSend schedule change notifications
Schedule Multi-UserAssign multiple workers or crews at once

Workforce Admin (8 domains)

DomainControls
TimesheetsView, approve, reject timesheets
Bulk Timesheet EntryUse the bulk entry interface
Timesheet ExportExport timesheets for payroll
Leave RequestsView and approve leave requests
Employee ExpensesView and approve expenses
Clock In/Out ReportAccess clock-in/out tracking
Timesheet ReportAccess the timesheet report
Payroll ReportGenerate payroll reports

CRM & Sales (6 domains)

DomainControls
CompaniesManage company records
ContactsManage contact records
EstimatesCreate and manage estimates
Change OrdersCreate and approve change orders
Sales PipelineAccess pipeline tracking
Quote LettersGenerate quote letters

Finance (8 domains)

DomainControls
InvoicesCreate and manage invoices
Progress ReportsGenerate progress billing reports
Accounts PayableView and manage AP
Accounts ReceivableView and manage AR
Job Financial SummaryView financial summaries
Budget vs ActualAccess cost tracking reports
Financial SettingsConfigure financial parameters
QuickBooks SyncManage QBO integration

Forms (5 domains)

DomainControls
Form BuilderCreate and edit form templates
Form InboxReview submitted forms
Form ReportAccess form analytics
Form AssignmentAssign forms to jobs
Mobile FormsSubmit forms via mobile

Equipment & Training (4 domains)

DomainControls
EquipmentManage equipment records
Equipment InspectionManage inspection records
CertificationsManage certification records
Training ProvidersManage training provider records

Settings & Admin (10+ domains)

DomainControls
User ManagementCreate and manage user accounts
Roles & PermissionsConfigure roles (admin only)
HR SettingsUnion halls, agreements, travel, leave
Property SettingsConfigurable data model
Instance SettingsSystem-wide configuration
Business SettingsCompany info and financial defaults
Notification ControlNotification preferences
API CredentialsOAuth apps and API keys
System LogsAudit log viewer
IntegrationsThird-party integrations

Mobile Application (6 domains)

DomainControls
Mobile ScheduleView schedule on mobile
Mobile TimesheetsSubmit timesheets on mobile
Mobile NotesCreate notes on mobile
Mobile FormsFill forms on mobile
Mobile LeaveRequest leave on mobile
Mobile ExpensesSubmit expenses on mobile

Department-Based Scoping

Beyond module access, permissions can be scoped by department:

ScopeWhat the User Sees
All DepartmentsData across the entire organization
Own DepartmentOnly data related to their department
Chain of CommandTheir department and all child departments

Example Scenarios

RoleDepartment ScopeEffect
AdminAll DepartmentsSees everything
Insulation ForemanMechanical Insulation onlySees only insulation workers, schedules, timesheets
Sheet Metal ForemanSheet Metal onlySees only sheet metal workers
Operations ManagerAll DepartmentsSees workers across all departments

Common Role Templates

Admin (Full Access)

All permissions enabled across all domains. Use for company owners, office managers, and IT administrators.

Project Manager

CategoryAccess
OperationsFull CRUD
SchedulingView + Create
FinanceView (no delete)
CRMView + Create
ReportsFull access
SettingsView only

Field Supervisor / Foreman

CategoryAccess
OperationsView + Create notes
SchedulingView only
TimesheetsBulk entry + view
FormsSubmit + view
MobileFull mobile access
FinanceNo access
SettingsNo access

Field Worker

CategoryAccess
Mobile ScheduleView only
Mobile TimesheetsSubmit own
Mobile FormsSubmit assigned forms
Mobile NotesCreate notes
DesktopNo access (mobile-only role)

Best Practices

  1. Start from a built-in role — Duplicate Admin, Field Supervisor, or Field Worker and adjust.
  2. Use department scoping — Don't give everyone "All Departments" access.
  3. Audit regularly — Review the Active Permissions view periodically.
  4. Test with a real user — After configuring, log in as a user with that role to verify the experience.