Event-Driven Extensibility

Webhooks

Key capabilities

Event Subscriptions

Subscribe each webhook to the events it cares about: user.created, user.role.assigned, client.deleted, and 35 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 records when it last fired, which is what you want when debugging a silent integration.

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, choosing 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