DirectAdmin
Connect DirectAdmin hosting context to Konrado.AI with the server agent
Use DirectAdmin when Konrado.AI should answer hosting support tickets with context from a DirectAdmin server.
What Is It?
The DirectAdmin integration installs the Konrado.AI server agent on a DirectAdmin host. It gives AI replies context about users, domains, packages, and hosting state that would otherwise require a support agent to open the panel manually.
What It Can Do
| Capability | How it helps support |
|---|---|
| User lookup | Connect a ticket to the relevant DirectAdmin user, reseller, domain, quota, package, database, email, FTP, cron, Git, SSH, backup, or PHP context |
| Domain diagnostics | Read domain ownership, reseller relationships, DNS records, email accounts, forwarders, autoresponders, filters, SSL, logs, subdomains, pointers, and file tree context |
| Email investigation | Check local mailboxes, DirectAdmin email configuration, SpamAssassin/filter rules, and recent Exim delivery evidence |
| System context | Read DirectAdmin system info, usage summaries, cron jobs, SSH keys, Git repositories, and advanced summary data |
| Security and backup context | Read CSF IP status, CloudLinux/LVE usage, JetBackup5 metadata, and Imunify360 malware or WAF signals when installed |
| Cross-system context | Combine DirectAdmin data with WHMCS, SupportPal, and knowledge-base answers |
Data Available To AI
| Data area | What Konrado.AI can use in replies |
|---|---|
| User and ownership | DirectAdmin username, account type, reseller relationship, domains, package, quota, usage, and account summary context |
| Domain setup | Main domain, subdomain, pointer and alias relationships, IP, document root, DNS records, SSL certificate data, logs, and file tree context |
| Email evidence | Email accounts, forwarders, autoresponders, filters, SpamAssassin configuration, mailbox storage presence, and recent Exim delivery signals |
| Account services | FTP accounts, MySQL databases and users, cron jobs, Git repositories, SSH keys, PHP versions, and backup files |
| System and resources | DirectAdmin system information, usage summaries, CloudLinux/LVE resource history, and standard Linux activity snapshots when available |
| Backups and security | JetBackup5 metadata, CSF IP status, and Imunify360 or ImunifyAV malware, scan, WAF, infected-domain, and blocked-port context when installed |
What It Cannot Do
| Not supported | Why this matters |
|---|---|
| Create, suspend, delete, upgrade, or modify DirectAdmin users | The integration returns context for support replies; user actions stay in DirectAdmin or your billing workflow |
| Change DNS, SSL, email accounts, filters, SpamAssassin, databases, files, FTP, cron, Git, or SSH settings | The tool can read these areas but does not apply customer-impacting changes |
| Restore backups, clean malware, unblock IPs, or clear mail queues | JetBackup, Imunify360, CSF, and Exim data are diagnostic signals only |
| Reset passwords or reveal credentials | Passwords, API tokens, private keys, and mailbox contents should not appear in generated replies |
| Prove external registrar, CDN, DNS provider, or third-party mail state by itself | DirectAdmin context must be combined with DNS checks, ticket context, or provider-specific integrations when the issue is outside the server |
| Run arbitrary server operations | Konrado.AI uses the integration for read-only investigation, followed by operator review |
Security Model
The DirectAdmin integration uses the Konrado.AI server agent installed on a server you control. Keep the generated API key private, use a trusted root SSH session for installation, and allowlist Konrado.AI IPs when panel or server access is restricted.
Ticket Examples
- "The customer cannot find their domain in DirectAdmin. Which user or reseller child account owns it?"
- "Email from this domain is bouncing. Do the DNS, mailbox, filter, or delivery-log details explain why?"
- "The customer says the SSL certificate is invalid. Is the domain relationship and certificate context consistent?"
- "This user is hitting quota limits. What usage or resource data should we include in the answer?"
- "A domain pointer appears to load the wrong site. Is it configured as a main domain, subdomain, alias, or pointer?"
- "The customer suspects malware or a backup issue. Is there security or backup context worth escalating?"
Prerequisites
- Access to Konrado.AI Integrations.
- Root SSH access to the DirectAdmin server.
- Outbound HTTPS access from the server to Konrado.AI.
- If inbound panel/API access is restricted, allow the Konrado.AI static IP addresses.
Installation
In Konrado.AI, open Integrations > Applications, click Add Integration, and choose DirectAdmin.

- Log in to the target server via SSH as the root user.
- Copy the installation command from the DirectAdmin modal.
- Run the command in the SSH session.
- Wait for automatic connection detection in Konrado.AI.
The generated command will look like this:
bash <(curl -s https://repo.konrado.ai/init.sh) --api-key=YOUR_API_KEY --callback-url=https://app.konrado.ai/api/integrations/servers/install --platform=directadminVerify Success / Failure
After running the installer, Konrado.AI waits for the server to report back. A successful installation shows Connected Successfully in the installation modal and marks the integration as Connected.

If the connection fails, use the troubleshooting commands below and run Test Connection again.
Troubleshooting
| Issue | What to check |
|---|---|
| Command fails immediately | Confirm you are running it as root on the DirectAdmin server |
| Status stays waiting | Confirm the server can reach app.konrado.ai over HTTPS |
| Panel data is missing | Confirm the integration was created as DirectAdmin and installed on the right server |
| Customer context is incomplete | Confirm ticketing and billing integrations can map the customer/domain to this panel |
Installation Failure Commands
If the installation modal shows Connection Error, check both server plugin services, read the recent logs, then restart the plugin services.

systemctl status konrado-server.service konrado-root.service
journalctl -u konrado-server.service -u konrado-root.service --since "15 minutes ago" --no-pager
systemctl restart konrado-server.service konrado-root.service
systemctl enable konrado-server.service konrado-root.service
ss -ltnp | grep ':8000'After the services restart, run Test Connection again in Konrado.AI. If the status still fails, check firewall rules and make sure Konrado.AI can reach the server plugin URL.
Remove
Use Uninstall Plugin to remove the agent from the server, then delete the integration in Konrado.AI.