Notifications Radarr

Avancé

Ceci est unOtherworkflow d'automatisation du domainecontenant 28 nœuds.Utilise principalement des nœuds comme If, Set, Code, Filter, Switch. Fournir des notifications Discord personnalisées pour Radarr, Sonarr, Bazarr, etc.

Prérequis
  • Point de terminaison HTTP Webhook (généré automatiquement par n8n)
  • Peut nécessiter les informations d'identification d'authentification de l'API cible

Catégorie

Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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": "Notifier 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": "Définir les propriétés des sous-titres",
      "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": "Définir les champs des sous-titres",
      "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": "Définir les propriétés Radarr",
      "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": "Définir les propriétés Bazarr",
      "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": "Définir les propriétés Sonarr",
      "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": "Définir les propriétés du film",
      "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": "Définir les propriétés de la série",
      "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": "Définir les champs du film",
      "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": "Définir les champs de la série",
      "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": "Diviser",
      "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": "Est 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": "Traduire la description Bazarr",
      "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": "Traduire la description Radarr",
      "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": "Traduire la description Sonarr",
      "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": "Évaluation",
      "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": "Est un test",
      "type": "n8n-nodes-base.evaluation",
      "position": [
        2220,
        -40
      ],
      "parameters": {
        "operation": "checkIfEvaluating"
      },
      "typeVersion": 4.6
    },
    {
      "id": "59b286d5-e7d2-414a-a460-8dba71027079",
      "name": "Exécuter les 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 activé",
      "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": "Préparer la 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": "Convertir en 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": "Note adhésive",
      "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": "Note adhésive1",
      "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": "Note adhésive2",
      "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": "Note adhésive3",
      "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": "Note adhésive4",
      "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Autres

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds28
Catégorie1
Types de nœuds11
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34