Skip to content

Support Center

A help desk built into My Account, replacing a bought-in plugin

Client
Healy World
Year
2021
Services
WordPress, Support, WooCommerce
Support Center cover artwork

Healy sold in dozens of countries and handled support through a third-party desk plugin that assumed one company, one language and one queue. What it could not do was the thing that mattered: put a customer in front of the right regional team without asking them to know which team that is.

The replacement was built in-house and shipped under our name in the plugin header. A customer opens a case from their account, picks a topic, and the topic decides what happens next — a knowledge base article offered first where one answers the question, and the ticket routed to the team for their country where it does not. Which is why most of the ongoing work was not code: it was topics, article mappings and team IDs changing as Healy's support organisation reorganised, country by country, through 2022.

The rest is the unglamorous half of a support desk. Replies threaded onto the case. A closed ticket detected before a reply is accepted, with a link to open a new case instead of silently dropping the message. Length limits that match what the desk actually accepts. Sanitised content, and a log written whenever a case or a reply fails to reach the desk, so a customer saying 'I wrote to you' can be checked instead of argued with. Support staff got the same fields on the user edit screen in wp-admin, and the form carried the customer's device app versions so nobody had to ask.

It was built like a product rather than a site tweak: Composer, PHPCS, PHPStan, PHPUnit tests over the account, ticket and email paths, a REST controller for tickets, WPML compatibility, and the topic list as translatable PHP rather than a JSON file nobody could translate.

It was retired in February 2023, when Healy moved to a hosted help center and My Account started linking out to it instead. Roughly eighteen months of doing a job that has since been bought rather than built — which is a normal ending for this kind of plugin, and worth saying plainly.