AI Support Assistant adds reply suggestions, ticket triage, text editing and knowledge base drafts to WHMCS. It can use the ticket conversation, client account details, your knowledge base and supported customer attachments as context. You choose the AI provider and which context to include.
Review generated text before sending or publishing it. Autopilot is optional and sends replies without prior staff approval.
Requirements and installation
- Use WHMCS 8.9 or later. The encoded package is tested on PHP 8.1–8.4 and needs a compatible ionCube Loader and a valid module license.
- Upload the supplied files to
/modules/addons/aiassistant/, preserving the package structure. - Activate AI Support Assistant under WHMCS Addon Modules, enter the license key and grant the administrators who manage its settings access to the addon.
- Open the module settings. Choose OpenAI or Anthropic and enter that provider’s API credentials. For a custom OpenAI-compatible provider, enter its base URL, API key and exact model name.
- Select a model available to your provider account and run the connection test. Direct API usage is billed separately; a ChatGPT subscription does not include OpenAI API credits. Check the selected model’s availability and retention requirements.
- Review context inclusion, language, greeting and signature settings. Leave Autopilot disabled while testing a non-sensitive ticket.
For supported OpenAI models, Module Optimized adjusts reasoning effort to the task. Higher effort can take longer and use more tokens. Custom endpoints do not receive this setting.
Updating an existing installation
- Back up the WHMCS database and addon files.
- Pause Autopilot, then overwrite the existing addon files with the new package.
- Open Addons > AI Support Assistant as an authorized administrator. The upgrade runs automatically and retains your saved settings and provider keys.
- Check that the settings page loads normally before enabling Autopilot again.
If you roll back, restore matching addon files and the database backup together. Older code cannot read newly encrypted provider keys.
Working on tickets
- Generate AI Response: draft a reply from the current ticket and enabled context. Check the answer and its Sources panel, edit it as needed, then send it.
- Custom Instructions: give specific guidance for the reply you want.
- Reply enhancement: use Improve Writing, Fix Grammar, Shorten, Expand, Change Tone or Translate. Enhancement tools also work in the new-ticket editor.
- Ticket triage: request suggested troubleshooting steps and escalation criteria. Verify them before taking action.
- Generate KB Article: draft an article from a resolved ticket, remove customer-specific information and verify the instructions before publishing.
Ticket tools require permission to view the ticket and access its department. Publishing a generated article also requires Manage Knowledgebase and access to the AI Support Assistant addon. The new-ticket enhancer requires Open New Ticket.
Arabic and other right-to-left text is displayed right-to-left in drafts, previews, saved replies and support emails. Commands, domains, IP addresses and other technical text remain left-to-right.
Account context and Sources
With client context enabled, replies, Custom Instructions and Autopilot can include the client’s hosting services, registered domains, purchased product add-ons and invoice information. Purchased add-ons are separate from hosting services; their names, statuses and verified same-client parent relationships are included when available.
Service, domain and add-on lists are marked complete, partial or unavailable. The Sources panel reports inventory completeness and the knowledge base pages, products, past-ticket context and attachments used. A partial or failed read cannot establish that a product or domain is absent. The module does not perform live DNS, WHOIS or server checks.
Sources shows what was supplied to the AI, not proof that its answer is correct. Guests are not matched to client accounts by email address.
Choosing a knowledge source
Under Learning Settings, choose no knowledge source, the WHMCS knowledge base, or BookStack. BookStack is optional and off by default. It replaces WHMCS knowledge base retrieval; the two sources are not combined.
- In BookStack, create a dedicated API user with API access and view access only to customer-approved books. Do not grant write or administration permissions.
- Check Configure BookStack as the Knowledgebase in the module. Connection settings appear beneath it.
- Enter the final HTTPS address, Token ID and Token Secret. BookStack must support the per-book search API. Run Test Connection and Load Books.
- Select up to 10 customer-approved books, confirm the customer-answer approval and click Save BookStack Settings.
- Keep the BookStack checkbox selected and click Save Changes. Testing or saving the connection alone does not select it as the knowledge source.
Pages are searched and read live for replies, Custom Instructions and Autopilot. BookStack search matches words, not meaning, so use customer terminology in page titles and text. Deleted, moved or inaccessible pages are left out. Retrieved pages appear in Sources with links for staff.
A failed BookStack search stops manual generation and makes Autopilot send nothing. A successful search with no match can continue without documentation. Neither case silently falls back to WHMCS articles. Switching sources retains connection settings; changing the saved API destination requires entering its credentials again.
Select only books approved for customer answers. Their text is sent to your AI provider and may appear in replies. The module does not detect confidential information or guarantee that an AI will ignore instruction-like text inside documentation.
Customer ticket attachments
Generate AI Response, Custom Instructions, triage and Autopilot can read supported files already attached by the customer to the current ticket. Staff attachments, private-note attachments and files from other tickets are excluded. The module uses WHMCS attachment storage; it does not upload or change those files.
- Supported files include JPEG, PNG, WebP, non-animated GIF, unencrypted PDF, and UTF-8
.txt,.log,.md,.csvand.jsonfiles. - At most 5 files are included per request. Images and PDFs are limited to 4 MiB each and 10 MiB combined. Text files are limited to their first 64 KiB.
- Images and PDFs are sent only to recognized supported OpenAI or Anthropic models. Custom OpenAI-compatible endpoints receive text files only.
- Sources reports sent, shortened and skipped files. Review any file the AI did not receive. Autopilot sends nothing when a customer attachment cannot be fully included.
Attachment content is sent to the configured AI provider. KB article generation, enhancement, translation and language detection do not read ticket attachments.
Autopilot
Autopilot sends replies through the normal WHMCS cron. Selecting a resulting status for staff follow-up does not hold those replies for approval.
- Select a controlled support department explicitly. An empty department restriction does not restrict replies to a test department.
- Choose the reply mode, delay and resulting ticket status. Modes cover an initial reply, limited exchanges or unlimited exchanges.
- Keep Also reply to guest-created tickets off unless you want automatic replies to unregistered senders. It is off by default, including after an upgrade. Staff-created tickets without a client are still excluded.
- Confirm the cron is running, test non-sensitive tickets and review sent replies before expanding use.
Only customer requests up to 7 days old are eligible. A new customer reply can make an older ticket eligible again; staff activity does not renew the age limit. Merged ticket remnants are skipped.
Incomplete attachments, failed or shortened selected BookStack context, and relevant incomplete account inventories can prevent a reply. Check the Activity Log and review the ticket manually. Autopilot does not automatically replay uncertain delivery, to avoid duplicate replies; check the ticket and email history before sending manually.
Data sent to your provider
Depending on the operation and enabled settings, requests can include ticket text, populated support custom fields, selected documentation, attachments, product information, similar-ticket context and client account information. Private ticket notes are optional for reviewed manual work; Autopilot excludes private admin notes and other customers’ past-ticket excerpts.
This does not anonymize customer data. Enable only the context you need and check your provider’s contractual terms and retention requirements before using real tickets. Do not select documentation containing passwords, keys or internal-only procedures.
Troubleshooting
- Generation fails: check the provider, model, API credentials, available credit and connection test, then inspect the Activity Log. Errors distinguish licensing, provider connection, timeout and incomplete-response failures.
- Documentation is missing: check the selected source and Sources panel. For BookStack, verify the token, selected books, per-book API support and search wording.
- Account details are missing: check that client context is enabled and whether each inventory is complete, partial or unavailable.
- Autopilot does not reply: check its mode, department, delay, cron, customer-request age, guest setting and recorded skip reason. A safety skip should not be worked around by repeatedly retrying the same reply.
- Licensing server unavailable: previously verified installations can retain access during a temporary outage. A new installation or changed key or installation identity still requires successful validation; confirmed license rejections remain enforced.
- Reloading a ticket page: copy any unsaved reply or generated article first.
When contacting ArkHost support, include the module, WHMCS and PHP versions, provider name and a redacted error message. Do not include API keys or unredacted customer tickets.