Helpdesk workflow

Kanban board

Drag tickets between configurable status boards. Add, rename and order boards from Helpdesk Settings → Statuses.

New ticket Configure boards List view
@if (session('success'))
{{ session('success') }}
@endif
@foreach ($statuses as $status) @php $tickets = $ticketsByStatus[$status->id] ?? collect(); $statusColor = match ($status->color) { 'sky' => '#0284c7', 'blue' => '#2563eb', 'amber' => '#d97706', 'rose' => '#e11d48', 'violet' => '#7c3aed', 'emerald' => '#059669', 'red' => '#dc2626', 'green' => '#16a34a', 'purple' => '#9333ea', 'indigo' => '#4f46e5', 'cyan' => '#0891b2', default => str_starts_with((string) $status->color, '#') ? $status->color : '#64748b', }; @endphp

{{ $status->name }}

{{ $tickets->count() }} tickets

@if ($status->is_closed) Closed @endif
@forelse ($tickets as $ticket) @php $priorityColor = match ($ticket->priority?->color) { 'red' => '#dc2626', 'amber' => '#d97706', 'emerald' => '#059669', 'blue' => '#2563eb', 'rose' => '#e11d48', default => '#64748b', }; @endphp
{{ $ticket->reference }} ⋮⋮

{{ $ticket->subject }}

@if ($ticket->priority) {{ $ticket->priority->name }} @endif
Owner: {{ $ticket->owner?->name ?? 'Unknown' }}
Agent: {{ $ticket->agent?->name ?? 'Unassigned' }}
@if ($ticket->project)
Project: {{ $ticket->project->title }}
@endif @if ($ticket->team)
Team: {{ $ticket->team->name }}
@endif
Open @can('update', $ticket) Edit @endcan
@empty
Drop tickets here to move them to {{ $status->name }}.
@endforelse
@endforeach