Plugins
Webhook Server
Send webhooks from Filament apps.
Developer Tool
Dark theme support
Yes
Multi language support
Yes
Compatible with the latest version
Supported versions: 2.x - 3.x - 4.x
Documentation
Version:

Latest Version on Packagist Total Downloads

#Screenshots

image1 image2

This package provides a Filament page that you can send webhook server. You'll find installation instructions and full documentation on spatie/laravel-webhook-server.

#Installation

You can install the package via composer:

composer require marjose123/filament-webhook-server

You can publish and run the migrations with:

php artisan vendor:publish --tag="filament-webhook-server-migrations"
php artisan migrate

Add the plugin to your panel and you're ready to go

 
use Marjose123\FilamentWebhookServer\WebhookPlugin;
 
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
WebhookPlugin::make()
->icon(Heroicon::AcademicCap) // Set the icon for the plugin
->enableApiRoutes() // Enable the API routes
->includeModels([]) // Include the models you want to be able to receive webhooks for that is not automatically included
->excludedModels([]) // Exclude the models you don't want to be able to receive webhooks for
->keepLogs() // Keep the logs of the webhooks
->sort(1) // Set the sort order of the webhooks plugin in the navigation
->polling(10) // Set the polling interval in seconds for the webhook plugin
->customPageUsing(webhookPage: Webhooks::class, webhookHistoryPage: WebhookHistory::class) // Set the custom pages for the webhooks plugin if you want to use your own
->enablePlugin(),
]);
 
}

#Usage

  1. All the models will automatically be part of the webhook as an option during creation.
  2. This package will automatically register the Webhook-Server. You'll be able to see it when you visit your Filament admin panel.

#Webhook payload Structure

[
{
"event": "created", // <== Type of Event
"module": "Testing", // <== Module name, were the event happend
"triggered_at": "2023-01-18T05:07:37.748031Z", // <== Based on the Date and time the Event happen
"data": { // <== Actual information depending on what you selected "Summary, All or Custom"
"id": 34,
"created_at": "2023-01-18T05:07:37.000000Z"
}
}
]

For a custom option you need to implement Webhookable interface and create your toWebhookPayload method in your models

class YourModel extends Model implements Webhookable
{
//......
 
public function toWebhookPayload(): array
{
return [
'customAttribute' => $this->yourAttribute
];
}
}

#Changelog

Please see CHANGELOG for more information on what has changed recently.

#Contributing

Please see CONTRIBUTING for details.

#Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

#Credits

#License

The MIT License (MIT). Please see the License File for more information.

Josie Darang

Diving towards a book of Knowledge | Learn by Experience

2
Plugins
89
Stars
More from this author
Featured Plugins