Support Hub shows each Akeeba Ticket System (ATS) ticket beside the customer's orders, subscriptions and download entitlement. Staff can see whether a customer is covered for a release, which release fixed a problem, and the GitHub issues and pull requests linked to the ticket.
Support Hub can also hand a redacted copy of a ticket to the AI researcher, either by hand with Assign to AI or automatically for the ticket categories you choose.
Requirements
- Joomla 6.0 or later
- J2Commerce 6, installed and enabled
- Akeeba Ticket System (ATS)
Installation
Support Hub is a separate add-on available from the J2Commerce Extensions Store. It is not included with the core J2Commerce 6 component.
- In the Joomla Administrator, go to System -> Install -> Extensions.
- Upload the Support Hub ZIP file, or use the Install from URL tab.
- Go to J2Commerce -> Apps, find Support Hub and make sure it is enabled.
The install also adds the Support Hub Delivery task plugin. It is enabled on a first install and left as you set it on updates.
Where to Find It
Open J2Commerce -> Apps -> Support Hub for the plugin settings. The toolbar of that screen has a Dashboard button that opens the Support Hub dashboard. The dashboard lists the tickets of the ATS categories you manage, with these columns: Status, Category, Customer, Assigned To, Coverage, GitHub, AI Task and Last Activity.
The dashboard has search, status, category, assignment and coverage filters. Search matches the ticket title, or type a ticket number.
Dashboard Toolbar
| Button | What It Does |
|---|---|
| Open Ticket | Opens the selected ticket in ATS. |
| Customer Panel | Shows the customer's orders, entitlement and linked GitHub items for the selected ticket. |
| Assign to AI | Shows the redacted brief and sends it to the AI researcher after you confirm. |
| Close AI Task | Closes the open AI task of the ticket. |
| Retry Deliveries | Queues failed deliveries to be sent again. |
| Refresh GitHub Links | Reloads the linked issues and pull requests. |
The Customer Panel
The panel lists the customer's orders and their subscriptions that give access to downloads. For each extension it compares the date the customer is paid through with the date the latest release was published, and shows one verdict: Covered, Pending Renewal, Renewal Required, Unreleased, Not Mapped to a Download, Not Entitled or Unresolved (Pre-Builder Release).
Orders marked Matched by Email were placed as a guest with the same email address. They are shown for information only and never count toward coverage.
The Which Release Fixed This? section lists the merged pull requests linked to the ticket and the release that contains each one.
That section also offers a draft reply for staff to edit. The draft is never sent automatically.
Settings
Basic Tab
| Setting | What It Does | Default | Options |
|---|---|---|---|
| Groups Allowed to Assign to AI | Members of these user groups may use Assign to AI, in addition to being a staff member and an ATS manager of the ticket's category. Leave empty and nobody can. | Empty | Any user group |
| Allowed Pull Request Repositories | One owner/name per line. A result note from the AI researcher may only list pull requests from these repositories. | j2commerce/j2commerce and j2commerce/j2commerce6extensions | One repository per line |
| Security Categories | Tickets in these ATS categories, and in the categories below them, are never sent to the AI queue. A category whose name contains the word security is refused as well. | Empty | Any ATS category |
| Auto-Research Categories | New tickets in these ATS categories go to the AI researcher automatically. See Auto-Research. | Empty (off) | Any ATS category |
Builder Connection Tab
| Setting | What It Does | Default | Options |
|---|---|---|---|
| Builder API URL | The builder's API entry point, for example https://builder.j2commerce.com/api/index.php. Only https://builder.j2commerce.com and https://localhost are accepted. Assign to AI stays unavailable until you set it. | Empty | URL |
| Shared Secret | At least 16 characters. Enter the same value in the builder's Support Hub options. | Empty | Text |
| Share Assignee Names | Send staff names with the ticket statistics the builder requests. Set to No to send each assignee as a user ID number instead. | Yes | Yes, No |
| Allow Local Hosts (Development Only) | Lets the builder address be https://localhost. Use it on a development machine only, never on a live site. | No | Yes, No |
| CA Bundle Path | Optional path to a certificate authority file for the builder's certificate, for example a local development CA. Certificates are always verified. | Empty | File path |
Assign to AI
- On the dashboard, select a ticket and click Assign to AI.
- Read the Redacted Brief. This is exactly what the builder receives. Check it for names, site addresses, server paths and pasted logins, which the automatic redaction cannot recognize.
- Click Confirm and Assign.
Attachments are never sent. The task only enters the builder's queue, and a person reviews anything the AI researcher returns. A ticket has one open AI task at a time.
Note
Tickets in a security category are never sent to the AI queue.
The AI Task column shows the state of the task: Not Yet Sent, Assigned to AI, AI Working, Waiting for Review, Waiting for Publication, Rejected, Refused, Published or Closed. The result arrives as a note on the ticket that only staff can see.
Auto-Research
Auto-Research sends new tickets to the AI researcher without a staff member starting each one. It works like Assign to AI, except there is no preview: the redacted ticket text is sent as it is.
Turn On Auto-Research
- Open J2Commerce -> Apps -> Support Hub.
- On the Basic tab, choose one or more ATS categories in Auto-Research Categories.
- Set the Builder API URL and Shared Secret on the Builder Connection tab.
- Go to System -> Scheduled Tasks and make sure Deliver Support Hub Messages exists, is enabled and runs every minute.
- Click Save & Close.
How Auto-Research Behaves
- Only the first post of a new ticket counts. Replies and edited tickets do not start research.
- Only the categories you choose count, not the categories below them.
- Security categories are always skipped, even when they are also listed under Auto-Research Categories.
- The result is a staff-only note. The customer is never answered.
- If the builder cannot be reached, the ticket stays queued and is sent on a later run of the scheduled task.
- A ticket moved out of the chosen categories before it is sent is not sent.
- Leave the setting empty to turn Auto-Research off.
Warning
Nobody reviews an automatic brief before it is sent. The redaction removes emails, phone numbers, street addresses, download IDs, order tokens, card numbers and credentials, but not names, site addresses or server paths. Choose categories whose tickets you are comfortable sending this way.
Scheduled Task
The Deliver Support Hub Messages task sends queued Close AI Task messages and new tickets awaiting automatic research to the builder, and retries failed ones. Add it under System -> Scheduled Tasks and schedule it every minute.
Troubleshooting
Assign to AI Is Unavailable
Set the Builder API URL and Shared Secret in the plugin options. Your user must be staff, an ATS manager of the ticket's category, and a member of a group listed under Groups Allowed to Assign to AI.
New Tickets Are Not Sent Automatically
- Check that the ticket's category is listed under Auto-Research Categories and is not a security category.
- Check that the Deliver Support Hub Messages task is enabled and running.
- Check that the Builder API URL and Shared Secret are set.
The Builder Did Not Answer
Failed deliveries show a message with a Retry Deliveries button. Deliveries to a busy or unreachable builder are retried automatically.
Uninstalling
Uninstall Support Hub from System -> Manage -> Extensions. The Support Hub Delivery task plugin is removed with it.