Automations
Experimental
- Automations reuse the existing flow and job report systems. Select a flow and it will be run on the target nodes according to the cron schedule. An automation job will run for each library and each node combination. For example, 2 libraries and 3 nodes will trigger 6 automation jobs.
- A temporary dummy file is created in a
.tdarrfolder inside your library and used as the input for the flow. - The server has a 5-minute timeout for each node to acknowledge and start the automation. Once the worker is running on the node, it can take as long as needed to complete.
- Automation jobs are tracked separately and do not count towards your library transcode statistics.
- The automation
.txtfiles are automatically cleaned up from the Success/Error queues but job reports for them are kept.
Settings
| Setting | Description | API Trigger Override |
|---|---|---|
| Name | A label for your automation. | No |
| Flow | The flow to run when the automation triggers. | No |
| Libraries | Which libraries this automation applies to. A job is created per library/node combination. | libraryIds |
| Target Nodes | Which nodes should run the automation. Select allNodes or pick specific nodes. | targetNodeNames, targetNodeIds |
| Cron Schedule | A cron expression controlling how often the automation runs (e.g. */5 * * * * for every 5 minutes). Use the built-in helper or crontab.guru to build expressions. Enable/disable the schedule with the toggle. | No |
| Run on Startup | When enabled, the automation will run once when the server starts. | No |
| Payload | A JSON object passed to the flow as additional data. Useful for parameterising flows. | payload |
| Execute Immediately | When enabled, the automation bypasses the normal queue and runs immediately on the target node. | executeImmediately |
| Bypass Worker Limits | When enabled (requires Execute Immediately), the automation ignores the node's worker limit and starts regardless. | bypassWorkerLimits |
| Bypass Staged File Limit | When enabled (requires Execute Immediately), the automation ignores the staged file limit. | bypassStagedFileLimit |
Triggering via API
You can trigger any automation via the API:
curl -X POST http://<server>:<port>/api/v2/run-automation \
-H "Content-Type: application/json" \
-H "x-api-key: <your-api-key>" \
-d '{"data": {"configId": "<automation-id>", "payload": {}}}'
- Replace
<server>:<port>with your Tdarr server address. - Replace
<your-api-key>with your API key. - Replace
<automation-id>with the automation's ID (visible in the settings panel). - You can pass custom data via the
payloadfield.