Custom Providers
Custom providers
Custom providers let you adapt RelayKit to any webhook source.
Create a provider class
namespace App\Webhooks\Providers;
use RelayKit\Providers\Provider;
use RelayKit\Requests\IncomingWebhook;
class AcmeProvider extends Provider
{
public function eventName(IncomingWebhook $webhook): string
{
return $webhook->payload('event.name');
}
public function signatureHeader(): string
{
return 'X-Acme-Signature';
}
}
Register the provider
'providers' => [
'acme' => App\Webhooks\Providers\AcmeProvider::class,
],
Provider URLs
The provider key controls the endpoint URL.
https://example.com/webhooks/acme
Provider specific configuration
Providers can read from Laravel config, environment variables, or constructor arguments.
public function secret(): string
{
return config('services.acme.webhook_secret');
}