Skip to main content

Clean up watched Jellyfin media and completed torrents with Transmission

Workflow preview

Workflow preview
100%
Clean up watched Jellyfin media and completed torrents with Transmission preview
Open on n8n.io

1. Workflow Overview

Quick Overview This scheduled workflow cleans up watched media in Jellyfin and removes completed torrents from Transmission by calling both APIs, deleting played items in Jellyfin, refreshing the J...

Best for

  • File Management automation workflows
  • intermediate n8n builders looking for reusable templates

Tools used

n8n-nodes-base.scheduletrigger, n8n-nodes-base.set, n8n-nodes-base.httprequest, n8n-nodes-base.splitout, n8n-nodes-base.if, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by David.

Original n8n.io source

1.1 Workflow description

Title
Clean up watched Jellyfin media and completed torrents with Transmission
Workflow name
Clean up watched Jellyfin media and completed torrents with Transmission

Quick Overview

This scheduled workflow cleans up watched media in Jellyfin and removes completed torrents from Transmission by calling both APIs, deleting played items in Jellyfin, refreshing the Jellyfin library, and deleting torrents (including local data) once they reach the completed status.

How it works

  1. Runs daily on a schedule at the configured hour.
  2. Sets the Jellyfin base URL, Jellyfin user ID, and Transmission base URL used for subsequent API calls.
  3. Fetches played Movies and Episodes from Jellyfin for the configured user, deletes each returned item, and triggers a Jellyfin library refresh.
  4. Calls the Transmission RPC endpoint to retrieve the required X-Transmission-Session-Id, then re-requests the torrent list using that session header.
  5. Splits the Transmission response into individual torrents, filters to those with status 6 (completed), and removes each matching torrent while also deleting its local data.

Setup

  1. Add Jellyfin HTTP Header Auth credentials (for example, an API key header) and fill in the Jellyfin server URL and target Jellyfin user ID in the Variables step.
  2. Add Transmission Bearer Auth credentials and set your Transmission base URL in the Variables step.
  3. Confirm your Transmission instance allows RPC access at /transmission/rpc and that your Jellyfin server exposes the /Users/{userId}/Items, /Items/{id}, and /Library/Refresh endpoints for the provided credentials.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 2 - Variables

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 3 - Jellyfin: get items

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 4 - Jellyfin: delete item

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 5 - Jellyfin: refresh library

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 6 - Get session id

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 7 - Extract session id

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 8 - Check all torrents

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 9 - Split Out

Type / Role
n8n-nodes-base.splitOut - splitOut
Config choices
Version 1

Block 10 - If torrent transferred to Jellyfin

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 11 - Delete torrent

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 12 - Overview

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Section - Jellyfin

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Section - Transmission

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Clean up watched Jellyfin media and completed torrents with Transmission
Complexity intermediate
Nodes 14
Categories File Management
Author David
Published 08 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16184/16184.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Clean up watched Jellyfin media and completed torrents with Transmission do?

Quick Overview This scheduled workflow cleans up watched media in Jellyfin and removes completed torrents from Transmission by calling both APIs, deleting played items in Jellyfin, refreshing the J...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your File Management use case.