为 Radarr、Sonarr、Bazarr 等提供自定义 Discord 通知
高级
这是一个Other领域的自动化工作流,包含 28 个节点。主要使用 If, Set, Code, Filter, Switch 等节点。 为 Radarr、Sonarr、Bazarr 等提供自定义 Discord 通知
前置要求
- •HTTP Webhook 端点(n8n 会自动生成)
- •可能需要目标 API 的认证凭证
分类
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "DuPvLu9nGwryNe1H",
"meta": {
"instanceId": "0474a64210dbf4997d3d0ef45d7a3ada37c6ee1bf9febb43754c2af71828b968",
"templateCredsSetupCompleted": true
},
"name": "Radarr Notifications",
"tags": [],
"nodes": [
{
"id": "9c0dffb3-46b5-4408-a4e7-31ffeacc8f15",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
240,
60
],
"webhookId": "2db8a783-ffee-484f-b36d-ea92bc6d3b6b",
"parameters": {
"path": "radarr",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "2d5536bc-86cf-434b-9a68-9cd00e70cccf",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
460,
-40
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Bazarr",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "253ec7a1-89c0-4308-818a-aa82ce02ee4b",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.body.title }}",
"rightValue": "Bazarr"
}
]
},
"renameOutput": true
},
{
"outputKey": "Radarr",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ce9a2e5b-62b3-4e27-85d0-4f92ee85f49f",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.instanceName }}",
"rightValue": "Radarr"
}
]
},
"renameOutput": true
},
{
"outputKey": "Sonarr",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "52b206b1-39c0-43ae-8316-c27e754b8246",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.instanceName }}",
"rightValue": "Sonarr"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "5b9bc9ee-573b-47d5-9459-25040f4a8b76",
"name": "Notify Discord",
"type": "n8n-nodes-base.httpRequest",
"position": [
2440,
60
],
"parameters": {
"url": "https://discord.com/api/webhooks/...",
"method": "POST",
"options": {},
"jsonBody": "={{ $json.body }}",
"sendBody": true,
"specifyBody": "json"
},
"retryOnFail": true,
"typeVersion": 4.2
},
{
"id": "6daba0b8-2e7b-4156-bc51-748e84f2f3d7",
"name": "Set subtitle properties",
"type": "n8n-nodes-base.set",
"position": [
1340,
-240
],
"parameters": {
"include": "selected",
"options": {},
"assignments": {
"assignments": [
{
"id": "74b33e39-12e3-4cbf-a8a2-5701a5298a74",
"name": "title",
"type": "string",
"value": "={{ $json.body.message.replace(/\\((\\d{4})\\) \\(\\d{4}\\)/, '($1)').match(/^(.+? \\(\\d{4}\\))(?: - (S\\d{2}E\\d{2}))?/)[0].trim()\n }}"
},
{
"id": "6c294ae1-7ab6-43aa-b255-cf63e91c2884",
"name": "language",
"type": "string",
"value": "={{ $json.body.message.match(/: ([A-Za-z ]+) subtitles/)[1].trim() }}"
},
{
"id": "a4890d25-d3cd-4cc2-9d27-ca6a6acc87c7",
"name": "provider",
"type": "string",
"value": "={{ $json.body.message.match(/from ([a-zA-Z0-9]+) with/)[1].trim() }}"
},
{
"id": "9b79ec44-d32b-48c1-9439-56018deb3fe7",
"name": "score",
"type": "string",
"value": "={{ $json.body.message.match(/score of ([\\d.]+%)/)[1].trim() }}"
},
{
"id": "32b133db-fdd8-418c-be68-25566bc09d3c",
"name": "=description",
"type": "string",
"value": "={{ $json.body.message.match(/ : .+ (subtitles .+) from/)[1].trim() }}"
},
{
"id": "ed0b2761-f2ab-4ff2-adf2-c9157d8dd7e3",
"name": "image",
"type": "string",
"value": ""
}
]
},
"includeFields": "color,avatar,username",
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "4640e2d4-0b30-44e0-ab4e-0ce8422bfea5",
"name": "Set subtitle fields",
"type": "n8n-nodes-base.code",
"position": [
1560,
-240
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "$input.item.json.fields = [\n {\n name: \"Language\",\n value: $json.language,\n inline: true,\n },\n {\n name: \"Score\",\n value: $json.score,\n inline: true,\n },\n];\n\nreturn $input.item;"
},
"typeVersion": 2
},
{
"id": "eddbc733-db49-4989-b15d-5db1a3f65cb5",
"name": "Set Radarr properties",
"type": "n8n-nodes-base.set",
"position": [
1120,
-40
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d0f12d48-229a-4ac7-a1a8-2bdca6fedcfe",
"name": "color",
"type": "number",
"value": 16761392
},
{
"id": "79103f6e-82bd-4d8c-980f-f8efe3b49523",
"name": "avatar",
"type": "string",
"value": "https://raw.githubusercontent.com/Radarr/Radarr/refs/heads/develop/Logo/64.png"
},
{
"id": "88744f9f-afd8-4d20-9c5a-c788ffd9e725",
"name": "username",
"type": "string",
"value": "Radarr"
},
{
"id": "a51e865e-cc57-406e-8173-a2b359101794",
"name": "body",
"type": "object",
"value": "={{ $json.body }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c04f35b2-9811-4c56-9600-781c2e8ba275",
"name": "Set Bazarr properties",
"type": "n8n-nodes-base.set",
"position": [
1120,
-240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d0f12d48-229a-4ac7-a1a8-2bdca6fedcfe",
"name": "color",
"type": "number",
"value": 16777215
},
{
"id": "79103f6e-82bd-4d8c-980f-f8efe3b49523",
"name": "avatar",
"type": "string",
"value": "https://raw.githubusercontent.com/morpheus65535/bazarr/refs/heads/master/frontend/public/images/logo64.png"
},
{
"id": "88744f9f-afd8-4d20-9c5a-c788ffd9e725",
"name": "username",
"type": "string",
"value": "Bazarr"
},
{
"id": "7b5b586d-b9f6-4f6e-afd9-c8a5ec68d19a",
"name": "body",
"type": "object",
"value": "={{ $json.body }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "3ab117bc-a6bc-429a-b26b-932799423767",
"name": "Set Sonarr properties",
"type": "n8n-nodes-base.set",
"position": [
680,
235
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d0f12d48-229a-4ac7-a1a8-2bdca6fedcfe",
"name": "color",
"type": "number",
"value": 52479
},
{
"id": "79103f6e-82bd-4d8c-980f-f8efe3b49523",
"name": "avatar",
"type": "string",
"value": "https://raw.githubusercontent.com/Sonarr/Sonarr/refs/heads/main/Logo/64.png"
},
{
"id": "88744f9f-afd8-4d20-9c5a-c788ffd9e725",
"name": "username",
"type": "string",
"value": "Sonarr"
},
{
"id": "cf9ecba3-39ab-42b5-8669-cfee2ceb64b7",
"name": "body",
"type": "object",
"value": "={{ $json.body }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5fbd3d74-d325-4f39-8c01-83a3f850acd7",
"name": "Set movie properties",
"type": "n8n-nodes-base.set",
"position": [
1340,
-40
],
"parameters": {
"include": "selected",
"options": {},
"assignments": {
"assignments": [
{
"id": "a5fdeaf9-2e12-4906-8145-3ca90421563f",
"name": "title",
"type": "string",
"value": "={{ $json.body.movie.title }} ({{ $json.body.movie.year ? $json.body.movie.year : $json.body.remoteMovie.year }})"
},
{
"id": "a032bd92-5343-417e-94ed-cf677f18c3bb",
"name": "description",
"type": "string",
"value": "={{ $json.body.eventType }}{{ $json.body.deleteReason ? $json.body.deleteReason : \"\" }}"
},
{
"id": "d05f9e95-7fa3-48c2-93a2-10b7415362eb",
"name": "quality",
"type": "string",
"value": "={{ ($json.body.movieFile ? $json.body.movieFile.quality : $json.body.downloadInfo.quality) }}"
},
{
"id": "8a9b51f7-3d67-43d6-9836-f78be6d48fa4",
"name": "size",
"type": "string",
"value": "={{ (($json.body.movieFile ? $json.body.movieFile.size : $json.body.release.size) / (1024 * 1024 * 1024)).toFixed(1) }} GB"
},
{
"id": "824ec3a3-b396-4cbf-bbd9-d56c501b3a05",
"name": "release",
"type": "string",
"value": "={{ $json.body.release ? $json.body.release.releaseTitle : $json.body.movieFile.sceneName }}"
},
{
"id": "2039dc49-1fe0-4313-955c-6b2b546fc4ff",
"name": "image",
"type": "string",
"value": "={{ $json.body.movie.images.find(item => item.coverType === 'poster').remoteUrl }}"
},
{
"id": "1d322b7a-c635-409a-bc7c-89c693539db0",
"name": "subtitles",
"type": "string",
"value": "={{ $json.body.movieFile.mediaInfo.subtitles.join('/') }}"
}
]
},
"includeFields": "color,avatar,username",
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "d33e55bf-873d-47a7-9b09-ace2994f1e01",
"name": "Set series properties",
"type": "n8n-nodes-base.set",
"position": [
1340,
235
],
"parameters": {
"include": "selected",
"options": {},
"assignments": {
"assignments": [
{
"id": "a5fdeaf9-2e12-4906-8145-3ca90421563f",
"name": "title",
"type": "string",
"value": "={{ $json.body.series.title }} - S{{$json.body.episodes[0].seasonNumber.toString().padStart(2, '0') }}E{{ $json.body.episodes[0].episodeNumber.toString().padStart(2, '0')}}"
},
{
"id": "a032bd92-5343-417e-94ed-cf677f18c3bb",
"name": "action",
"type": "string",
"value": "={{ $json.body.eventType }}"
},
{
"id": "d05f9e95-7fa3-48c2-93a2-10b7415362eb",
"name": "quality",
"type": "string",
"value": "={{ $json.body.episodeFile ? $json.body.episodeFile.quality : $json.body.release.quality }}"
},
{
"id": "8a9b51f7-3d67-43d6-9836-f78be6d48fa4",
"name": "size",
"type": "string",
"value": "={{ (($json.body.episodeFile ? $json.body.episodeFile.size : $json.body.release.size) / (1024 * 1024 * 1024)).toFixed(1) }} GB"
},
{
"id": "824ec3a3-b396-4cbf-bbd9-d56c501b3a05",
"name": "release",
"type": "string",
"value": "={{ $json.body.episodeFile ? $json.body.episodeFile.sceneName : $json.body.release.releaseTitle }}"
},
{
"id": "2039dc49-1fe0-4313-955c-6b2b546fc4ff",
"name": "image",
"type": "string",
"value": "={{ $json.body.series.images.find(item => item.coverType === 'poster').remoteUrl }}"
},
{
"id": "b9e2aaac-f53e-4c97-a51a-c7ec49a581d2",
"name": "description",
"type": "string",
"value": "={{ $json.body.eventType }}{{ $json.body.deleteReason ? $json.body.deleteReason : \"\" }}"
},
{
"id": "f42fdba2-dea4-4d7b-99cc-838909a2930c",
"name": "subtitles",
"type": "string",
"value": "={{ $json.body.episodeFile && $json.body.episodeFile.mediaInfo && $json.body.episodeFile.mediaInfo.subtitles ? $json.body.episodeFile.mediaInfo.subtitles.join('/') : 'None' }}"
}
]
},
"includeFields": "color,avatar,username",
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "47489049-0f54-41aa-a9ac-28549ee5c8ac",
"name": "Set movie fields",
"type": "n8n-nodes-base.code",
"position": [
1560,
-40
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "$input.item.json.fields = [];\n\n$input.item.json.fields.push({\n \"name\": \"Quality\",\n \"value\": $json.quality,\n \"inline\": true\n});\n\n$input.item.json.fields.push({\n \"name\": \"Size\",\n \"value\": $json.size,\n \"inline\": true\n});\n\nif ($json.subtitles && $json.subtitles != \"\") {\n $input.item.json.fields.push({\n \"name\": \"Subtitles\",\n \"value\": $json.subtitles,\n \"inline\": true\n });\n}\n\n$input.item.json.fields.push({\n \"name\": \"Release\",\n \"value\": \"```\" + $json.release + \"```\"\n});\n\nreturn $input.item;"
},
"typeVersion": 2
},
{
"id": "7f07ae01-cea0-4c65-9a3a-7cf18328eeae",
"name": "Set series fields",
"type": "n8n-nodes-base.code",
"position": [
1560,
235
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "$input.item.json.fields = [\n {\n \"name\": \"Quality\",\n \"value\": $json.quality,\n \"inline\": true\n },\n {\n \"name\": \"Size\",\n \"value\": $json.size,\n \"inline\": true\n },\n {\n \"name\": \"Subtitles\",\n \"value\": $json.subtitles && $json.subtitles !== 'None' ? `${$json.subtitles.split('/')[0]}/... (${$json.subtitles.split('/').length})` : $json.subtitles\n,\n \"inline\": true\n },\n {\n \"name\": \"Release\",\n \"value\": \"```\" + $json.release + \"```\"\n }\n];\n\nreturn $input.item;"
},
"typeVersion": 2
},
{
"id": "d2d94c62-9083-45e7-b766-c9838316c0e5",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
1120,
160
],
"parameters": {
"include": "allOtherFields",
"options": {
"destinationFieldName": "body.episodeFile"
},
"fieldToSplitOut": "body.episodeFiles"
},
"typeVersion": 1
},
{
"id": "8814e90e-5a5f-40ae-ba2b-95dce6ededac",
"name": "Is multiple",
"type": "n8n-nodes-base.if",
"position": [
900,
235
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "406df52e-e05b-4c77-b704-ec447596dbf8",
"operator": {
"type": "array",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.body.episodeFiles }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "c1ba73f3-7e28-43c5-a893-9803a694e0d4",
"name": "Translate Bazarr description",
"type": "n8n-nodes-base.code",
"position": [
1780,
-240
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "switch ($json.description) {\n case \"subtitles downloaded\":\n $json.description = \"Subtitles downloaded\";\n break;\n}\n\nreturn $input.item;"
},
"typeVersion": 2
},
{
"id": "d9c13a65-82fe-4c6d-a3a5-f2066ef3dd3c",
"name": "Translate Radarr description",
"type": "n8n-nodes-base.code",
"position": [
1780,
-40
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "switch ($json.description) {\n case \"MovieFileDeleteupgrade\":\n $json.description = \"Movie upgraded\";\n break;\n case \"MovieFileDeletemanual\":\n $json.description = \"Movie file deleted\";\n break;\n case \"Download\":\n $json.description = \"Movie imported\";\n break;\n case \"ManualInteractionRequired\":\n $json.description = \"Manual interaction required\";\n break;\n}\n\nreturn $input.item;"
},
"typeVersion": 2
},
{
"id": "54f24e3b-d753-4f25-887f-8901d98ccabb",
"name": "Translate Sonarr description",
"type": "n8n-nodes-base.code",
"position": [
1780,
235
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "switch ($json.description) {\n case \"EpisodeFileDeleteupgrade\":\n $json.description = \"Episode upgraded\";\n break;\n case \"EpisodeFileDeletemanual\":\n $json.description = \"Episode file deleted\";\n break;\n case \"Download\":\n $json.description = \"Episode Imported\";\n break;\n case \"ManualInteractionRequired\":\n $json.description = \"Manual interaction required\";\n break;\n}\n\nreturn $input.item;"
},
"typeVersion": 2
},
{
"id": "3d23dd8f-e53c-4da7-90ea-08a542685f4c",
"name": "Evaluation",
"type": "n8n-nodes-base.evaluation",
"position": [
2440,
-140
],
"parameters": {
"outputs": {
"values": [
{
"outputName": "actual_output",
"outputValue": "={{ $json.body }}"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Sco9nfetll-LH3g4fplcGOs5TedL0NrDjPLiXAo8oX4/edit#gid=0",
"cachedResultName": "Radarr"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Sco9nfetll-LH3g4fplcGOs5TedL0NrDjPLiXAo8oX4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Sco9nfetll-LH3g4fplcGOs5TedL0NrDjPLiXAo8oX4/edit?usp=drivesdk",
"cachedResultName": "n8n tests"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "FrOzR3HBlGfTYAIJ",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "9dadae42-c6c8-480b-82aa-6894b55358e3",
"name": "Is Test",
"type": "n8n-nodes-base.evaluation",
"position": [
2220,
-40
],
"parameters": {
"operation": "checkIfEvaluating"
},
"typeVersion": 4.6
},
{
"id": "59b286d5-e7d2-414a-a460-8dba71027079",
"name": "Run Tests",
"type": "n8n-nodes-base.evaluationTrigger",
"position": [
-200,
-140
],
"parameters": {
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Sco9nfetll-LH3g4fplcGOs5TedL0NrDjPLiXAo8oX4/edit#gid=0",
"cachedResultName": "Radarr"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Sco9nfetll-LH3g4fplcGOs5TedL0NrDjPLiXAo8oX4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Sco9nfetll-LH3g4fplcGOs5TedL0NrDjPLiXAo8oX4/edit?usp=drivesdk",
"cachedResultName": "n8n tests"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "FrOzR3HBlGfTYAIJ",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "8995967a-058d-4cc5-bae6-894432bda437",
"name": "Test is enabled",
"type": "n8n-nodes-base.filter",
"position": [
20,
-140
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "75c6f304-f4ea-4206-aba0-fb3b0a9605e4",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.input }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "baf45f74-a84d-4121-83d6-7dc40c940285",
"name": "Prepare notification JSON",
"type": "n8n-nodes-base.code",
"position": [
2000,
-40
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "var content = {\n username: $json.username,\n avatar_url: $json.avatar,\n embeds: [\n {\n title: $json.title,\n description: $json.description,\n author: {\n name: $json.username,\n icon_url: $json.avatar,\n },\n thumbnail: {\n url: $json.image\n },\n color: $json.color,\n fields: $json.fields,\n },\n ],\n};\n\nreturn { json: { body: content } };\n"
},
"typeVersion": 2
},
{
"id": "684c7848-ce07-4b3f-8087-124f89b23c52",
"name": "Convert to JSON",
"type": "n8n-nodes-base.code",
"position": [
240,
-140
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "let item = JSON.parse($json.input);\nreturn item;"
},
"typeVersion": 2
},
{
"id": "5693766d-8739-4fbf-bb8b-8f3310a0f5ef",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
820,
-240
],
"parameters": {
"height": 100,
"content": "Bazarr events:\n- subtitle downloaded\n- subtitle upgraded"
},
"typeVersion": 1
},
{
"id": "935e4ec1-378c-44a2-93d8-3b2c5d7b7c9c",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
820,
-40
],
"parameters": {
"content": "Radarr events:\n- File Import\n- Movie File Delete\n- Movie File Delete for Upgrade\n- Manual Interaction Required"
},
"typeVersion": 1
},
{
"id": "434b22ed-f8e3-4c97-ae6e-de6baa45962b",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
220
],
"parameters": {
"content": "Sonarr events:\n- File Import\n- Movie File Delete\n- Movie File Delete for Upgrade\n- Manual Interaction Required"
},
"typeVersion": 1
},
{
"id": "297a568f-99ad-4b34-a466-c0a43471a62e",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-680,
-560
],
"parameters": {
"width": 380,
"height": 780,
"content": "### Custom Radarr / Sonarr / Bazarr notifications\n\nIf you are self hosting Radarr / Sonarr / Bazarr or similar you might want to customise the notifications. This workflow allows you to easily make them look like anything you want.\n\nFor my use case I wanted the notifications to look like the default ones but with less data (simplified). Only few event types were tested since I also did not want to have too many notifications per event. Still, it is easy to add more event types and more fields. Feel free to play around.\n\nConfiguring this workflow:\n1. Change your Webhook trigger endpoint in the first node\n2. Change the Discord channel Webhook URL in the last node (or use a bot if you prefer)\n3. You can ignore the Evaluation triggers. I am just using them to test all notification types.\n\n\nConfiguring your *arr:\n1. Go to Settings > Connect\n2. Add Webhook connection and point it to the one you configured here (remember to use production Webhook)\n3. Select File Import, Movie File Delete, Movie File Delete for Upgrade, Manual Interaction Required (Other types should also work. I just did not test them)\n\n\nNote about Bazarr:\nIt is using ultra simple configuration compared to others. There are no event types at all. You also have to use \"JSON\" (there is no Webhook type) and in url use jsons instead of https like \"jsons://n8n.com/webhook/radarr\"\n"
},
"typeVersion": 1
},
{
"id": "9238365a-5b12-4e5e-a969-9d43c790de83",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1980,
-300
],
"parameters": {
"height": 240,
"content": "### Output\nDiscord format of notification.\n\n- Title (Year) - Episode\n- What happened\n- Thumbnail\n- Quality\n- Size\n- Subtitle count\n- Release name"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "98cc24c8-5aba-4b3c-8e5c-e8c358d085cd",
"connections": {
"2d5536bc-86cf-434b-9a68-9cd00e70cccf": {
"main": [
[
{
"node": "c04f35b2-9811-4c56-9600-781c2e8ba275",
"type": "main",
"index": 0
}
],
[
{
"node": "eddbc733-db49-4989-b15d-5db1a3f65cb5",
"type": "main",
"index": 0
}
],
[
{
"node": "3ab117bc-a6bc-429a-b26b-932799423767",
"type": "main",
"index": 0
}
]
]
},
"9dadae42-c6c8-480b-82aa-6894b55358e3": {
"main": [
[
{
"node": "3d23dd8f-e53c-4da7-90ea-08a542685f4c",
"type": "main",
"index": 0
}
],
[
{
"node": "5b9bc9ee-573b-47d5-9459-25040f4a8b76",
"type": "main",
"index": 0
}
]
]
},
"9c0dffb3-46b5-4408-a4e7-31ffeacc8f15": {
"main": [
[
{
"node": "2d5536bc-86cf-434b-9a68-9cd00e70cccf",
"type": "main",
"index": 0
}
]
]
},
"59b286d5-e7d2-414a-a460-8dba71027079": {
"main": [
[
{
"node": "8995967a-058d-4cc5-bae6-894432bda437",
"type": "main",
"index": 0
}
]
]
},
"d2d94c62-9083-45e7-b766-c9838316c0e5": {
"main": [
[
{
"node": "d33e55bf-873d-47a7-9b09-ace2994f1e01",
"type": "main",
"index": 0
}
]
]
},
"8814e90e-5a5f-40ae-ba2b-95dce6ededac": {
"main": [
[
{
"node": "d2d94c62-9083-45e7-b766-c9838316c0e5",
"type": "main",
"index": 0
}
],
[
{
"node": "d33e55bf-873d-47a7-9b09-ace2994f1e01",
"type": "main",
"index": 0
}
]
]
},
"5b9bc9ee-573b-47d5-9459-25040f4a8b76": {
"main": [
[]
]
},
"684c7848-ce07-4b3f-8087-124f89b23c52": {
"main": [
[
{
"node": "2d5536bc-86cf-434b-9a68-9cd00e70cccf",
"type": "main",
"index": 0
}
]
]
},
"8995967a-058d-4cc5-bae6-894432bda437": {
"main": [
[
{
"node": "684c7848-ce07-4b3f-8087-124f89b23c52",
"type": "main",
"index": 0
}
]
]
},
"47489049-0f54-41aa-a9ac-28549ee5c8ac": {
"main": [
[
{
"node": "d9c13a65-82fe-4c6d-a3a5-f2066ef3dd3c",
"type": "main",
"index": 0
}
]
]
},
"7f07ae01-cea0-4c65-9a3a-7cf18328eeae": {
"main": [
[
{
"node": "54f24e3b-d753-4f25-887f-8901d98ccabb",
"type": "main",
"index": 0
}
]
]
},
"4640e2d4-0b30-44e0-ab4e-0ce8422bfea5": {
"main": [
[
{
"node": "c1ba73f3-7e28-43c5-a893-9803a694e0d4",
"type": "main",
"index": 0
}
]
]
},
"5fbd3d74-d325-4f39-8c01-83a3f850acd7": {
"main": [
[
{
"node": "47489049-0f54-41aa-a9ac-28549ee5c8ac",
"type": "main",
"index": 0
}
]
]
},
"c04f35b2-9811-4c56-9600-781c2e8ba275": {
"main": [
[
{
"node": "6daba0b8-2e7b-4156-bc51-748e84f2f3d7",
"type": "main",
"index": 0
}
]
]
},
"eddbc733-db49-4989-b15d-5db1a3f65cb5": {
"main": [
[
{
"node": "5fbd3d74-d325-4f39-8c01-83a3f850acd7",
"type": "main",
"index": 0
}
]
]
},
"3ab117bc-a6bc-429a-b26b-932799423767": {
"main": [
[
{
"node": "8814e90e-5a5f-40ae-ba2b-95dce6ededac",
"type": "main",
"index": 0
}
]
]
},
"d33e55bf-873d-47a7-9b09-ace2994f1e01": {
"main": [
[
{
"node": "7f07ae01-cea0-4c65-9a3a-7cf18328eeae",
"type": "main",
"index": 0
}
]
]
},
"6daba0b8-2e7b-4156-bc51-748e84f2f3d7": {
"main": [
[
{
"node": "4640e2d4-0b30-44e0-ab4e-0ce8422bfea5",
"type": "main",
"index": 0
}
]
]
},
"baf45f74-a84d-4121-83d6-7dc40c940285": {
"main": [
[
{
"node": "9dadae42-c6c8-480b-82aa-6894b55358e3",
"type": "main",
"index": 0
}
]
]
},
"c1ba73f3-7e28-43c5-a893-9803a694e0d4": {
"main": [
[
{
"node": "baf45f74-a84d-4121-83d6-7dc40c940285",
"type": "main",
"index": 0
}
]
]
},
"d9c13a65-82fe-4c6d-a3a5-f2066ef3dd3c": {
"main": [
[
{
"node": "baf45f74-a84d-4121-83d6-7dc40c940285",
"type": "main",
"index": 0
}
]
]
},
"54f24e3b-d753-4f25-887f-8901d98ccabb": {
"main": [
[
{
"node": "baf45f74-a84d-4121-83d6-7dc40c940285",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 其他
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
AI 代理餐厅 [模板]
🤖 WhatsApp、Instagram 和 Messenger 的 AI 餐厅助手
If
N8n
Set
+
If
N8n
Set
239 节点Amanda Benks
其他
Bitrix24开放频道RAG聊天机器人应用工作流示例
Bitrix24 AI驱动的开放频道RAG聊天机器人
If
Set
Merge
+
If
Set
Merge
34 节点Ferenc Erb
其他
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+
If
Ftp
Set
113 节点I versus AI
其他
潜在客户开发与邮件工作流
使用Google Maps、SendGrid和AI自动化B2B潜在客户开发与邮件营销
If
Set
Code
+
If
Set
Code
141 节点Ezema Kingsley Chibuzo
潜在客户开发
自动化潜在客户生成与个性化外联:Apollo、AI和Instantly.ai
自动化潜在客户生成与个性化外联:Apollo、AI和Instantly.ai
If
Set
Code
+
If
Set
Code
166 节点Ruben AI
客户培育
使用GPT-4.1、Outlook和Mem.ai自动化Microsoft
使用GPT-4.1、Outlook和Mem.ai自动化Microsoft Teams会议分析
If
Set
Code
+
If
Set
Code
61 节点Wayne Simpson
人力资源