Tautulli β Nextcloud Talk (Webhook Notifications)
This guide explains how to connect Tautulli with Nextcloud Talk so that every time new content is added to Plex, a message is automatically sent to a Talk conversation.
Result
After adding a movie or episode, you will see a message like this in Talk:
π¬ PLEX NEW CONTENT
π¬ Oppenheimer
π movie
π§Ύ The story of J. Robert Oppenheimer...
β 8.5
π
2026-03-22
How it works
Plex β Tautulli β Webhook β Nextcloud Talk API β Talk conversation
-
Tautulli detects an event (e.g. Recently Added)
-
It sends an HTTP request (Webhook)
-
Nextcloud Talk API receives the message and posts it into the chat
In simple terms:
Tautulli acts as a bridge between Plex activity and your chat notifications.
Requirements
Before starting, make sure you have:
-
A working Nextcloud instance with Talk app installed
-
Tautulli installed and connected to Plex
-
Access to your Nextcloud account
-
An existing Talk conversation
Create or choose a Talk conversation
-
Open Nextcloud
-
Launch the Talk app
You can either:
-
use an existing conversation (recommended if you already have a channel for notifications), or
-
create a new one (e.g.
plex-notifications)
This conversation will act as your notification channel.
Get the Conversation Token
Open the conversation and check the URL:
https://cloud.example.com/call/abcd1234
The token is:
abcd1234
This token uniquely identifies the chat room and is required for the API.
Create an App Password in Nextcloud
-
Go to Settings β Security
-
Find App passwords
-
Create a new password (e.g.
tautulli-talk)
Save:
-
your username
-
the generated app password
This is used instead of your real password and is safer for API usage.
Create a Webhook agent in Tautulli
In Tautulli:
Settings β Notification Agents β Add New β Webhook
Basic configuration
Name:
Nextcloud Talk
Trigger:
Recently Added
This ensures the notification is triggered whenever new content appears in Plex.
Webhook configuration
URL
https://cloud.example.com/ocs/v2.php/apps/spreed/api/v1/chat/abcd1234
This is the Nextcloud Talk API endpoint for sending messages.
Method
POST
We are sending data to the server.
JSON Headers (authentication explained)
Tautulli needs to send three important things:
-
Identify the request as a Nextcloud API call
-
Specify the data format (JSON)
-
Authenticate (log in) to Nextcloud
All of this is done using JSON Headers.
Required JSON Headers
{
"OCS-APIRequest": "true",
"Content-Type": "application/json",
"Authorization": "Basic BASE64_STRING"
}
Creating the Authorization header
Nextcloud API uses this format:
Authorization: Basic BASE64(username:password)
Since Tautulli does not have fields for username/password, you must encode them manually.
Step-by-step
Run this command:
echo -n "USERNAME:APP_PASSWORD" | base64
Example
echo -n "vawaver:abcd-1234-xyz" | base64
Output:
dmF3YXZlcjphYmNkLTEyMzQteHl6
Use it in Tautulli
{
"OCS-APIRequest": "true",
"Content-Type": "application/json",
"Authorization": "Basic dmF3YXZlcjphYmNkLTEyMzQteHl6"
}
Important notes
-
Must be exactly:
Basic + space + Base64 string -
Do NOT use raw
username:password -
Base64 is not encryption, just encoding
Body (message template)
Use this stable template:
{
"message": "π¬ PLEX NEW CONTENT\n\nπ¬ {title}\nπ {media_type}\n\nπ§Ύ {summary}\n\nβ {audience_rating}\nπ
{added_date}"
}
Variables used
| Variable | Description |
|---|---|
{title} |
Title of the movie or episode |
{media_type} |
movie / episode / season |
{summary} |
Description |
{audience_rating} |
Rating (IMDB / TMDB) |
{added_date} |
Date added |
Important notes
JSON Headers
-
Must be valid JSON
-
Not plain text
Authorization
-
Tautulli does not support login fields
-
You must use the
Authorizationheader
Message formatting
-
Nextcloud Talk does NOT support HTML
-
Use:
-
\nfor new lines -
plain text only
-
Testing
-
The test button may not include real data
-
Best practice:
β add real content to Plex
Common issues
Invalid Webhook json header data
β headers are not valid JSON
Message not delivered
β check:
-
Authorization
-
token
-
URL
Date shows as number
β you used {added_at} instead of {added_date}
Final result
-
Automatic Plex notifications
-
Clean output in Nextcloud Talk
-
No additional tools required (no n8n, no scripts)
Possible improvements
-
Separate movies and TV shows
-
Add Plex link
{plex_url} -
Add emojis based on content type
Done ![]()