- How do I install tapp/filament-webhook-client?
- Install it with Composer using composer require tapp/filament-webhook-client:"^4.0". You should already have Spatie Webhook Client installed, migrated, and configured, because this package only adds the Filament UI on top of it. After installing, publish the config file with php artisan vendor:publish --tag="filament-webhook-client-config" and register the plugin in your panel. You can optionally publish the translations with the filament-webhook-client-translations tag.
- Does tapp/filament-webhook-client support Filament 4 and Filament 5?
- Yes. The current 4.x line of the package supports Filament 4.x and 5.x. If you are still on Filament 3, you need the 1.x line of this package and its separate documentation. Because the package major version is tied to the Filament major version, plan for a coordinated upgrade whenever you move Filament majors.
- Do I need Spatie laravel-webhook-client installed before using this package?
- Yes, it is a hard prerequisite. The package is a presentation-layer adapter: Spatie's laravel-webhook-client still handles receiving, signature validation, storage, and job dispatch, while this package only provides the Filament resource and policy for browsing webhook calls. Install, migrate, and configure Spatie first, otherwise there is nothing for the Filament resource to display.
- How do I register FilamentWebhookClientPlugin in my Filament panel?
- Add FilamentWebhookClientPlugin::make() to the plugins() array of your panel, typically in app/Providers/Filament/AdminPanelProvider.php. Import Tapp\FilamentWebhookClient\FilamentWebhookClientPlugin at the top of the file first. No other bootstrapping is required beyond the published config and your existing Spatie setup.
- Can I customize the webhook resource, model, policy, navigation icon, and sort order?
- Yes. The published config file exposes resources, models, policies, and navigation keys, so you can point the package at your own WebhookCallResource subclass, a custom model binding, or your own policy without forking. The navigation block controls the sort order and icon, which defaults to heroicon-o-rectangle-stack. This config-driven binding is the main extension point for tailoring the UI to your admin panel.
- How do I translate the Filament webhook client interface?
- Publish the translation files with php artisan vendor:publish --tag="filament-webhook-client-translations". Once published, you can edit the language files like any other Laravel translation resource. This keeps localization a configuration task rather than a code change or fork.
- Can I restrict who can view webhook call payloads with a policy?
- Yes, through the policy binding in the config file. The default WebhookCallPolicy is intentionally coarse: out of the box it grants list and view access to every webhook call, which includes payloads that may contain PII or third-party secrets. For most organizations you should swap in your own policy class that narrows access by role, panel, or tenant before going live.
- Is tapp/filament-webhook-client production ready, and what are the risks?
- It is a small, MIT-licensed codebase with a narrow blast radius limited to an admin UI, so adoption risk is manageable, but it is maintained by a single vendor and has limited public adoption, so you would be an early adopter. The main technical risks are version coupling to both Filament and Spatie, plus the broad default policy. If maintenance stalls, the MIT license and small footprint make an in-house fork inexpensive; treat the package major as locked to your Filament major in the upgrade runbook.
- Does the package support webhook replay or reprocessing of failed webhooks?
- No, it is strictly an inspection and management UI over Spatie's stored webhook calls. Ingestion, retries, and job dispatch remain Spatie's responsibility, and the package does not add replay or reprocess affordances. If you need to re-deliver failed webhooks, implement that yourself against the stored WebhookCall records or in your own resource extension.
- How does it perform with large webhook_calls tables and multi-megabyte JSON payloads?
- The package is a thin Filament resource over Spatie's webhook_calls schema, so performance depends on your table size, indexing, and Filament's table behavior rather than on any bespoke optimization. There is no documented guidance for large datasets, so validate server-side filtering and default sort behavior against your own volume before committing. If you expect hundreds of thousands of rows, add indexes, plan retention or pruning, and load payload views lazily.