Support tickets, built into your app
An open-source help desk that lives inside your application — not beside it. One shared UI, powered by Inertia.js. Native adapters for every major framework.
$ composer require escalated-dev/escalated-laravelEverywhere Inertia.js goes, Escalated follows
Why Escalated
Your help desk shouldn't be a separate app
Most help desk tools sit outside your application — separate databases, separate authentication, separate infrastructure. Escalated lives inside your app, using your models, your database, and your deployment pipeline.
- Your data stays yours. Tickets, conversations, and attachments live in your database.
- One UI for every framework. Inertia.js powers a shared interface that feels native everywhere.
- Open source forever. No feature gates. No license traps. MIT licensed.
Tickets, conversations, SLAs
Features
Everything you need for support
A complete help desk system with the flexibility to adapt to your workflow.
Tickets & Conversations
Threaded conversations, internal notes, and full ticket history — all stored in your own database.
Statuses & Priorities
Flexible state machines with custom statuses, priority levels, and transition rules.
Assignment & Ownership
Assign tickets to agents, teams, or queues. Ownership rules that fit your workflow.
SLAs & Escalation
Built-in timers, escalation rules, and SLA tracking to keep your team accountable.
Tags & Organization
Flexible tagging system for categorization, filtering, and automated routing.
Notifications
Email notifications and webhook integrations using your framework's native systems.
Framework Support
Native to every framework
Everywhere Inertia.js goes, Escalated follows. Idiomatic adapters that feel like they were built for your stack.
Laravel
Eloquent models, Blade/Inertia views, native migrations, and full artisan command support. Feels like a first-party Laravel package.
$ composer require escalated-dev/escalated-laravelRuby on Rails
A Rails engine with ActiveRecord models, generators, and full Ruby ecosystem integration. Mounts seamlessly into your routes.
$ bundle add escalated-railsDjango
A Django app with models, admin integration, management commands, and Python-native APIs. Plugs into your existing project.
$ pip install escalated-djangoHow It Works
Three steps to support
Install the adapter
Add the Escalated package for your framework using your language's package manager.
Run the migrations
Escalated creates its tables in your database. Your data, your schema, your control.
Mount the routes
Register Escalated's routes and the Inertia-powered UI is ready. Native to your app.
Escalated to theCloud
One codebase, three ways to run. Start fully self-hosted, sync to a control plane when you need visibility, or let us handle everything. No code forks, no feature gating — just a configuration change.
Learn more about CloudSelf-Hosted
DefaultEverything lives in your database. Tickets, messages, attachments, and state — fully local. No external API, no hosted dependency. Works forever on its own.
Synced Mode
Control PlaneYour app stays the authority. Escalated Cloud receives events and maintains a projection for unified inbox, cross-app visibility, notifications, and SLA tracking.
Fully Cloud
ManagedCloud becomes the system of record. Your app is a thin adapter that authenticates users, proxies requests, and renders the UI. We handle the rest.
Customer-facing UI embedded in your app. Installed via your package manager, fully under your control.
Read model, coordinator, or full authority — depending on your chosen mode.
"Does this still work if the hosted service disappears?" — if no, the design is incorrect.
Ready to bring support into your app?
Escalated is free, open source, and ready to install. Join a growing community of developers who believe support belongs inside your application.

“I started building Escalated because I had a lot of web applications I put painstaking work into, without any support system. I didn't want to hand over my data to just any help-desk company, or pay exorbitant prices for each seat. Hence having the code in my codebase made the most sense. I hope this project brings joy to you and your clients, as it has mine.”