n8n Workflow

Plex Automatic Qbittorent Throttler

This n8n workflow automates tasks and integrates with various services. Plex Automatic Qbittorent Throttler - ready to import and run in your n8n instance.

n8n workflow.json

About This Script

This n8n workflow automates tasks and integrates with various services. Plex Automatic Qbittorent Throttler - ready to import and run in your n8n instance.
Features:
  • Receives webhook events
  • Conditional logic and branching
  • Makes HTTP requests to external APIs
Source Code
{
    "nodes": [
        {
            "name": "Webhook",
            "type": "n8n-nodes-base.webhook",
            "position": [
                60,
                440
            ],
            "webhookId": "72a05ff6-05f5-4e7a-9eee-54a350bb6a47",
            "parameters": {
                "path": "72a05ff6-05f5-4e7a-9eee-54a350bb6a47",
                "options": [],
                "httpMethod": "POST"
            },
            "typeVersion": 1,
            "id": "b3a00928-9176-41e2-8580-f99f82b9ad46"
        },
        {
            "name": "Switch",
            "type": "n8n-nodes-base.switch",
            "position": [
                640,
                580
            ],
            "parameters": {
                "rules": {
                    "rules": [
                        {
                            "value2": "media.resume",
                            "operation": "contains"
                        },
                        {
                            "output": 1,
                            "value2": "media.play",
                            "operation": "contains"
                        },
                        {
                            "output": 2,
                            "value2": "media.pause",
                            "operation": "contains"
                        },
                        {
                            "output": 3,
                            "value2": "media.stop",
                            "operation": "contains"
                        }
                    ]
                },
                "value1": "={{$node[\"Webhook\"].json[\"body\"][\"payload\"]}}",
                "dataType": "string"
            },
            "typeVersion": 1,
            "id": "7f7708de-ce17-4b36-b56b-f0b7b80e8e0b"
        },
        {
            "name": "Resume",
            "type": "n8n-nodes-base.noOp",
            "position": [
                860,
                280
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "30177d91-c47b-458d-92e0-e00fb71dbcca"
        },
        {
            "name": "Check if Local",
            "type": "n8n-nodes-base.if",
            "position": [
                460,
                440
            ],
            "parameters": {
                "conditions": {
                    "string": [
                        {
                            "value1": "={{$json[\"body\"][\"payload\"]}}",
                            "value2": "\"local\":false",
                            "operation": "contains"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "be0a8302-1202-4d88-8ec4-90aa9647a7fe"
        },
        {
            "name": "Play",
            "type": "n8n-nodes-base.noOp",
            "position": [
                860,
                440
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "1dc44a97-958d-479c-bff2-f1ceab131051"
        },
        {
            "name": "Don't Do Anything",
            "type": "n8n-nodes-base.noOp",
            "position": [
                660,
                220
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "b41e21c4-4d0f-48d2-a6ae-07eecd8d5c1c"
        },
        {
            "name": "Pause",
            "type": "n8n-nodes-base.noOp",
            "position": [
                860,
                680
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "980d9adf-c378-4786-bb73-df4039f1900e"
        },
        {
            "name": "Stop",
            "type": "n8n-nodes-base.noOp",
            "position": [
                860,
                840
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "fdb665d7-2634-458b-8a8d-db03c666856b"
        },
        {
            "name": "Get QB Cookie",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1260,
                360
            ],
            "parameters": {
                "url": "=http://{{$node[\"Global Variables\"].json[\"qbittorent\"][\"internalIP\"]}}:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}/api/v2/auth/login",
                "options": {
                    "fullResponse": true
                },
                "responseFormat": "string",
                "queryParametersUi": {
                    "parameter": [
                        {
                            "name": "username",
                            "value": "={{$node[\"Global Variables\"].json[\"qbittorent\"][\"username\"]}}"
                        },
                        {
                            "name": "password",
                            "value": "={{$node[\"Global Variables\"].json[\"qbittorent\"][\"password\"]}}"
                        }
                    ]
                },
                "headerParametersUi": {
                    "parameter": [
                        {
                            "name": "Referer",
                            "value": "=http://localhost:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "4a0bcb54-0b4c-4c4d-a10a-7db1d1a4f755"
        },
        {
            "name": "Get QB Cookie1",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1260,
                760
            ],
            "parameters": {
                "url": "=http://{{$node[\"Global Variables\"].json[\"qbittorent\"][\"internalIP\"]}}:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}/api/v2/auth/login",
                "options": {
                    "fullResponse": true
                },
                "responseFormat": "string",
                "queryParametersUi": {
                    "parameter": [
                        {
                            "name": "username",
                            "value": "={{$node[\"Global Variables\"].json[\"qbittorent\"][\"username\"]}}"
                        },
                        {
                            "name": "password",
                            "value": "={{$node[\"Global Variables\"].json[\"qbittorent\"][\"password\"]}}"
                        }
                    ]
                },
                "headerParametersUi": {
                    "parameter": [
                        {
                            "name": "Referer",
                            "value": "=http://localhost:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "afbe9b28-ac25-43d8-b89a-2c34310bf927"
        },
        {
            "name": "Global Variables",
            "type": "n8n-nodes-base.set",
            "position": [
                280,
                440
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "qbittorent.username",
                            "value": "yourusername"
                        },
                        {
                            "name": "qbittorent.password",
                            "value": "yourpassword"
                        },
                        {
                            "name": "qbittorent.internalIP",
                            "value": "192.168.1.218"
                        },
                        {
                            "name": "qbittorent.port",
                            "value": "2020"
                        }
                    ]
                },
                "options": []
            },
            "typeVersion": 1,
            "id": "66e713d0-99cc-497f-8b95-bdfd1919c590"
        },
        {
            "name": "Check Throttle State",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1460,
                360
            ],
            "parameters": {
                "url": "=http://{{$node[\"Global Variables\"].json[\"qbittorent\"][\"internalIP\"]}}:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}/api/v2/transfer/speedLimitsMode",
                "options": {
                    "fullResponse": true
                },
                "requestMethod": "POST",
                "queryParametersUi": {
                    "parameter": [
                        {
                            "name": "Cookie",
                            "value": "={{$node[\"Get QB Cookie\"].json[\"headers\"][\"set-cookie\"][0].match(/[^;]*/).toString()}}"
                        }
                    ]
                },
                "headerParametersUi": {
                    "parameter": [
                        {
                            "name": "Referer",
                            "value": "=http://localhost:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}"
                        },
                        {
                            "name": "Cookie",
                            "value": "={{$node[\"Get QB Cookie\"].json[\"headers\"][\"set-cookie\"][0].match(/[^;]*/).toString()}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "aa135e14-2dbe-450f-8a9c-9a0b77f1f7b0"
        },
        {
            "name": "Check if Throttled",
            "type": "n8n-nodes-base.if",
            "position": [
                1680,
                360
            ],
            "parameters": {
                "conditions": {
                    "number": [
                        {
                            "value1": "={{$json[\"body\"]}}",
                            "value2": 1,
                            "operation": "equal"
                        }
                    ],
                    "string": []
                }
            },
            "typeVersion": 1,
            "id": "64a2d6f8-7417-417d-9897-d98ff15e9a89"
        },
        {
            "name": "Do Nothing",
            "type": "n8n-nodes-base.noOp",
            "position": [
                1900,
                260
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "a7c048fd-83bf-4657-bb2f-ad5344a28cfd"
        },
        {
            "name": "Check Throttle State2",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1460,
                760
            ],
            "parameters": {
                "url": "=http://{{$node[\"Global Variables\"].json[\"qbittorent\"][\"internalIP\"]}}:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}/api/v2/transfer/speedLimitsMode",
                "options": {
                    "fullResponse": true
                },
                "requestMethod": "POST",
                "queryParametersUi": {
                    "parameter": [
                        {
                            "name": "Cookie",
                            "value": "={{$node[\"Get QB Cookie1\"].json[\"headers\"][\"set-cookie\"][0].match(/[^;]*/).toString()}}"
                        }
                    ]
                },
                "headerParametersUi": {
                    "parameter": [
                        {
                            "name": "Referer",
                            "value": "=http://localhost:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}"
                        },
                        {
                            "name": "Cookie",
                            "value": "={{$node[\"Get QB Cookie1\"].json[\"headers\"][\"set-cookie\"][0].match(/[^;]*/).toString()}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "919ab77b-4ead-4515-86ff-3e1931abfe06"
        },
        {
            "name": "Check if Throttled1",
            "type": "n8n-nodes-base.if",
            "position": [
                1660,
                760
            ],
            "parameters": {
                "conditions": {
                    "number": [
                        {
                            "value1": "={{$json[\"body\"]}}",
                            "value2": 1,
                            "operation": "equal"
                        }
                    ],
                    "string": []
                }
            },
            "typeVersion": 1,
            "id": "d6703c79-71a7-4a23-87d7-7100f3587415"
        },
        {
            "name": "Do Nothing1",
            "type": "n8n-nodes-base.noOp",
            "position": [
                1900,
                860
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "cb313989-3a4e-44a1-be07-fdd952af7b4c"
        },
        {
            "name": "Throttle Connection",
            "type": "n8n-nodes-base.noOp",
            "position": [
                1060,
                360
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "f362c6c8-aeb2-4b95-96fe-fabc98714e0e"
        },
        {
            "name": "Resume Downloads",
            "type": "n8n-nodes-base.noOp",
            "position": [
                1060,
                760
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "aa4eaf04-b10c-46e3-9f9e-2b3540835b4b"
        },
        {
            "name": "Disable Throttle",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1900,
                660
            ],
            "parameters": {
                "url": "=http://{{$node[\"Global Variables\"].json[\"qbittorent\"][\"internalIP\"]}}:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}/api/v2/transfer/toggleSpeedLimitsMode",
                "options": [],
                "requestMethod": "POST",
                "queryParametersUi": {
                    "parameter": [
                        {
                            "name": "Cookie",
                            "value": "={{$node[\"Get QB Cookie1\"].json[\"headers\"][\"set-cookie\"][0].match(/[^;]*/).toString()}}"
                        }
                    ]
                },
                "headerParametersUi": {
                    "parameter": [
                        {
                            "name": "Referer",
                            "value": "=http://localhost:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}"
                        },
                        {
                            "name": "Cookie",
                            "value": "={{$node[\"Get QB Cookie1\"].json[\"headers\"][\"set-cookie\"][0].match(/[^;]*/).toString()}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "317e01c6-ae52-4314-a548-5b7d94aae71f"
        },
        {
            "name": "Enable Throttle",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1900,
                440
            ],
            "parameters": {
                "url": "=http://{{$node[\"Global Variables\"].json[\"qbittorent\"][\"internalIP\"]}}:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}/api/v2/transfer/toggleSpeedLimitsMode",
                "options": [],
                "requestMethod": "POST",
                "queryParametersUi": {
                    "parameter": [
                        {
                            "name": "Cookie",
                            "value": "={{$node[\"Get QB Cookie\"].json[\"headers\"][\"set-cookie\"][0].match(/[^;]*/).toString()}}"
                        }
                    ]
                },
                "headerParametersUi": {
                    "parameter": [
                        {
                            "name": "Referer",
                            "value": "=http://localhost:{{$node[\"Global Variables\"].json[\"qbittorent\"][\"port\"]}}"
                        },
                        {
                            "name": "Cookie",
                            "value": "={{$node[\"Get QB Cookie\"].json[\"headers\"][\"set-cookie\"][0].match(/[^;]*/).toString()}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "e09438c1-8f0a-459c-ae8b-71128c009b28"
        }
    ],
    "connections": {
        "Play": {
            "main": [
                [
                    {
                        "node": "Throttle Connection",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Stop": {
            "main": [
                [
                    {
                        "node": "Resume Downloads",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Pause": {
            "main": [
                [
                    {
                        "node": "Resume Downloads",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Resume": {
            "main": [
                [
                    {
                        "node": "Throttle Connection",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Switch": {
            "main": [
                [
                    {
                        "node": "Resume",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Play",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Pause",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Stop",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Webhook": {
            "main": [
                [
                    {
                        "node": "Global Variables",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get QB Cookie": {
            "main": [
                [
                    {
                        "node": "Check Throttle State",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Check if Local": {
            "main": [
                [
                    {
                        "node": "Don't Do Anything",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Switch",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get QB Cookie1": {
            "main": [
                [
                    {
                        "node": "Check Throttle State2",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Global Variables": {
            "main": [
                [
                    {
                        "node": "Check if Local",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Resume Downloads": {
            "main": [
                [
                    {
                        "node": "Get QB Cookie1",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Check if Throttled": {
            "main": [
                [
                    {
                        "node": "Do Nothing",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Enable Throttle",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Check if Throttled1": {
            "main": [
                [
                    {
                        "node": "Disable Throttle",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Do Nothing1",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Throttle Connection": {
            "main": [
                [
                    {
                        "node": "Get QB Cookie",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Check Throttle State": {
            "main": [
                [
                    {
                        "node": "Check if Throttled",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Check Throttle State2": {
            "main": [
                [
                    {
                        "node": "Check if Throttled1",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    },
    "n8n_version": "1.5.0"
}
Requirements
n8n instance, API credentials for connected services
Tags
#n8n #automation #workflow
Quick Actions
More in n8n Workflows