Workflow n8n

Automatisation YouTube avec n8n : mise à jour des descriptions vidéo

Ce workflow n8n a pour objectif d'automatiser la mise à jour des descriptions des vidéos YouTube en y insérant du texte spécifique. Dans un contexte où les créateurs de contenu cherchent à optimiser leur visibilité et à maintenir des descriptions à jour, cette automatisation s'avère particulièrement utile. Par exemple, les équipes marketing peuvent l'utiliser pour ajouter des informations promotionnelles ou des liens vers d'autres contenus. Le workflow commence par un déclencheur manuel qui permet à l'utilisateur de lancer le processus à tout moment. Ensuite, le nœud 'Get All Videos' récupère toutes les vidéos d'une chaîne YouTube, ce qui permet de les traiter en lot grâce au nœud 'Loop Over Videos'. Chaque vidéo est ensuite analysée par le nœud 'Get Specific Video' pour extraire ses détails. Une fois les informations nécessaires obtenues, le texte à insérer est défini via le nœud 'Set String to Insert'. Le nœud 'Create New Video Description with Row Inserted' génère une nouvelle description en intégrant le texte spécifié. Enfin, le nœud 'Update Video Description' met à jour la description de chaque vidéo avec le nouveau contenu. Grâce à cette automatisation n8n, les utilisateurs peuvent gagner un temps précieux et s'assurer que leurs vidéos sont toujours à jour, ce qui améliore l'engagement des spectateurs et la performance globale de la chaîne.

Tags clés :automatisationYouTubeworkflown8ngestion de contenu
Catégorie: Manual · Tags: automatisation, YouTube, workflow, n8n, gestion de contenu0

Workflow n8n YouTube, gestion de contenu : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n YouTube, gestion de contenu : détail des nœuds

  • Get All Videos

    Ce noeud récupère tous les vidéos de YouTube selon les paramètres spécifiés.

  • Update Video Description

    Ce noeud met à jour la description d'une vidéo YouTube en fonction des informations fournies.

  • When clicking ‘Test workflow’

    Ce noeud déclenche manuellement le workflow lorsque l'utilisateur clique sur 'Test workflow'.

  • Sticky Note

    Ce noeud crée une note autocollante avec les paramètres de couleur, taille et contenu spécifiés.

  • Sticky Note1

    Ce noeud crée une autre note autocollante avec des paramètres similaires à ceux du noeud précédent.

  • Set String to Insert

    Ce noeud définit une chaîne de caractères à insérer dans le workflow selon les assignations données.

  • Loop Over Videos

    Ce noeud permet de traiter les vidéos en les parcourant par lots.

  • Get Specific Video

    Ce noeud récupère une vidéo spécifique de YouTube en fonction de l'identifiant vidéo fourni.

  • Create New Video Description with Row Inserted

    Ce noeud exécute un code JavaScript pour créer une nouvelle description de vidéo avec une ligne insérée.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "name": "Automatically Update YouTube Video Descriptions with Inserted Text",
  "tags": [],
  "nodes": [
    {
      "id": "19cafddc-6199-4418-8213-9743c34c9176",
      "name": "Get All Videos",
      "type": "n8n-nodes-base.youTube",
      "position": [
        480,
        380
      ],
      "parameters": {
        "limit": 3,
        "filters": {},
        "options": {
          "order": "date"
        },
        "resource": "video"
      },
      "typeVersion": 1
    },
    {
      "id": "63a6a8e6-994f-46ab-a731-609549fec99f",
      "name": "Update Video Description",
      "type": "n8n-nodes-base.youTube",
      "position": [
        1320,
        460
      ],
      "parameters": {
        "title": "={{ $('Get Specific Video').item.json.snippet.title }}",
        "videoId": "={{ $('Get Specific Video').item.json.id}}",
        "resource": "video",
        "operation": "update",
        "categoryId": "={{ $('Get Specific Video').item.json.snippet.categoryId }}",
        "regionCode": "US",
        "updateFields": {
          "tags": "={{ $('Get Specific Video').item.json.snippet.tags.join() }}",
          "description": "={{ $json.updatedDescription }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ce147272-f6c3-4cfb-954b-9a77c63a6232",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        120,
        380
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9ba206b2-1161-41a3-8581-d60dae665096",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        100,
        120
      ],
      "parameters": {
        "color": 5,
        "width": 580,
        "height": 180,
        "content": "## Insert Text into YouTube Video Descriptions\n**Automatically insert a row of text between two specified rows** in all your YouTube video descriptions. \n\nThis workflow is ideal for YouTubers who need to update multiple video descriptions at once. Easily add a new link or text between existing lines, ensuring consistency across all your video descriptions without manual edits."
      },
      "typeVersion": 1
    },
    {
      "id": "e05f5b9c-c160-45d7-b67a-62d68acc0829",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        100,
        560
      ],
      "parameters": {
        "color": 4,
        "width": 340,
        "height": 260,
        "content": "## Configure text string to insert 👆 \nDefine the text string (row) that will be added to your YouTube video descriptions.\n\n### Variables\n- **rowBefore** → The new row will be inserted *after* this line.\n- **rowToInsert** -→ The text or link you want to add.\n- **rowAfter**→ The new row will be inserted *before* this line.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "51a3fd15-8767-4cc0-98a8-fe98ec90db70",
      "name": "Set String to Insert",
      "type": "n8n-nodes-base.set",
      "position": [
        300,
        380
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a05b56b1-6f18-4359-aa4b-127399877301",
              "name": "rowBefore",
              "type": "string",
              "value": "=https://firstlink.com"
            },
            {
              "id": "95ac4a95-cdf4-4d7a-b9a3-78d54c879115",
              "name": "rowToInsert",
              "type": "string",
              "value": "https://mynewlinktoinsert.com"
            },
            {
              "id": "ded86a1f-f0a5-42b8-9176-9be4038f6290",
              "name": "rowAfter",
              "type": "string",
              "value": "https://secondlink.com"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "590b8bb3-6eb4-4bb8-af4c-c2d95221f045",
      "name": "Loop Over Videos",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        700,
        380
      ],
      "parameters": {
        "options": {
          "reset": false
        }
      },
      "typeVersion": 3
    },
    {
      "id": "a80ac941-0a99-4eab-8a6c-effef1e136fa",
      "name": "Get Specific Video",
      "type": "n8n-nodes-base.youTube",
      "position": [
        900,
        460
      ],
      "parameters": {
        "options": {},
        "videoId": "={{ $json.id.videoId }}",
        "resource": "video",
        "operation": "get"
      },
      "typeVersion": 1
    },
    {
      "id": "2c4519e2-1af9-42d7-818c-8165365587fb",
      "name": "Create New Video Description with Row Inserted",
      "type": "n8n-nodes-base.code",
      "position": [
        1100,
        460
      ],
      "parameters": {
        "jsCode": "// Access the input data (YouTube description)\nconst description = $('Get Specific Video').first().json.snippet.description;\n//console.log(inputData)\n\nconst variables = $('Set String to Insert').first().json\n// Define the rows to search for and the row to insert\nconst rowBefore = variables.rowBefore;\nconst rowAfter = variables.rowAfter;\nconst rowToInsert = variables.rowToInsert;\n\n// Split the description into an array of rows\nconst rows = description.split(\"\\n\");\nconsole.log(rows)\n// Find the index of the rowBefore and rowAfter\nconst indexBefore = rows.findIndex(row => row.trim() === rowBefore);\nconst indexAfter = rows.findIndex(row => row.trim() === rowAfter);\n\n// Check if both rows are found and rowBefore comes before rowAfter\nif (indexBefore !== -1 && indexAfter !== -1 && indexBefore < indexAfter) {\n  // Insert the new row between rowBefore and rowAfter\n  rows.splice(indexBefore + 1, 0, rowToInsert);\n}\n\n// Join the rows back into a single string\nconst updatedDescription = rows.join(\"\\n\");\n\n// Return the updated description in the correct n8n output structure\nreturn [\n  {\n    json: {\n      updatedDescription: updatedDescription\n    }\n  }\n];"
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "50fd0bcb-7441-45eb-ab58-ca2a7de78516",
  "connections": {
    "Get All Videos": {
      "main": [
        [
          {
            "node": "Loop Over Videos",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Videos": {
      "main": [
        [],
        [
          {
            "node": "Get Specific Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Specific Video": {
      "main": [
        [
          {
            "node": "Create New Video Description with Row Inserted",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set String to Insert": {
      "main": [
        [
          {
            "node": "Get All Videos",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Video Description": {
      "main": [
        [
          {
            "node": "Loop Over Videos",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Set String to Insert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create New Video Description with Row Inserted": {
      "main": [
        [
          {
            "node": "Update Video Description",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n YouTube, gestion de contenu : pour qui est ce workflow ?

Ce workflow s'adresse principalement aux créateurs de contenu, aux équipes marketing et aux gestionnaires de chaînes YouTube qui cherchent à automatiser la mise à jour des descriptions de vidéos. Il est adapté aux utilisateurs ayant un niveau technique intermédiaire et qui souhaitent optimiser leur temps de gestion de contenu.

Workflow n8n YouTube, gestion de contenu : problème résolu

Ce workflow résout le problème de la mise à jour manuelle des descriptions de vidéos YouTube, qui peut être fastidieuse et sujette à des erreurs. En automatisant ce processus, les utilisateurs éliminent les frustrations liées à la gestion manuelle et réduisent le risque d'informations obsolètes dans leurs descriptions. Après la mise en place de ce workflow, les utilisateurs bénéficient d'une gestion simplifiée et efficace de leurs contenus, ce qui leur permet de se concentrer sur la création plutôt que sur l'administration.

Workflow n8n YouTube, gestion de contenu : étapes du workflow

Étape 1 : Le workflow est déclenché manuellement par l'utilisateur.

  • Étape 1 : Le nœud 'Get All Videos' récupère toutes les vidéos de la chaîne YouTube.
  • Étape 2 : Le nœud 'Loop Over Videos' permet de traiter chaque vidéo individuellement.
  • Étape 3 : Pour chaque vidéo, le nœud 'Get Specific Video' extrait les détails nécessaires.
  • Étape 4 : Le texte à insérer est défini via le nœud 'Set String to Insert'.
  • Étape 5 : Le nœud 'Create New Video Description with Row Inserted' génère une nouvelle description intégrant le texte.
  • Étape 6 : Enfin, le nœud 'Update Video Description' met à jour la description de chaque vidéo avec le nouveau contenu.

Workflow n8n YouTube, gestion de contenu : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier le nœud 'Set String to Insert' afin d'ajuster le texte à insérer dans les descriptions. Assurez-vous également de vérifier les paramètres du nœud 'Get All Videos' pour filtrer les vidéos selon vos besoins spécifiques. Si vous souhaitez intégrer d'autres outils ou services, vous pouvez ajouter des nœuds supplémentaires entre les étapes existantes. Pour sécuriser et monitorer le flux, envisagez d'ajouter des notifications via des services comme Discord ou Slack pour être alerté en cas d'erreur durant le processus.