boone-studios / laravel-webhooks
Outbound signed webhook delivery with retries, delivery logs, and replay for Laravel.
v0.1.1
2026-07-11 21:57 UTC
Requires
- php: ^8.2
- illuminate/database: ^12.0|^13.0
- illuminate/http: ^12.0|^13.0
- illuminate/mail: ^12.0|^13.0
- illuminate/queue: ^12.0|^13.0
- illuminate/support: ^12.0|^13.0
Requires (Dev)
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
This package is auto-updated.
Last update: 2026-07-11 21:59:23 UTC
README
Outbound signed webhook delivery for Laravel: fan-out, HMAC signatures, queued retries with backoff, delivery logs, and manual replay.
Requirements
- PHP 8.2+
- Laravel 12 or 13
Installation
composer require boone-studios/laravel-webhooks
php artisan vendor:publish --tag=webhooks-config php artisan vendor:publish --tag=webhooks-migrations php artisan migrate
Usage
use BooneStudios\Webhooks\Services\WebhookDispatcher; app(WebhookDispatcher::class)->dispatch($tenant, 'order.created', [ 'event' => 'order.created', 'order_id' => $order->id, ]);
Configure models, signature header, queue name, and optional event catalog in config/webhooks.php. Defaults use a generic X-Webhook-Signature header — override per app (Forgebit uses X-Forgebit-Signature).
Replay a failed delivery:
use BooneStudios\Webhooks\Services\ReplayWebhook; app(ReplayWebhook::class)->replay($log);
License
MIT © Boone Studios, LLC