How it works
Hosting helpdesk automation, from portal message to resolved ticket
Follow one conversation start to finish, then the one kind of chat that goes to a person instead. Every guardrail on the way.
Before the first chat
Hosting helpdesk automation, set up in a few clicks
Your servers connect over the panel API, the way your billing portal already talks to them. The agent is optional, for the few jobs a panel credential cannot reach on your setup. You can do all of this on the free plan, with no card.
Connect from your billing portal
One file in WHMCS or one plugin in Blesta runs the chat widget and the server connector. The connector registers your cPanel or DirectAdmin servers with a scoped panel credential, so they show up already connected. No agent, no root, nothing on customer machines.
See exactly what it can touch
A short guided walkthrough shows what just happened, and a live list, generated from the credential you granted, spells out what PanelBot can and cannot reach on each server.
Set your dials and go live
Brand colors, launcher style, office hours, and policy: what runs in chat, what waits for approval, whether high-impact actions are allowed at all. The first conversations land the same hour.
One morning
Then it runs like this
-
9:02 AM, Kate opens chat from her portal
No login screen, no email thread. The widget sits inside the WHMCS portal she already uses, so by the time she finishes typing, PanelBot knows who she is and which server her shop lives on.
Her screenChat with usidentity verified from the portal session · web-02
-
9:03 AM, The first reply arrives with the cause
She asked why WordPress cannot write files when 6 GB sit free. The answer is the one nobody guesses: she is out of inodes, the per-account limit on how many files can exist, and an old staging copy is hoarding them.
Her screenWhy does WordPress say it cannot write files? I have 6 GB free!9:02 AMYou have space, but you are out of inodes, the limit on how many files an account can hold. You are at 199,812 of 200,000, and 168,000 of them are tiny cache files inside the old staging copy at9:03 AMstaging.kate-ceramics.com, untouched for 212 days. Deleting it frees them. It just needs your confirmation, twice.disk and inode checks ran · nothing changed
-
9:05 AM, Deleting it takes a yes, twice
An ordinary fix would have run on her yes alone. Deleting asks for more: Kate types the subdomain’s exact name into a form before anything runs, and both steps land in the audit log. Then, and only then, it deletes.
Her screenPA PanelBotOnlineYou asked me to remove the old staging copy.staging.kate-ceramics.comhas had no visits in 212 days. Deleting it needs your confirmation, twice.Delete subdomain
Removes staging.kate-ceramics.com and its files. This cannot be undone.
Type the subdomain to confirm
staging.kate-ceramics.comCancel Delete subdomainTwo confirmations, both logged.
confirmation 1 of 2: yes · confirmation 2 of 2: name typed
-
Resolved at 9:06
Kate’s uploads work. The staging copy is gone, 168,000 inodes came back, and every step is on the record. Four minutes, start to finish.
Zoom in
What happened between 9:02 and 9:03
The minute before the first reply, in order. The same five moves run for every question.
- 1 · reads the question
Plain language in. No ticket form, no category dropdown.
- 2 · resolves the account
Who she is, which services, which server. From the session, not from asking.
- 3 · picks the right checks
Disk and inodes this time. The checks fit the question.
- 4 · runs them read-only
Looks, never touches. Nothing changes without a yes.
- 5 · writes the answer
Evidence first, jargon translated, next step offered.
Every conversation
Four ways it can end, all of them on the record
Answered
Most chats end with an explanation that holds up, because it came from the server, not a script.
nothing changedFixed, after one yes
The change is described in plain language and runs the moment the customer agrees.
loggedDeleted, after two
A yes, then the exact name typed into a form. Only then does anything irreversible run.
double confirmed · loggedTaken by a person
Judgment calls and the critical few: terminations, suspensions, whole-account restores. After hours, the same case becomes a ticket with everything attached.
context attachedEdge cases
The flow when things are not simple
What if nobody claims the handoff?
The AI stays in the conversation, keeps collecting detail, and is honest with the customer about timing. If the office is closed, it files the ticket with everything attached instead of leaving them on read.
What if the AI is not sure?
It says so and hands off. Uncertainty is a routing signal, not something to bluff through. Nothing speculative ever runs against a server.
What happens after hours?
The same flow with a different exit: diagnostics still run, fixes still wait for a yes, and whatever needs a person becomes a structured ticket your team finds in the morning queue.
What if the customer just wants a human?
They ask, and the same handoff happens: straight to your Chat Dashboard with the conversation attached. The AI does not gatekeep. It routes.
What if the customer pastes a password into chat?
PanelBot refuses it. When credentials are genuinely needed, the system generates them into a secure field instead: never stored, destroyed the moment the chat ends.
Can it act on the wrong account?
No. Every action is checked against what the signed-in customer actually owns, account, domain, and server, before it runs. A request for someone else's resource will not execute.
What if the credential we granted cannot do something?
PanelBot only offers what the credential you granted allows, and it tells you up front what that covers. A check or fix outside it goes to your team instead of failing quietly. If you want more reach, widen the credential or, for the narrow set of jobs no panel credential reaches, install the optional agent.
More detail in the docs: How it works Capabilities and limits Safety and permissions When humans take over The AI role Escalations Inbox and handoff How it works, in detail
Setup, step by step: Connect billing Connect a server Configure the widget Embed the widget Going-live checklist The optional server agent Getting started
Put it on your portal this week.
Start free on your own WHMCS or Blesta install. 30 conversations a month, no card, cancel anytime.