Skip to content

Quick start

Quick start

Service Status gives WHMCS a customer-facing public status page plus admin incident management plus Pro automatic monitoring. This guide takes you from install to live page in about 10 minutes.

1. Install and activate

  1. Download the ZIP matching your PHP version (e.g. service_status_v1.x.x_php8.1.zip) and extract into your WHMCS root.
  2. WHMCS admin → Setup → Apps & Integrations → Service Status → Activate.
  3. Configuration → Addon Modules → Service Status → configure: - Tick admin roles allowed to access - Paste your license key (Pro features only) - Save

After activation the top menu Addons → Service Status opens the admin UI; the public page lives at https://yourdomain.com/index.php?m=service_status by default (page slug is editable in Settings).

2. Add your first service

In the admin Services page:

  1. Click Add Service → name (e.g. "Web Hosting"), optional group (Web / Email / VPS).
  2. Pick initial status (default Operational).
  3. Save — the service immediately shows on the public page.

Repeat for each service you want to expose to customers.

3. Report an incident

When something breaks, the Incidents page:

  1. Click Create Incident → title, affected services (multi-select), initial status (Investigating / Identified / Monitoring / Resolved).
  2. Write the first Update (describe symptoms and next step).
  3. Submit — public page now shows "Investigating".

Append progress with Add Update under the same incident for a timeline; flip status to Resolved to archive.

4. Scheduled maintenance

Maintenance entries are like incidents but with start/end times:

  1. Click Schedule Maintenance → affected services, start/end, description.
  2. Public page displays "Scheduled maintenance" during that window.
  3. At the scheduled time the hooks.php cron flips status automatically (requires WHMCS cron to run on schedule).

5. Automatic monitoring (Pro)

With a Pro license the service edit page unlocks monitoring:

  • HTTP — URL with optional expected status code and body keyword
  • TCP — host:port probe
  • ICMP — ping (requires the WHMCS host to allow ICMP)

Default check interval is 5 minutes via hooks.php cron. Failed checks create incidents automatically and notify subscribers.

6. Notifications and subscriptions (Pro)

The Notifications page configures:

  • Email subscribers — internal alert recipients
  • Webhook endpoints — POST JSON payloads to Slack / Discord / custom systems
  • Public subscriptions — customers leave their email on the public page, double-opt-in confirmed, then receive event notifications

Each subscriber filters which event types to receive (incidents / maintenance / monitor down / etc.).

7. REST API (Pro)

Pro unlocks the read-only API with built-in docs:

  • GET /index.php?m=service_status&action=api&endpoint=services — service list
  • GET ...&endpoint=incidents&status=open — open incidents
  • API key generated on the Settings page; pass via X-API-Key header

Full reference is on Settings → REST API.

8. FAQ

Q: Public page returns 404. A: Check Settings → page_slug is set (first activation auto-writes the index.php routing hook). If not, hit "Save Settings" once.

Q: Monitoring doesn't trigger. A: Verify WHMCS cron is running (crontab -l | grep cron.php) and that hooks.php is loaded by WHMCS (loads automatically when the addon is active).

Q: Multi-language? A: Admin supports EN / ZH-CN / ZH-TW following the admin language. Public page follows the WHMCS site language.

For deeper docs (architecture, full API surface, cron timing) see the "Full documentation" link on your store dashboard.