An SLA-driven helpdesk that runs across tenants, not just tickets.
A ticket management system for many organisations at once, each with its own branding, escalation rules and agent hierarchy, all on one shared codebase.


A helpdesk sounds simple until it has to serve more than one organisation at once. Each tenant needs its own branding, escalation rules and agent hierarchy, without any of that leaking into the code.
We built this system as one of the eleven modules on One Platform. It sits behind the same central sign-in and permissions service as the rest of the suite. Every request is checked before it reaches the ticketing service, so that service focuses only on tickets, SLAs and routing.
Challenge: one codebase, many rulebooks
Each tenant needed its own SLA tiers, branding and notification rules without forking the application.
Approach: configuration, not customisation
Per-tenant settings, assignment strategies and custom fields are all data, never hard-coded.
Result: a module that scales sideways
New tenants are onboarded by configuration, without a developer touching code.
What we built
- Role-based ticket visibility. All and Unassigned views are limited to admins and managers. Agents see only their own queue.
- Configurable auto-assignment. Round robin, load-balanced or skill-based routing, set per department.
- SLA monitoring and escalation. Breach thresholds trigger automatic escalation and notifications.
- Tenant branding, end to end. Each tenant’s logo appears across the portal and in every email notification.
- Public self-service portal. Customers raise and track tickets without an internal login.
- Soft delete with an audit trail. A two-step delete, trash first and then permanent, gated by role.
Built with
- 3
- assignment strategies
- 9
- custom field types
- 1
- codebase serving every tenant
Related reading.
How the SLA engine behind this project works under the hood.
Inside the SLA engine that powers our ticket system
How auto-assignment and escalation stay configurable per tenant.
Read the article
Have a project like this in mind?
Tell us about it and we’ll walk you through how we’d approach it.