Skip to content

escalated-dev/escalated-wordpress

Repository files navigation

العربيةDeutschEnglishEspañolFrançaisItaliano日本語한국어NederlandsPolskiPortuguês (BR)РусскийTürkçe简体中文

Escalated for WordPress

Tests Latest Release PHP Version WordPress License

A full-featured helpdesk and ticketing system for WordPress with multi-role support, SLA tracking, escalation rules, inbound email processing, macros, and a REST API. No external services required.

escalated.dev — Learn more, view demos, and compare Cloud vs Self-Hosted options.

Screenshots

Ticket List Ticket Detail
Ticket List Ticket Detail
Departments SLA Policies
Departments SLA Policies
Reports Settings
Reports Settings
Automations Macros
Automations Macros

Screenshots are auto-generated via Playwright on every release. See .github/workflows/screenshots.yml.

Download

Download Latest Release

Features

  • Ticket management with threaded conversations, internal notes, and activity timeline.
  • Custom support roles: escalated_admin and escalated_agent.
  • Department-based routing and assignment workflows.
  • SLA policies with first-response and resolution targets.
  • Automated escalation rules and scheduled SLA checks.
  • Customer-facing frontend ticket pages via shortcodes.
  • Guest ticket submission and secure guest ticket access.
  • Inbound email ingestion via Mailgun, Postmark, and Amazon SES webhooks.
  • Canned responses, macros, and tag management.
  • Bearer token REST API with per-token abilities and rate limiting.
  • Attachment support with configurable upload limits.
  • Satisfaction ratings and reporting views.

Requirements

  • WordPress 6.0+
  • PHP 8.1+

Installation

  1. Place this plugin in your WordPress plugins directory:
    • wp-content/plugins/escalated
  2. Activate Escalated from the WordPress Plugins screen.
  3. Go to Escalated in wp-admin and configure:
    • Departments
    • SLA Policies
    • Escalation Rules
    • Settings

Frontend Shortcodes

Use these shortcodes on WordPress pages:

  • [escalated_tickets] - Logged-in requester ticket list.
  • [escalated_create_ticket] - Logged-in requester new ticket form.
  • [escalated_view_ticket] - Ticket detail view:
    • Logged-in users: expects ?ticket=ESC-123
    • Guests: expects ?guest_token=<token>
  • [escalated_guest_create] - Guest ticket creation form (if enabled in settings).

REST API

  • Namespace: /wp-json/escalated/v1
  • Auth: Authorization: Bearer <api-token>
  • Default rate limit: 60 requests/minute per token (configurable via api_rate_limit setting)

Main route groups:

  • /auth/validate
  • /tickets
  • /departments
  • /tags
  • /canned-responses
  • /macros
  • /agents
  • /dashboard
  • /admin/api-tokens

Inbound Email Webhooks

Inbound route pattern:

  • POST /wp-json/escalated/v1/inbound/{adapter}

Supported adapters:

  • mailgun
  • postmark
  • ses

Scheduled Tasks (WP-Cron)

On activation, Escalated schedules:

  • escalated_check_sla (every minute)
  • escalated_evaluate_escalations (every 5 minutes)
  • escalated_auto_close (daily)
  • escalated_purge_activities (weekly)

Translations

Escalated for WordPress consumes translations from the central escalated-dev/locale Composer package, which is the single source of truth for translations across every Escalated host plugin.

At runtime the plugin loads translations in two layers (later layer wins):

  1. Centralvendor/escalated-dev/locale/languages/escalated-{locale}.mo (installed automatically via composer install).
  2. Local overrideslanguages/overrides/escalated-{locale}.mo (drop your own compiled .mo here to override individual entries without forking the central package).

If the central package is not yet installed, the plugin falls back to the legacy in-tree languages/*.po/*.mo files so existing sites keep working.

To submit translation fixes, open a PR against escalated-dev/escalated-locale. Do not edit the in-tree .po files — they exist only as a fallback and will be removed once the central package reaches a stable release.

Development

Install dependencies:

composer install

Run tests (WordPress test suite required):

vendor/bin/phpunit -c phpunit.xml.dist

If needed, set WP_TESTS_DIR to your local WordPress tests library path before running PHPUnit.

Also Available For

License

MIT

About

A wordpress plugin port of the Escalated system

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors