spatie/laravel-help-space
Laravel package to integrate HelpSpace. Validates incoming HelpSpace sidebar requests and lets you return HTML (views/strings) with customer context based on ticket data like email, so HelpSpace can render rich sidebar info in the help desk UI.
HelpSpace::sidebar()) could be extended to trigger Laravel events (e.g., HelpSpaceSidebarRequested) for broader integration with queues, notifications, or analytics.composer require spatie/laravel-help-space).HelpSpaceServiceProvider./helpspace/sidebar) to avoid conflicts.Auth::user()) if email-based lookups are extended.throttle:60,1 middleware).ValidateHelpSpaceSignature for request validation.config/helpspace.php.return view('helpspace.sidebar', ['user' => $user])).openssl for signature verification).users table with an email field. Customizable via the callback closure.composer require spatie/laravel-help-space
php artisan vendor:publish --provider="Spatie\HelpSpace\HelpSpaceServiceProvider"
HELPSPACE_API_KEY in .env.https://app.example.com/helpspace/sidebar).// app/Providers/AppServiceProvider.php
use Spatie\HelpSpace\Facades\HelpSpace;
public function boot()
{
HelpSpace::sidebar(function (HelpSpaceRequest $request) {
$user = User::where('email', $request->email())->first();
return optional($user)->renderSidebarView(); // Custom method
});
}
composer.json constraints.X-Helpspace-Signature).ticket_id, customer_email).ValidateHelpSpaceSignature middleware for custom validation.HelpSpace::extend() to add middleware or modify responses.config/helpspace.php and .env, reducing risk of misconfigurations.HELPSPACE_API_KEY and HelpSpace’s public key.Cache::remember()).email for faster lookups.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| HelpSpace API downtime | Sidebar data unavailable | Graceful fallback (e.g., static HTML). |
| Invalid webhook signatures | Security risk (spoofed requests) | Strict validation + alerting. |
| Database query timeouts | Slow sidebar rendering | Cache user data; implement circuit breakers. |
| HelpSpace payload format changes | Integration breaks | Monitor changelogs; test updates in staging. |
| High request volume | Performance degradation | Rate limiting; async processing. |
How can I help you explore Laravel packages today?