Staff Chatfor WHMCS · Documentation
v2.0.0

Features

Everything included in Staff Chat 2.0.0.


Chat and rooms

  • A shared Group Chat room for every approved admin.
  • Optional private 1:1 rooms between two admins, enabled by default and switchable in Settings.
  • Floating widget on every admin page with expanded and collapsed launcher modes.
  • Online admin list with presence dots and per-room unread badges.
  • Configurable AJAX polling interval from 1 to 60 seconds.
  • Auto-scroll, message timestamps and an unread count in the browser title.
  • Configurable message length and number of messages loaded per request.
  • Automatic retention and a per-room message cap.

Messages and interactions

  • @mentions with autocomplete, a mention button, highlighted names and a title marker when you are mentioned.
  • Emoji picker with the common chat emojis.
  • Reactions 👍 ❤️ 😂 🎉 😮 😢 with live counts.
  • Typing indicator showing which admin is typing.
  • Edit your own messages within a configurable time window.
  • Delete messages with a SweetAlert2 confirmation (Full Administrator only).
  • Clickable URLs that open in a new tab.
  • Optional notification sound with per-admin mute.

Files, images and links

  • Image and file attachments, one per message.
  • Allowed types: JPG, PNG, GIF, WebP, PDF, TXT and ZIP.
  • Configurable maximum size with a hard 50 MB ceiling.
  • Configurable aggregate attachment storage quota (default 1,024 MB; 0 = unlimited).
  • Inline image previews and a full-size lightbox.
  • Authenticated downloads — no public attachment URLs.
  • Attachments encrypted at rest with WHMCS encrypt()/decrypt().
  • Text-only link previews with SSRF protections.
  • Attachment thumbnails, previews and download links in Chat History and search results.

History, search and export

  • Encrypted chat history that survives page refreshes and admin logins.
  • Chat History page with room selector, DataTables sorting, paging and filtering.
  • Search across all rooms, admins, message text and attachment names.
  • Reaction counts shown next to messages in history and in search results.
  • CSV export of history and of the activity log.
  • Retention settings applied on write, on page view and by daily cron.

Dashboard analytics

  • 30-day message volume line chart.
  • Time-of-day bar chart highlighting peak communication hours.
  • Group Chat versus private room distribution doughnut chart.
  • Top mentioned admins ranked with relative bars.
  • Attachment count, encrypted storage usage and a breakdown by Images, PDFs, ZIPs, Text and Other.
  • KPI cards for 30-day volume, active admins, attachments and peak hour.
  • Aggregated server-side from the encrypted stores and cached in an encrypted file that invalidates when history or attachments change.
  • Metric refresh endpoint restricted to Full Administrators and protected by POST plus CSRF.

Activity log

  • Records widget connects, room switches, settings changes, message edits and deletions, cleared history, cleared log and denied access attempts.
  • Filters by action, admin and date range.
  • IP address and browser user-agent metadata, with IP logging switchable.
  • Session grouping, CSV export, retention pruning and a Full Administrator clear action.
  • Message content is never written to the activity log.

Access and safety

  • Full Administrator-only module pages.
  • Read-only roles that can view and react but cannot send.
  • Ghost mode: selected admins are hidden from presence and their message names are masked.
  • Per-admin message rate limiting.
  • Blocked words and optional link blocking.
  • Activity-log retention and IP logging toggle.
  • CSRF protection, AJAX-only endpoints and POST-only chat actions.

Notifications

  • Configurable default sound, volume and sound-on default.
  • Desktop notifications through a service worker with a new Notification fallback.
  • Chrome and operating-system permission diagnostics.
  • A test notification button in the Notifications panel.

Known limitations

  • Link previews are text-only and do not follow redirects.
  • One attachment per message.
  • Reactions show as counts in Chat History and CSV; they are not interactive there.
  • Attachment encryption is in-memory, so very large files use more PHP memory.
  • Desktop notifications also require the browser to be enabled in the operating system.
  • Dashboard analytics reflect stored history only, so they are bounded by retention and the per-room message cap.