Settings

Roles & Permissions

Configure granular access control with Keva's RBAC system

Keva implements role-based access control (RBAC) with 38 granular permissions across 12 groups. Define exactly what each team member can access and modify.

Overview

The RBAC system consists of:

  • Roles - Named sets of permissions
  • Permissions - Granular access rights
  • Assignments - Users assigned to roles

Default Roles

Keva provides four system roles that cannot be deleted:

RoleColorDescription
OwnerPurpleFull access to all features including billing
AdminBlueFull access except billing management
AgentGreenHandle tickets, approvals, and knowledge base
ViewerGrayRead-only access to tickets and analytics

Permission Groups

Tickets

PermissionDescription
tickets.viewView ticket list and details
tickets.createCreate new tickets
tickets.editEdit ticket properties
tickets.deleteDelete tickets
tickets.assignAssign tickets to agents
tickets.exportExport ticket data

Approvals

PermissionDescription
approvals.viewView pending approvals
approvals.approveApprove AI actions
approvals.rejectReject AI actions

Knowledge Base

PermissionDescription
kb.viewView knowledge base entries
kb.createCreate new entries
kb.editEdit existing entries
kb.deleteDelete entries

Settings

PermissionDescription
settings.viewView workspace settings
settings.editModify workspace settings

Team

PermissionDescription
team.viewView team members
team.inviteInvite new members
team.removeRemove members
team.edit_rolesModify role assignments

Analytics

PermissionDescription
analytics.viewView analytics dashboard
analytics.exportExport analytics data

Billing

PermissionDescription
billing.viewView billing information
billing.manageManage subscription and payment

API Keys

PermissionDescription
api_keys.viewView API keys
api_keys.createCreate new API keys
api_keys.deleteDelete API keys

Connectors

PermissionDescription
connectors.viewView platform connectors
connectors.createAdd new connectors
connectors.editEdit connector settings
connectors.deleteRemove connectors

Automation

PermissionDescription
automation.viewView automation rules
automation.createCreate automation rules
automation.editEdit automation rules
automation.deleteDelete automation rules

Audit

PermissionDescription
audit.viewView audit logs
audit.exportExport audit data

Custom Fields

PermissionDescription
custom_fields.viewView custom field definitions
custom_fields.editCreate and modify custom fields

Creating Custom Roles

  1. Navigate to Settings > Roles
  2. Click Create Role
  3. Enter a name and description
  4. Select a color for visual identification
  5. Check the permissions to grant
  6. Click Save

Editing Roles

  1. Find the role in the list
  2. Click Edit
  3. Modify permissions as needed
  4. Click Save

System roles (Owner, Admin, Agent, Viewer) cannot be edited.

Assigning Roles

Assign During Invite

When inviting a new member, select their role in the invitation form.

Change Existing Assignment

  1. Go to Settings > Team
  2. Find the team member
  3. Click the role dropdown
  4. Select the new role

Role Hierarchy

Roles do not inherit from each other. Each role has an explicit set of permissions:

Owner:  All 40+ permissions
Admin:  All except billing.manage
Agent:  Tickets, approvals, KB, analytics
Viewer: View-only permissions

Best Practices

Start with Least Privilege

Begin with Viewer role and add permissions as needed rather than starting with Admin and removing.

Create Function-Specific Roles

Consider custom roles for specific functions:

  • Support Lead: Agent + team.view + analytics.export
  • KB Manager: kb.* + settings.view
  • Billing Admin: billing.* + analytics.view

Regular Permission Audits

Review role assignments quarterly:

  1. List all custom roles
  2. Verify permissions are still appropriate
  3. Check user assignments
  4. Remove unused roles

Document Custom Roles

Keep documentation of custom roles and their intended purpose for SOC 2 compliance.

Audit Trail

All role changes are logged:

  • role.created - New role created
  • role.updated - Role permissions changed
  • role.deleted - Role removed
  • user.role_assigned - User assigned to role