Filament plugins for jeffersongoncalves/laravel-help-desk — providing User, Operator, and Admin panels for ticket management.
| Plugin Version | Filament | Laravel | PHP |
|---|---|---|---|
| 1.x | ^3.0 | ^10 | ^11 | ^12 | ^8.1 |
| 2.x | ^4.0 | ^11.0 | ^8.2 |
| 3.x | ^5.0 | ^11.28 | ^8.3 |
- PHP
^8.3 - Laravel
^11.28 - Filament
^5.0 - jeffersongoncalves/laravel-help-desk
^1.0
composer require jeffersongoncalves/filament-help-desk:^3.0php artisan vendor:publish --tag="filament-help-desk-config"php artisan vendor:publish --tag="filament-help-desk-views"php artisan vendor:publish --tag="filament-help-desk-translations"Note: Make sure you have already installed and configured jeffersongoncalves/laravel-help-desk (migrations, config, etc.) before using this package.
use JeffersonGoncalves\HelpDesk\Concerns\HasTickets;
use JeffersonGoncalves\HelpDesk\Concerns\IsOperator;
class User extends Authenticatable
{
use HasTickets;
use IsOperator; // Only needed for users who act as operators/admins
}This package provides 3 independent plugins that can be registered in any combination across your panels:
For end-users to create and track their tickets.
use JeffersonGoncalves\FilamentHelpDesk\FilamentHelpDeskUserPlugin;
class UserPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
FilamentHelpDeskUserPlugin::make(),
]);
}
}Provides:
- Ticket creation form (department, category, priority, attachments)
- Ticket listing with status/priority filters
- Ticket detail view with comment timeline and reply form
- Stats widget: open, pending, resolved, total tickets
For support agents to manage and respond to tickets.
use JeffersonGoncalves\FilamentHelpDesk\FilamentHelpDeskOperatorPlugin;
class OperatorPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
FilamentHelpDeskOperatorPlugin::make(),
]);
}
}Provides:
- Tabbed ticket queue (My Tickets, Unassigned, All)
- Ticket management: change status, priority, assign operators
- Internal notes and canned responses
- Tickets by status chart widget
- Assigned tickets table widget
For administrators to configure the help desk system.
use JeffersonGoncalves\FilamentHelpDesk\FilamentHelpDeskAdminPlugin;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
FilamentHelpDeskAdminPlugin::make(),
]);
}
}Provides:
- Department CRUD with operator management
- Category CRUD with hierarchical support
- Canned response CRUD
- Email channel configuration
- Full ticket management (all tickets, all statuses)
- Stats overview and priority distribution widgets
Tip: You can combine plugins in a single panel. For example, register both
FilamentHelpDeskAdminPluginandFilamentHelpDeskOperatorPluginin your admin panel.
The configuration file config/filament-help-desk.php allows you to customize:
return [
'user' => [
'resource' => \JeffersonGoncalves\FilamentHelpDesk\User\Resources\TicketResource::class,
'navigation_group' => 'Support',
'navigation_icon' => 'heroicon-o-ticket',
'navigation_sort' => null,
'slug' => 'tickets',
],
'operator' => [
'resource' => \JeffersonGoncalves\FilamentHelpDesk\Operator\Resources\TicketResource::class,
'navigation_group' => 'Help Desk',
'navigation_icon' => 'heroicon-o-inbox-stack',
'slug' => 'tickets',
],
'admin' => [
'navigation_group' => 'Help Desk',
'navigation_icon' => 'heroicon-o-cog-6-tooth',
'resources' => [
'ticket' => \JeffersonGoncalves\FilamentHelpDesk\Admin\Resources\TicketResource::class,
'department' => \JeffersonGoncalves\FilamentHelpDesk\Admin\Resources\DepartmentResource::class,
'category' => \JeffersonGoncalves\FilamentHelpDesk\Admin\Resources\CategoryResource::class,
'canned_response' => \JeffersonGoncalves\FilamentHelpDesk\Admin\Resources\CannedResponseResource::class,
'email_channel' => \JeffersonGoncalves\FilamentHelpDesk\Admin\Resources\EmailChannelResource::class,
],
],
];Override any resource by pointing to your own class in the config:
'user' => [
'resource' => \App\Filament\User\Resources\CustomTicketResource::class,
],Your custom resource can extend the default one:
namespace App\Filament\User\Resources;
use JeffersonGoncalves\FilamentHelpDesk\User\Resources\TicketResource as BaseResource;
class CustomTicketResource extends BaseResource
{
public static function form(Form $form): Form
{
return $form->schema([
...static::getTicketFormSchema(isUser: true),
// Add your custom fields
]);
}
}The package includes translations for:
- English (
en) - Brazilian Portuguese (
pt_BR)
To add or modify translations, publish them and edit the files in resources/lang/vendor/filament-help-desk/.
composer testcomposer analysecomposer formatPlease see CHANGELOG for more information on what has changed recently.
The MIT License (MIT). Please see License File for more information.
