JoomHelpDesk provides a layered permission system that controls who can view, open, reply to, and manage support tickets. This guide covers every aspect of user management, roles, ticket groups, handler assignment, and Joomla ACL integration so you can configure your helpdesk with confidence.
Table of Contents
- Overview
- User Roles
- Managing Users
- Ticket Groups
- Handler Assignment & Ownership
- Joomla ACL Integration
- Per-Product Permissions
- Handler-Specific Settings
- User Display Settings
1. Overview
JoomHelpDesk has three layers of access control that work together:
- Joomla ACL -- Standard Joomla user groups and access levels determine who can reach the helpdesk and what core actions they can perform (view, create, edit, delete).
- JoomHelpDesk Permissions -- A dedicated permission system built on top of Joomla ACL that defines handler capabilities, ticket-level actions, and product/department/category visibility. These are configured from Components > JoomHelpDesk > Permissions in the Joomla admin panel.
- Ticket Groups -- An additional grouping mechanism that lets you organize handlers into teams, control which products each team sees, and set group-level defaults for email notifications and ticket visibility.
All three layers are evaluated together. A user must pass Joomla ACL checks, JoomHelpDesk permission checks, and ticket group restrictions before they can perform an action.
2. User Roles
JoomHelpDesk recognizes three functional roles. These are not separate Joomla user groups; they are determined by permission settings within the component.
Customer (Regular User)
A customer is any registered Joomla user who has access to the helpdesk frontend but is not designated as a handler or admin.
Customers can:
- View their own tickets
- Open new tickets (if allowed by access level settings)
- Reply to their own tickets
- Close or reopen their own tickets (if enabled in settings)
Customers cannot see other users' tickets or access the support admin panel.
Support Handler / Agent
A handler is a user who has the Ticket Handler permission set to Allowed in the JoomHelpDesk Permissions screen (under the Support Admin section). This is the key permission that elevates a user from a regular customer to a support agent.
Handlers can:
- View tickets from other users (depending on their visibility permissions)
- Reply to, forward, and manage tickets
- Be assigned tickets automatically or manually
- Access the support admin panel on the frontend
The exact actions a handler can take are controlled by granular ticket permissions (reply, forward, change user, edit fields, edit ticket, close) that can be set separately for their own tickets, CC'd tickets, other handlers' tickets, and unassigned tickets.
Admin / Manager
An admin is a handler who also has the Is Admin flag set within a ticket group, or a Joomla Super User, or a user with the core.admin permission for the component.
Admins can:
- Perform all handler actions
- Manage ticket group membership
- Access all configuration areas
- Open tickets on behalf of other users (if permitted)
- Delete tickets (if the delete setting is enabled)
A user's admin status within a ticket group is set by toggling the Is Admin column in the group's member list (described in section 4).
3. Managing Users
Accessing the User List
Navigate to Administrator > Components > JoomHelpDesk > Ticket Groups, then click on a group's member count link to see the users in that group. This takes you to the Members view for that group.
The Members List
The members list displays all users assigned to the selected ticket group. Each row shows:
| Column | Description |
|---|---|
| Username | The Joomla username. Sortable. |
| Name | The user's full name. Sortable. |
| The user's email address. Sortable. | |
| Is Admin | Whether the user is an admin of this group. Click to toggle between Yes and No. |
| All Email | Whether the user receives email notifications for all tickets in this group. Click to toggle. |
| All See | The user's ticket visibility permission within this group. Click the edit icon to change. |
You can filter the list by searching for a username, name, or email. You can also filter by group using the group dropdown.
Adding Users to a Group
- Open the members list for the desired ticket group.
- Click the New button in the toolbar.
- A popup window appears showing available Joomla users who are not yet in this group.
- Select the users you want to add and confirm.
The new members inherit the group's default All See permission. You can override it per user afterward.
User-Level Ticket Visibility (All See)
Each user within a group has an All See permission that determines what they can do with other users' tickets. Click the edit icon next to the current value to change it. The options are:
| Value | Meaning |
|---|---|
| Inherited | Uses the group's default setting (shown in parentheses). |
| None | The user cannot see other users' tickets at all. |
| View | The user can see all tickets in the group but cannot reply to them. |
| View & Reply | The user can see and reply to all tickets in the group. |
| View, Reply & Close | The user can see, reply to, and close all tickets in the group. |
Toggling Is Admin
Click the Yes/No link in the Is Admin column to toggle a user's admin status within the group. Group admins can manage group membership without needing global component admin permissions.
Toggling All Email
Click the Yes/No link in the All Email column to toggle whether the user receives email notifications for every ticket in the group, regardless of whether the ticket is assigned to them.
4. Ticket Groups
Ticket groups let you organize your support handlers into teams and control which products each team can access. They are especially useful when you have multiple product lines, departments, or support tiers.
Accessing Ticket Groups
Navigate to Administrator > Components > JoomHelpDesk > Ticket Groups. This displays a list of all groups.
The Groups List
Each row in the list shows:
| Column | Description |
|---|---|
| Name | The group's name. Click to edit the group. Sortable. |
| Description | A short description of the group's purpose. Sortable. |
| Member Count | How many users are in the group. Click to manage group members. |
| All Email | Group-level default for email notifications (Yes/No). |
| All See | Group-level default ticket visibility for members. |
| Products | Which products this group has access to. Shows "All" or lists the first few product names. |
Creating a Ticket Group
- Go to Components > JoomHelpDesk > Ticket Groups.
- Click New in the toolbar.
- Fill in the group details:
| Field | Description |
|---|---|
| Name | A descriptive name for the group (e.g., "Sales Support", "Technical Team"). |
| Description | An optional description explaining the group's purpose. |
| All See | The default ticket visibility for members of this group. Options: None, View, View & Reply, View Reply & Close. Individual members can override this with their own setting. |
| All Email | Check this box if all members should receive email notifications for every ticket in the group by default. Individual members can override this. |
| CC Exclude | Check this box to exclude this group's members from CC notifications on tickets. |
| Products | Choose whether the group sees all products or only specific ones. If "Show all products on ticket open" is unchecked, a product selection list appears where you can pick individual products. |
- Click Save or Save & Close.
Assigning Users to Groups
After creating a group, click the member count link in the groups list (or save the group and navigate to its members). From the members view, click New to add Joomla users to the group.
A single user can belong to multiple ticket groups. Their effective permissions are the combination of all group memberships plus their individual overrides.
How Groups Restrict Product Visibility
When a group's Products setting is configured to show only specific products (rather than "All"), members of that group will only see tickets for the selected products. This applies both to the ticket list in the support admin panel and to the products available when opening a new ticket on behalf of a user.
This is separate from the Joomla ACL product/department/category view permissions described in section 6, and both must allow access for the user to see a given product.
5. Handler Assignment & Ownership
JoomHelpDesk provides several settings to control how tickets are assigned to handlers. These are found under Components > JoomHelpDesk > Settings > Support > Handler in the Ticket Ownership Settings section.
Auto-Assign Tickets to Handler (support_autoassign)
This setting determines when (or if) a ticket is automatically assigned to a handler. Options:
| Value | Behavior |
|---|---|
| Don't assign tickets | Tickets remain unassigned until a handler manually claims or is assigned one. |
| Auto assign on create | When a ticket is created, the system automatically assigns it to an available handler based on product/department assignment permissions. |
| Assign ticket on handler open | The ticket is assigned to the first handler who opens it to view it. |
| Assign ticket on handler reply | The ticket is assigned to the first handler who replies to it. |
Handler Fallback (support_handler_fallback)
Enter a Joomla user ID. If automatic assignment cannot find a suitable handler for a ticket (for example, all handlers for the relevant product are out of office or have the "don't auto assign" permission set), the system falls back to this user. Leave blank for no fallback.
Take Ownership on Reply (support_assign_reply)
When enabled, if a handler replies to a ticket that is assigned to someone else, ownership of the ticket transfers to the replying handler. This is useful in teams where whoever responds most recently is considered the active handler.
Choose Handler (support_choose_handler)
Controls whether a handler can be manually selected when creating or managing a ticket. Options:
| Value | Behavior |
|---|---|
| Disabled | No handler selection is shown. Assignment is controlled entirely by auto-assign or manual reassignment. |
| Create for user | A handler dropdown appears only when a handler/admin opens a ticket on behalf of a user. |
| All users | A handler dropdown appears for all users when opening a ticket, including regular customers. |
| Admins only | A handler dropdown appears only for handlers and admins. |
Assign When Opening for User (support_assign_for_user)
When enabled, if a handler opens a ticket on behalf of a customer, the handler is automatically assigned as the ticket handler. This ensures the handler who creates the ticket takes initial responsibility.
Forward Handler Behavior (forward_product_handler)
When a ticket is forwarded to a different product/department, this setting controls what happens to the handler assignment:
| Value | Behavior |
|---|---|
| Unchanged | The handler stays the same after forwarding. |
| Auto assign | The system re-runs auto-assignment for the new product/department. |
| Unassigned | The handler is removed and the ticket becomes unassigned. |
A separate setting (forward_handler_handler) controls the same behavior when a ticket is forwarded to a specific handler.
Don't CC Handler (suport_dont_cc_handler)
When enabled, the assigned handler is not added to the CC list of the ticket. This prevents duplicate notifications if the handler is already receiving notifications through their assignment.
6. Joomla ACL Integration
JoomHelpDesk integrates with the standard Joomla ACL system at multiple levels. Permissions are configured in two places: the standard Joomla component permissions and the dedicated JoomHelpDesk Permissions screen.
Access Levels
Two settings under Components > JoomHelpDesk > Settings > Support > Open Ticket control which Joomla access levels can interact with the helpdesk:
| Setting | Key | Purpose |
|---|---|---|
| Support Access Level | support_access_level |
The Joomla access level required to view the helpdesk and see tickets. Select any Joomla view level (Public, Registered, Special, or any custom level you have created). Handlers bypass this check automatically. |
| Support Open Access Level | support_open_access_level |
The Joomla access level required to open new tickets. This can be different from the view access level, allowing you to let some users view tickets but not create them. Handlers bypass this check automatically. |
These settings work with Joomla's built-in access level system. If a user's Joomla user groups do not include the required access level, they cannot access the helpdesk (even if they are in a ticket group).
Component-Level Permissions (access.xml)
JoomHelpDesk defines several permission sections in its access.xml file. These integrate with Joomla's standard permission editor (accessible through Options in the component toolbar or through the dedicated Permissions view).
Component Section
Standard Joomla component permissions:
| Permission | Key | Description |
|---|---|---|
| View Content | joomhelpdesk.view |
Can view FAQs, knowledge base, glossary, and announcements on the frontend. |
| Configure ACL & Options | core.admin |
Full administrative access to the component. |
| Access Administration | core.manage |
Can access the component in the Joomla admin backend. |
| Create | core.create |
Can create new content items. |
| Delete | core.delete |
Can delete content items. |
| Edit | core.edit |
Can edit any content item. |
| Edit State | core.edit.state |
Can change the published/unpublished state of items. |
| Edit Own | core.edit.own |
Can edit content items they created. |
Support User Section
Controls basic ticket access for regular customers:
| Permission | Key | Description |
|---|---|---|
| Can view own support tickets | joomhelpdesk.ticket.view |
Allows the user to see their own submitted tickets. Should typically be set to Allowed for all registered users. |
| Can open support ticket | joomhelpdesk.ticket.open |
Allows the user to create new support tickets. Combined with the open access level setting. |
Support Admin Section
The main handler/agent permissions. These are set per Joomla user group:
| Permission | Key | Description |
|---|---|---|
| Ticket Handler | joomhelpdesk.handler |
The key permission. Setting this to Allowed makes users in this group support handlers. |
| Manage unassigned tickets | joomhelpdesk.handler.seeunassigned |
Can view and manage tickets that are not assigned to any handler. |
| Manage other handlers' tickets | joomhelpdesk.handler.seeothers |
Can view and manage tickets assigned to other handlers. |
| Don't auto-assign tickets | joomhelpdesk.handler.dontassign |
If Allowed, this user is excluded from automatic ticket assignment. Useful for supervisors or managers who should not receive tickets directly. |
| Can view tickets for all products | joomhelpdesk.handler.view.products |
If Allowed, the handler can see tickets across all products. If Not Allowed, only the products specified in the View > Products tab apply. |
| Can view tickets for all departments | joomhelpdesk.handler.view.departments |
Same as above but for departments. |
| Can view tickets for all categories | joomhelpdesk.handler.view.categories |
Same as above but for categories. |
| Assign tickets based on separate permissions | joomhelpdesk.handler.assign.separate |
If set, auto-assignment uses the Assign tab's product/department/category settings instead of the View tab settings. |
| Assigned tickets for all products | joomhelpdesk.handler.assign.products |
If Allowed, the handler can be assigned tickets for any product. |
| Assigned tickets for all departments | joomhelpdesk.handler.assign.departments |
Same as above but for departments. |
| Assigned tickets for all categories | joomhelpdesk.handler.assign.categories |
Same as above but for categories. |
Misc Permissions Section
Additional handler capabilities:
| Permission | Key | Description |
|---|---|---|
| Restrict general permissions | joomhelpdesk.misc_admin.restrict |
If Allowed, the actions below are enforced. If Not Allowed, the handler has full access to these capabilities without restriction. |
| Manage out of office | joomhelpdesk.misc_admin.ooo |
Can manage other users' out of office status. |
| Delete tickets | joomhelpdesk.misc_admin.delete |
Can delete tickets entirely. |
| Open for user | joomhelpdesk.misc_admin.opennew |
Can open new tickets on behalf of other users. |
| Accept emails as tickets | joomhelpdesk.misc_admin.emails |
Can accept incoming emails as new tickets and access the Emails tab. |
| Manage canned replies and signatures | joomhelpdesk.misc_admin.canned |
Can manage saved reply templates and email signatures. |
| Access List Handlers | joomhelpdesk.misc_admin.listhandlers |
Can access the handler list/status view. |
Ticket Permissions Section
Granular control over what a handler can do on a ticket. These are configured in four sub-tabs that allow different settings depending on the ticket's relationship to the handler:
- My Tickets -- Actions the handler can take on tickets assigned to them.
- CC'd Tickets -- Actions on tickets where the handler is CC'd. If not restricted, My Tickets permissions apply.
- Other Tickets -- Actions on tickets assigned to other handlers. If not restricted, My Tickets permissions apply.
- Unassigned Tickets -- Actions on tickets with no handler. If not restricted, My Tickets permissions apply.
Each sub-tab has the same set of permissions:
| Permission | Description |
|---|---|
| Restrict ticket permissions | If Allowed, the individual permissions below are enforced. If Not Allowed, the handler has full access. |
| Can reply to ticket | Whether the Reply button appears on the ticket. |
| Can forward ticket | Whether the handler can forward the ticket to another product or department. |
| Can change user | Whether the handler can reassign the ticket to a different customer. |
| Edit custom fields | Whether the handler can modify custom field values on the ticket. |
| Edit ticket | Whether the handler can edit the ticket title and existing messages. |
| Edit misc | Whether the handler can edit tags, time tracking, and other miscellaneous ticket data. |
| Close ticket | Whether the handler can set the ticket status to closed. |
View Tab (Product/Department/Category Assignment)
The View tab in the Permissions screen lets you specify which products, departments, and categories a handler can see tickets for. This only applies when:
- Ticket Handler is set to Allowed, AND
- Can view tickets for all [products/departments/categories] is set to Not Allowed
When these conditions are met, you configure per-item permissions using the standard Joomla ACL grid (Allowed / Not Allowed per user group).
Assign Tab
Similar to the View tab, the Assign tab controls which products, departments, and categories a handler can be assigned tickets for. This only applies when:
- Ticket Handler is set to Allowed
- Don't auto-assign tickets is set to Not Allowed
- Assigned tickets for all [products/departments/categories] is set to Not Allowed
- (Optionally) Assign tickets based on separate permissions is set to Allowed
If separate assignment permissions are not enabled, the View tab settings are used for both viewing and assignment.
Reports Section
| Permission | Key | Description |
|---|---|---|
| View reports | joomhelpdesk.reports |
Can access the reports section. |
| View all reports | joomhelpdesk.reports.all |
Can view all available reports. Per-report permissions can also be configured. |
Moderation Section
| Permission | Key | Description |
|---|---|---|
| Can moderate comments | joomhelpdesk.mod.all |
Can moderate comments on knowledge base articles, announcements, and other content types. |
Groups Section
| Permission | Key | Description |
|---|---|---|
| Manage ticket groups | joomhelpdesk.groups |
Can manage all ticket groups, their members, and their settings. Users without this permission can still manage individual groups where they are marked as a group admin. |
Permission Info (List Handlers)
The List Handlers view (accessible from the Support Admin section or via the Permissions > List Handlers option) shows a summary of all active handlers and their current status. It displays:
- Username, name, and email
- Open ticket count
- Ticket count filtered by a selectable status
- Availability status (Available or Unavailable based on out-of-office setting)
You can filter this view by product, department, category, and status to see which handlers are available for specific areas.
7. Per-Product Permissions
JoomHelpDesk lets you restrict which products users see when opening tickets, using a combination of ticket groups and settings.
Restrict to Group Products on Ticket Open (support_restrict_prod)
Found under Components > JoomHelpDesk > Settings > Support > Open Ticket.
When enabled, users who belong to a ticket group will only see the products assigned to their group when opening a new ticket. If the user belongs to multiple groups, they see the combined set of products from all their groups. Users not in any group see all products.
This setting affects the ticket opening form on the frontend.
Restrict Product View for Users (support_restrict_prod_view)
Found under Components > JoomHelpDesk > Settings > Support > User.
When enabled, users are restricted to viewing only tickets for products assigned to their ticket group(s). This extends the product restriction from just the ticket opening form to the ticket list view as well.
Handler-Level Product Restrictions
Handlers have their own product/department/category visibility controlled through the Joomla ACL permissions described in section 6 (the View tab). These are independent of ticket group product restrictions and apply specifically to which tickets the handler can see in the support admin panel.
8. Handler-Specific Settings
These settings are found under Components > JoomHelpDesk > Settings > Support > Handler and control various handler behaviors.
Allow Deleting Tickets (support_delete)
When enabled, handlers with the appropriate Joomla ACL permission (Misc Permissions > Delete Tickets) can permanently delete tickets. When disabled, no handler can delete tickets regardless of their permissions.
This is a global on/off switch. The per-user-group permission in the Misc Permissions section provides finer control over which handlers can delete.
Hide Super Users (support_hide_super_users)
When enabled, Joomla Super Users are hidden from various handler-related lists and dropdowns on the frontend. This is useful when Super Users are site administrators who do not participate in support but would otherwise appear in handler selection menus.
No Admin for User Open (support_no_admin_for_user_open)
When enabled, the support admin interface is not shown to users when a handler opens a ticket on their behalf. This keeps the admin panel hidden from the customer's view of the ticket.
Allow Edit Without Audit (allow_edit_no_audit)
When enabled, handlers can edit ticket messages and details without the changes being recorded in the ticket audit trail. When disabled, all edits are logged for accountability.
Use this setting with caution. Disabling the audit trail for edits means there is no record of what was changed, which can be problematic in regulated environments.
Ticket Lock Timeout (support_lock_time)
Enter a duration (in minutes) for how long a ticket remains locked to a handler after they open it. While locked, other handlers see a notification that the ticket is being worked on. This prevents two handlers from responding to the same ticket simultaneously.
Update Status on Draft (support_update_satatus_on_draft)
When enabled, the ticket status is updated even when a handler saves a reply as a draft (rather than sending it). When disabled, status changes only take effect when a reply is actually sent.
Admin Refresh Interval (support_admin_refresh)
Enter a number of seconds. The support admin ticket list will automatically refresh at this interval to show new tickets. Set to 0 or leave blank to disable auto-refresh.
9. User Display Settings
These settings control what customers (regular users) see when viewing their tickets. They are found under Components > JoomHelpDesk > Settings > Support > User.
User Ticket Actions
| Setting | Key | Description |
|---|---|---|
| User Can Close Tickets | support_user_can_close |
Allows customers to close their own tickets. |
| User Can Reopen Tickets | support_user_can_reopen |
Allows customers to reopen tickets that have been closed. |
| User Can Change Status | support_user_can_change_status |
Allows customers to change the status of their own tickets (beyond just open/closed). |
| Show Close on Reply | support_user_show_close_reply |
Shows a "Close ticket" option alongside the reply form, letting users close and reply in one action. |
Hide Ticket Detail Elements (user_hide_*)
You can selectively hide ticket detail elements from the customer's view. Each element is controlled by a checkbox:
| Setting | Key | What It Hides |
|---|---|---|
| Hide All Details | user_hide_all_details |
Hides the entire ticket details sidebar/section. |
| Hide Title | user_hide_title |
Hides the ticket title field. |
| Hide ID | user_hide_id |
Hides the ticket reference/ID number. |
| Hide User | user_hide_user |
Hides the user/customer name on the ticket. |
| Hide CC | user_hide_cc |
Hides the included/CC'd users list. |
| Hide Product | user_hide_product |
Hides which product the ticket is filed under. |
| Hide Department | user_hide_department |
Hides the department assignment. |
| Hide Category | user_hide_category |
Hides the category assignment. |
| Hide Updated | user_hide_updated |
Hides the "last updated" timestamp. |
| Hide Handler | user_hide_handler |
Hides the name of the assigned handler. |
| Hide Status | user_hide_status |
Hides the current ticket status. |
| Hide Priority | user_hide_priority |
Hides the ticket priority level. |
| Hide Custom Fields | user_hide_custom |
Hides all custom field values from the ticket detail view. |
| Hide Print | user_hide_print |
Hides the print button. |
| Hide Message Key | user_hide_key |
Hides the message key/identifier on individual messages. |
These settings only affect the customer-facing view. Handlers and admins always see the full ticket details in the support admin panel.
Simple User List Options
| Setting | Key | Description |
|---|---|---|
| Simple User List Tabs | support_simple_userlist_tabs |
When enabled, the customer's ticket list shows tabs for filtering by ticket status (e.g., Open, Closed, All). |
| Simple User List Search | support_simple_userlist_search |
When enabled, a search box appears in the customer's ticket list, allowing them to search through their tickets. |
Reply Display Options
| Setting | Key | Description |
|---|---|---|
| Always Show Reply Form | support_user_show_reply_always |
When enabled, the reply form is always visible on the ticket page instead of requiring the user to click a Reply button first. |
| Reply Under Messages | support_user_reply_under |
When enabled, the reply form appears below the message thread instead of above it. |
| Reverse Message Order | support_user_reverse_messages |
When enabled, the most recent messages appear at the top of the thread instead of the bottom. |
Quick Reference: Where to Find Settings
| What you want to configure | Where to find it |
|---|---|
| Who is a handler | Permissions > Support Admin > Ticket Handler |
| Handler ticket visibility | Permissions > Support Admin > View tabs |
| Handler ticket actions | Permissions > Support Admin > Ticket Permissions tabs |
| Handler misc capabilities | Permissions > Support Admin > Misc Permissions tab |
| Who can access helpdesk | Settings > Support > Open Ticket > Support Access Level |
| Who can open tickets | Settings > Support > Open Ticket > Support Open Access Level |
| Auto-assign behavior | Settings > Support > Handler > Ticket Ownership Settings |
| Ticket deletion | Settings > Support > Handler > Allow deleting |
| User-facing display | Settings > Support > User > Hide on Ticket Details |
| Ticket groups | Ticket Groups menu item |
| Group membership | Ticket Groups > click member count |
| Per-user group permissions | Members list > All See / Is Admin / All Email columns |
| Product restrictions | Settings > Support > Open Ticket > Restrict to Groups Products |
| Reports access | Permissions > Reports |
| Content moderation | Permissions > Moderation |