Get Started

Agents & Roles

The Agents directory, how Deskuss maps WordPress users to staff, and the four access scopes (All Access, Expanded, Limited, View only) that control what an agent can see and do.

Two Distinct Concepts

Deskuss has two separate role systems, and they're easy to confuse:

ConceptWhat it isWhere it lives
WordPress rolesThe standard WordPress role system. Determines if a user can log into /wp-admin at all.WordPress core (wp_user_roles)
Access scopesDeskuss-specific. Determines what an agent can do inside the helpdesk — see all tickets, manage departments, etc.{prefix}dk_role table

Both are needed. A user must have a WordPress role that includes the deskuss_staff capability and be assigned a Deskuss access scope before they can effectively work in the helpdesk.

WordPress Roles

Deskuss registers two custom WordPress roles on activation and adds the deskuss_staff capability to two built-in roles:

RoleTypeCapabilities
deskuss_staffCustomread, upload_files = true. Grants access to the Deskuss admin panel.
support_clientCustomread only. Front-end portal access; cannot reach /wp-admin.
administratorBuilt-in (auto-enhanced)Standard WP admin capabilities plus deskuss_staff
editorBuilt-in (auto-enhanced)Standard editor capabilities plus deskuss_staff

Deskuss auto-grants the deskuss_staff capability to administrator and editor during activation. This means a new WP user with either of those roles can immediately log into the helpdesk at /deskuss/.

To grant access to a custom role, add the capability programmatically (must-use plugin):

add_action('init', function () {
    $role = get_role('custom_support_role');
    if ($role && !$role->has_cap('deskuss_staff')) {
        $role->add_cap('deskuss_staff');
    }
});

Access Scopes

Access scopes are Deskuss-internal. They determine what a staff member can see and do inside the helpdesk. They are separate from WordPress roles — a WP administrator with the "View only" access scope can still access WordPress core, but inside Deskuss can only read tickets.

Deskuss ships with four seeded scopes:

ScopeWhat the agent can doTypical user
All AccessEverything: manage departments, staff, SLAs, forms, reports, tickets, settings, system logsHelpdesk admin / owner
Expanded AccessManage tickets across all departments, including transfers and assignments; view reports; cannot edit global settingsSupport manager
Limited AccessView and reply to tickets within assigned departments; create internal notes; cannot transfer or assignFront-line agent
View onlyRead-only access to tickets, KB, and dashboardsRead-only auditor or new hire in training

The Agents List

The Agents top-level menu shows every WordPress user with the deskuss_staff capability. From here you can:

Adding an Agent

  1. Go to Deskuss → Agents
  2. Click Add New Agent
  3. Search for an existing WP user, or fill in name + email to create a new one
  4. Choose an access scope (default: Limited)
  5. Assign to one or more departments
  6. Optionally assign to a team
  7. Click Save
Existing WP users: If a WordPress user already exists, Deskuss attaches the staff record to them rather than creating a duplicate. Their display name, email, and avatar come from the WP profile.

Editing an Agent

  1. Go to Deskuss → Agents
  2. Click the agent's name
  3. Modify the access scope, department assignments, or team
  4. Click Update

Removing an Agent

Removing an agent from Deskuss does not delete their WordPress user account. It only revokes the deskuss_staff capability and marks the Deskuss staff record as inactive. Any tickets previously assigned to that agent remain assigned — reassign them to another agent before removal for continuity.

Teams

Teams group agents for collaboration. A team can span multiple departments and is useful when you want a set of agents to work on related tickets collectively. The "Level I Support" team is seeded by default.

Creating a Team

  1. Go to Deskuss → Agents → Teams (or via Manage → Teams)
  2. Click Add New Team
  3. Enter a team name (e.g., "Escalation Team", "Enterprise Support")
  4. Select a Team Lead — this agent receives notifications when tickets are assigned to the team
  5. Add agents to the team
  6. Click Save

Teams vs. Departments

Teams are for internal grouping; departments determine customer-facing routing. A ticket is assigned to a department, not a team. Teams help with collaboration, escalation, and workload balancing within and across departments.

Permission Matrix

What each access scope can do:

ActionAll AccessExpandedLimitedView only
View tickets in assigned departments
Reply to tickets
Add internal notes
Assign tickets
Transfer tickets across departments
Close / reopen tickets
Bulk actions on tickets
View all departments' tickets
Create / edit departments
Create / edit SLA plans
Create / edit forms & lists
Manage staff & teams
Access dashboard & reports✓ (own depts)✓ (read only)
View system logs
Edit global settings

Where to Find Agents in the Sidebar

The "Agents" top-level menu is a single page that combines the list of agents, the team list, and the access-scope editor. Use the dropdown at the top of the page to switch between views.