turnstone/docs/tautulli-setup.md
pyr0ball 4fbac2554e feat: Tautulli webhook ingest endpoint — plex events -> log_entries
POST /turnstone/api/ingest/tautulli accepts Tautulli notification agent
payloads and stores them as log_entries under source 'tautulli'. Severity
maps error->CRITICAL, buffer->WARN, all others->None. Optional bearer token
auth via X-Tautulli-Token header + tautulli_token pref. FTS index rebuilt
as a background task after each write. 28 new tests, all passing.
2026-05-13 18:41:03 -07:00

1.5 KiB

Tautulli Webhook Setup

Tautulli is a Plex Media Server (PMS) monitoring application. This guide shows how to configure Tautulli to send playback events to Turnstone.

Triggers to enable

In your notification agent, enable these triggers:

  • Playback Start
  • Playback Stop
  • Playback Pause
  • Playback Resume
  • Playback Error
  • Playback Buffering

JSON body template

Paste this into the JSON Data field of the Tautulli Custom Script / Webhook notification agent:

{
  "action": "{action}",
  "timestamp": "{timestamp}",
  "user": "{user}",
  "player": "{player}",
  "media_type": "{media_type}",
  "title": "{title}",
  "grandparent_title": "{grandparent_title}",
  "quality": "{quality}",
  "video_decision": "{video_decision}",
  "audio_decision": "{audio_decision}",
  "error_message": "{error_message}",
  "session_key": "{session_key}"
}

Webhook URL

http://<turnstone-host>:8534/turnstone/api/ingest/tautulli

Replace <turnstone-host> with the hostname or IP of the machine running Turnstone. If Turnstone is behind a reverse proxy, use the proxy URL instead.

Optional token authentication

If you set tautulli_token in Turnstone settings, every webhook request must include a matching header:

X-Tautulli-Token: <your-token>

Add this header in the Tautulli notification agent's Headers section. Requests with a missing or wrong token are rejected with HTTP 403.

Searching events

All events are stored under source tautulli and are immediately searchable in Turnstone after each webhook is received.