Laravel

A help desk that feels like a first-party Laravel package

Eloquent models, Artisan commands, Blade/Inertia views, and native migrations. Escalated integrates so deeply into Laravel, your team won't believe it's a package.

Terminal
$ composer require escalated-dev/escalated-laravel

Why Escalated

Why Escalated for Laravel

Built to feel like it shipped with the framework.

Native Eloquent Models

Tickets, replies, tags, and activities are all Eloquent models. Use scopes, relationships, and query builder like any other model in your app.

Artisan Commands

Publish config, run migrations, seed demo data, and manage tickets from the command line. Works with your existing deployment pipeline.

Built for Inertia.js

A shared Vue UI rendered through Inertia. No iframes, no separate frontend build. Feels like a native part of your application.

Getting Started

How It Works

Three steps from zero to a working help desk.

1

Install the Package

composer require escalated-dev/escalated-laravel

2

Publish & Migrate

php artisan escalated:install && php artisan migrate

3

Mount the Routes

Add Escalated routes to your routes/web.php and you're live. Tickets, conversations, and the full agent dashboard β€” ready in minutes.

Features

Laravel-Native Features

Every integration point you'd expect from a first-party package.

Eloquent Relationships

Tickets belong to users, have many replies, and connect through polymorphic relationships. Query them like any Laravel model.

Queue Integration

Email notifications, webhook dispatches, and SLA checks run on Laravel's native queue system. Use Redis, SQS, or database β€” your choice.

Policy-Based Authorization

Gate and Policy support out of the box. Control who can view, reply, assign, and close tickets using standard Laravel authorization.

Event System

Every ticket action fires a Laravel event. Hook into TicketCreated, ReplyAdded, StatusChanged, and more to build custom workflows.

Middleware Support

Apply your existing middleware to Escalated routes. Authentication, rate limiting, and tenant scoping work exactly as expected.

Testing Factories

Ship with model factories for tickets, replies, and users. Write feature tests with the same patterns you already use.

Code

Feels Like Home

Standard Laravel patterns. Nothing new to learn.

// routes/web.php
use Escalated\Escalated;

Escalated::routes();

// app/Models/User.php
use Escalated\Traits\HasTickets;

class User extends Authenticatable
{
    use HasTickets;
}

// Anywhere in your application
$ticket = $user->tickets()->create([
    'subject' => 'Need help with billing',
    'priority' => 'high',
]);

$ticket->replies()->create([
    'body' => 'We\'ve updated your invoice.',
    'user_id' => $agent->id,
]);

Ready to add support tickets to your Laravel app?

Install the package, run the migrations, and you're live. Open source, self-hosted, and built for Laravel.