Event-Driven Extensibility

Webhooks

Key capabilities

Event Subscriptions

Subscribe to specific events per webhook — user.created, auth.login, client.secret_rotated, and more.

Custom Headers

Add Authorization, X-Webhook-Secret, or any custom header to authenticate deliveries at the receiving end.

Per-Realm Scope

Webhooks are scoped to a realm. Each tenant can have its own set of endpoints and subscriptions.

Multiple Endpoints

Register as many webhooks as needed. The same event fans out to all registered subscribers in parallel.

Last Triggered At

Each webhook tracks when it last fired — useful for debugging and operational monitoring.

Decoupled Design

Your app reacts to identity events without polling FerrisKey. Clean event-driven integration.

How it works

1

Register webhook

Create a webhook with a target URL, optional custom headers, and a name. Scoped to a realm.

2

Subscribe to events

Add event subscriptions — choose which lifecycle events should trigger the webhook.

3

Event fires

A matching event occurs in the realm. FerrisKey builds the payload and dispatches an HTTP POST.

4

Your system responds

Your endpoint receives the structured payload and reacts — send an email, sync a CRM, trigger a workflow.

Ready to use Webhooks?

Full reference, configuration options, and examples in the documentation.

Open docs