Skip to content

Webhooks

Brokerr generates one webhook URL for each webhook-capable source:

https://brokerr.example.com/webhooks/plex/sources/<source-id>?api_key=<brokerr-api-key>
https://brokerr.example.com/webhooks/jellyfin/sources/<source-id>?api_key=<brokerr-api-key>
https://brokerr.example.com/webhooks/emby/sources/<source-id>?api_key=<brokerr-api-key>

Configure the Plex URL in Plex account webhook settings. Configure the Jellyfin URL and generated JSON template in a Generic Destination from the official Jellyfin Webhook Plugin. Configure the Emby URL in Emby Webhooks. The source and each profile that should react must have webhook processing enabled.

Brokerr checks the Plex Server.uuid against the saved machine identifier. This prevents an account-level webhook sent by another Plex server from triggering the wrong source. Events outside selected profile libraries are skipped.

The useful events in the current release are media.scrobble and media.rate. Other events are retained or skipped according to their relevance. Source and profile pages expose recent webhook decisions for diagnosis.

Select User Data Saved and Playback Stop, then restrict the plugin destination to the source’s configured user. Brokerr validates ServerId and UserId, accepts movies, episodes, seasons, and series, then selects profiles by Jellyfin library ID. Periodic PlaybackProgress user-data saves are ignored to prevent repeated source scans while media is playing.

Enable playback stop/scrobble, mark played/unplayed, and rating events. Brokerr accepts native JSON and multipart data payloads, validates the Emby server and user, and resolves the affected item against current source state. Playback start, pause, unpause, and progress events are discarded before they enter webhook history.

The General webhook dry-run default controls whether webhook batches preview changes. Regenerating the Brokerr API key immediately invalidates existing source webhook URLs, so update Plex, Jellyfin, and Emby after key rotation.

Do not place a browser session cookie or provider token in a webhook URL.