Jellyfin/Plex/Trakt integration (webhook / scrobble)
Automatically mark an episode or movie as watched from a Jellyfin/Plex webhook or a Trakt scrobble, instead of manual tracking. Strong potential as a self-hosted "TV Time replacement".
Why matching is cheap
MediaExternalId is already multi-source (TMDB / TVDB / IMDB), and the Jellyfin Webhook plugin sends Provider_tmdb / Provider_tvdb: no fuzzy search needed. The integration writes an EpisodeWatch, and everything downstream follows (XP, activity feed, stats).
Prerequisite: a write scope for API keys
Today an API key only has <resource>:read scopes, and the write column of the access matrix is greyed out. This needs:
- a
library:writescope at minimum, enabled in the matrix (ApiKeyCreateModal.svelte); @AllowApiKeyextended to it, andPOST /api/v1/…routes opened.
The Jellyfin Webhook plugin can send an Authorization header; Plex webhooks cannot, so Plex needs either a key in the URL or a dedicated endpoint.
This is what would make Loomkeep a real TV Time replacement for homelabs.
Relevant code: MediaExternalId, library/library.service.ts, EpisodeWatch, api-keys/api-key-access.decorator.ts.
0 Comments
Sign in to comment
No comments yet. Be the first to share your thoughts!
