Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Customer Support

Laravel Customer Support Laravel Package

a2zwebltd/laravel-customer-support

Portable Laravel helpdesk engine: support tickets with threaded replies, internal notes, attachments (Spatie MediaLibrary), agent assignment, SLA due dates and escalation, mail notifications, events, policies, Livewire + Flux UI, and optional Nova resources.

View on GitHub
Deep Wiki
Context7

A portable Laravel customer support / helpdesk engine — tickets, threaded replies, attachments, SLA tracking, mail notifications, Livewire UI, and Nova admin.

Frequently asked questions about Laravel Customer Support
Can I use this package in Laravel 10 or older versions?
No, this package requires Laravel 11, 12, or 13 due to its dependency on Livewire 3/4 and PHP 8.2+. If you’re on an older Laravel version, you’ll need to upgrade first, which may introduce compatibility risks with other packages.
How do I disable the Livewire UI and use only the API or custom frontend?
The package doesn’t expose a headless API by default, but you can disable the UI by removing Livewire routes and middleware from `config/customer-support.php`. For a custom frontend, you’d need to build API endpoints manually or fork the package to decouple the UI layer.
What happens if my app already uses a different media library (e.g., Intervention Image) instead of Spatie MediaLibrary?
The package hardcodes Spatie MediaLibrary for attachments, so conflicts will occur. You’d need to either replace the attachment logic in the package (risky) or disable attachments entirely by overriding the trait methods responsible for media handling.
How do I customize the SLA escalation logic beyond the default hours?
The SLA system is configurable via `config/customer-support.php` for priority-based hours, but dynamic rules (e.g., time-of-day escalation) require custom observers or extending the `EscalateOverdueTickets` command. The package lacks built-in hooks for this, so you’d need to modify core logic.
Does this package support multi-agent assignment or team-based workflows?
No, it only supports single-agent assignment via the `assigned_to` field. For team-based workflows, you’d need to extend the `SupportTicket` model or create a custom pivot table for collaborative assignments.
How do I integrate this with a third-party CRM or Slack for notifications?
The package uses Laravel’s mail system and domain events (e.g., `TicketCreated`). To integrate with Slack or CRMs, listen to these events and dispatch HTTP requests or webhooks. The `config/customer-support.php` file includes a `webhooks` section for custom integrations.
What’s the best way to test this package in a CI pipeline?
Test the package by creating feature tests for ticket lifecycle (creation, replies, status changes) and edge cases like concurrent updates. Mock the Livewire UI components if testing headlessly, and verify Spatie MediaLibrary interactions with fake storage drivers.
Can I use this package without Livewire or Flux in my project?
Yes, but you’ll lose the bundled UI. The package’s core functionality (tickets, messages, SLAs) remains usable if you disable the UI routes and middleware. For a custom frontend, you’d need to build API endpoints or replace Livewire components manually.
How do I add custom fields to tickets or messages?
Extend the `SupportTicket` or `SupportTicketMessage` models and add migrations for custom fields. Override the Livewire/Flux UI components to render these fields, or build a custom Nova resource if using Nova.
Are there alternatives to this package with more features (e.g., multi-channel support or AI routing)?
For advanced features like Slack integration or AI routing, consider Laravel packages like `beyondcode/laravel-websockets` (for real-time support) or `spatie/laravel-activitylog` (for audit trails). For full-featured helpdesks, commercial solutions like Zendesk or Freshdesk offer Laravel APIs but aren’t open-source.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony
spatie/flare-daemon-runtime