alfasix / alfakit-helpdesk
A helpdesk inside AlfaKit panels: tickets with SLAs on business hours, a threaded conversation with internal notes, canned replies, an agent inbox with keyboard shortcuts, a customer portal, a contact form, an embeddable live chat widget and reports, real time when the panel is.
Requires
- php: ^8.3
- alfasix/alfakit: ^0.1|@dev
Requires (Dev)
None
Suggests
- alfasix/alfakit-tags: Tag tickets with spatie/laravel-tags (the ticket model must use Spatie\Tags\HasTags).
- laravel/reverb: Real-time inbox, typing indicators and presence through Panel::realtime().
Provides
None
Conflicts
None
Replaces
None
README
by Alfa Six
This is a read-only split of the AlfaKit monorepo. Please open issues and pull requests there.
A Zendesk / Intercom-style helpdesk for AlfaKit panels: tickets with SLAs on business hours, internal notes, canned replies, merging and CSAT; an agent inbox with keyboard shortcuts and real-time updates; a customer portal, a spam-protected contact form and an embeddable live chat widget; queued emails, reply by email and reports. Renders in React, Vue and Svelte.
Installation
composer require alfasix/alfakit-helpdesk php artisan vendor:publish --tag=alfakit-helpdesk-migrations php artisan migrate php artisan alfakit-helpdesk:pages
use AlfaSix\AlfakitHelpdesk\HelpdeskPlugin; $panel->plugin(HelpdeskPlugin::make()->authorize(fn (User $user): bool => $user->is_support_agent));
Schedule php artisan alfakit-helpdesk:sla every minute and run a queue worker.
Add the chat widget to your public pages:
import { HelpdeskChat } from '@alfakit/react' ;<HelpdeskChat endpoint="/support/chat" />
Full documentation: alfakit.dev/docs/plugins/helpdesk.
License
MIT. See LICENSE.md.