For the complete documentation index, see llms.txt. This page is also available as Markdown.

Webhooks

Configure webhook-based scrobbling from Plex, Jellyfin, or Emby to Trakt.

Legacy webhooks send playback events from your media server to Trakt.

What it does

  • Receives events on these endpoints:

    • Plex: http://<host>:8787/webhook/plextrakt?uniqueID

    • Jellyfin: http://<host>:8787/webhook/jellyfintrakt?uniqueID

    • Emby: http://<host>:8787/webhook/embytrakt?uniqueID

  • Can auto-remove movies from watchlists after completion (if enabled).

  • Can send ratings to Trakt for Plex only (if enabled).

Webhook endpoints are protected by a unique URL token (?uniqueID) generated by CrossWatch.

Copy the full URL from Settings → Scrobble → Webhook.

You can rotate (regenerate) these tokens from Settings → Scrobble → Watcher.

Prerequisites

  • Trakt connected in Authentication

  • Webhook mode enabled in Settings → Scrobble → Webhook

For Jellyfin/Emby, configure user filtering in the server webhook settings.

Quick setup

1

Enable webhook mode in CrossWatch

  1. Open Settings → Scrobble → Webhook.

  2. Enable Webhook.

  3. Copy the endpoint URL(s) shown in the UI.

2

Configure your server

Pick your server below and paste the matching URL.

Plex webhook

  • Endpoint: http://<host>:8787/webhook/plextrakt?uniqueID

  • Configure in Plex: Plex Account → Webhooks

  • Plex Pass is required.

Jellyfin webhook

Requires the Jellyfin Webhook plugin.

  • Endpoint: http://<host>:8787/webhook/jellyfintrakt?uniqueID

  • Suggested events:

    • Playback Start

    • Playback Stop

    • Playback Progress (optional)

  • Set request header: Content-Type: application/json

Emby webhook

Requires the Emby Webhook plugin and Emby Premiere.

  • Endpoint: http://<host>:8787/webhook/embytrakt?uniqueID

  • Suggested events: Start, Pause, Unpause, Stop

  • Set request content type: application/json

Advanced

UI fields and behavior notes

Plex-only filters:

  • Username whitelist

  • Server UUID whitelist / blacklist

  • Legacy Server UUID single-value filter

Plex-only option:

  • Enable ratings (movies/shows/seasons/episodes)

Plex server-level scrobble libraries still apply here:

  • empty library list = all libraries

  • selected libraries = only those libraries generate scrobbles

If a Plex event does not resolve to a usable library and a scrobble whitelist is set, CrossWatch skips it.

Behavior controls:

  • pause debounce

  • suppress start near end

  • regress clamp

  • stop/pause thresholds

  • autoplay suppression

  • optional session progress probing

Plex webhook filters are global for the Plex webhook endpoint.

Server UUID blacklist wins over whitelist.

If you set a webhook secret, CrossWatch also validates the Plex webhook signature.

ID handling (legacy)
  • Plex: prefers GUIDs (IMDb/TMDb/TVDb). Can fall back to title+year.

  • Jellyfin/Emby: prefers ProviderIds. Falls back to title+year if needed.

Summary

Webhooks scrobble playback to Trakt.

They use server-side events instead of Watcher routes.

Use them when webhook delivery fits your setup better.

Newer setups can run Webhooks and Watcher together.

Split them by Plex server UUID if you do.

Last updated

Was this helpful?