AutomationFlowsSocial Media › Youtube Metric Colletor

Youtube Metric Colletor

Youtube-Metric-Colletor. Uses httpRequest, nocoDb, baserow. Event-driven trigger; 33 nodes.

Event trigger★★★★★ complexity33 nodesHTTP RequestNoco DbBaserow
Social Media Trigger: Event Nodes: 33 Complexity: ★★★★★ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Youtube-Metric-Colletor",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -1500,
        -1500
      ],
      "id": "b88fb310-8e6c-470e-a4cc-300fc4033cf0",
      "name": "When clicking \u2018Test workflow\u2019"
    },
    {
      "parameters": {
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "youTubeOAuth2Api",
        "url": "https://www.googleapis.com/youtube/v3/search",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "channelId",
              "value": "UCxXpMWpTd34HYmK0jaZ4Alg"
            },
            {
              "name": "part",
              "value": "id"
            },
            {
              "name": "maxResults",
              "value": "200"
            },
            {
              "name": "type",
              "value": "video"
            },
            {
              "name": "=pageToken",
              "value": "="
            }
          ]
        }
      },
      "id": "aa291980-db60-468a-a925-ea8435200d1a",
      "name": "Get Video IDs",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 2,
      "position": [
        880,
        -60
      ],
      "credentials": {
        "youTubeOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "disabled": true
    },
    {
      "parameters": {
        "keepOnlySet": true,
        "values": {
          "string": [
            {
              "name": "videoIds",
              "value": "={{ $json.items.map(i => i.id.videoId).join(',') }}"
            }
          ]
        },
        "options": {}
      },
      "id": "41161878-2489-4d8c-b446-932f2b829079",
      "name": "Extract Video IDs2",
      "type": "n8n-nodes-base.set",
      "typeVersion": 2,
      "position": [
        1100,
        -60
      ],
      "disabled": true
    },
    {
      "parameters": {
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "youTubeOAuth2Api",
        "url": "https://www.googleapis.com/youtube/v3/videos",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "id",
              "value": "={{ $json.videoIds }}"
            },
            {
              "name": "part",
              "value": "statistics,snippet"
            }
          ]
        }
      },
      "id": "cc290161-1401-4480-9226-ad441e04f357",
      "name": "Get Video Stats2",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 2,
      "position": [
        1340,
        -60
      ],
      "credentials": {
        "youTubeOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "disabled": true
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "e9925ea7-0728-4b31-a063-2a76ec755afb",
              "name": "id",
              "value": "={{ $json.id }}",
              "type": "string"
            },
            {
              "id": "fd7c77c3-f2a7-41ab-bafb-63039bcf4425",
              "name": "title",
              "value": "={{ $json['snippet.title'] }}",
              "type": "string"
            },
            {
              "id": "2fc2f072-587e-48b1-9f2e-5d4bc0556b27",
              "name": "views",
              "value": "={{ $json['statistics.viewCount'] }}",
              "type": "string"
            },
            {
              "id": "781baa56-2111-4c17-951c-3bbc24291ee6",
              "name": "likes",
              "value": "={{ $json['statistics.likeCount'] }}",
              "type": "string"
            },
            {
              "id": "b140aa12-4d80-49e0-8254-5e93f89796af",
              "name": "dislikes",
              "value": "={{ $json['statistics.dislikeCount'] }}",
              "type": "string"
            },
            {
              "id": "073eb24b-cbc5-4886-8bd3-52e872cdd971",
              "name": "comments",
              "value": "={{ $json['statistics.commentCount'] }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        540,
        -300
      ],
      "id": "188e9f0d-dfe2-4d1a-84a2-1270daeb1c5e",
      "name": "Edit Fields",
      "disabled": true
    },
    {
      "parameters": {
        "fieldToSplitOut": "items",
        "options": {}
      },
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        180,
        -300
      ],
      "id": "7125088b-b63a-419b-a7fb-9d1b411fa58c",
      "name": "Split Out",
      "disabled": true
    },
    {
      "parameters": {
        "fieldToSplitOut": "id",
        "include": "selectedOtherFields",
        "fieldsToInclude": "snippet.title, statistics.viewCount, statistics.likeCount, statistics.dislikeCount, statistics.commentCount",
        "options": {}
      },
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        360,
        -300
      ],
      "id": "a5bd30e9-0a35-4da7-a1ed-7f53cfafb8e4",
      "name": "Split Out1",
      "disabled": true
    },
    {
      "parameters": {
        "authentication": "nocoDbApiToken",
        "operation": "update",
        "projectId": "peu2rkgn3a6542e",
        "table": "m9agyd3al3mqplg",
        "fieldsUi": {
          "fieldValues": [
            {}
          ]
        }
      },
      "type": "n8n-nodes-base.nocoDb",
      "typeVersion": 3,
      "position": [
        1240,
        -380
      ],
      "id": "e027c7b8-dc88-401e-bce3-ac0b2c518e33",
      "name": "NocoDB",
      "credentials": {
        "nocoDbApiToken": {
          "name": "<your credential>"
        }
      },
      "disabled": true
    },
    {
      "parameters": {
        "operation": "create",
        "databaseId": 171,
        "tableId": 709,
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": 6920,
              "fieldValue": "={{ $json.title }}"
            },
            {
              "fieldId": 6922,
              "fieldValue": "={{ $json.views }}"
            },
            {
              "fieldId": 6928,
              "fieldValue": "={{ $json.dislikes }}"
            },
            {
              "fieldId": 6929,
              "fieldValue": "={{ $json.comments }}"
            },
            {
              "fieldId": 6927,
              "fieldValue": "={{ $json.likes }}"
            },
            {
              "fieldId": 6921,
              "fieldValue": "={{ $json.id }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.baserow",
      "typeVersion": 1,
      "position": [
        1500,
        -320
      ],
      "id": "b9ea1732-dfec-4f7f-98ad-57d12054e69d",
      "name": "Baserow1",
      "credentials": {
        "baserowApi": {
          "name": "<your credential>"
        }
      },
      "disabled": true
    },
    {
      "parameters": {
        "databaseId": 183,
        "tableId": 761,
        "returnAll": true,
        "additionalOptions": {}
      },
      "type": "n8n-nodes-base.baserow",
      "typeVersion": 1,
      "position": [
        -1260,
        -1500
      ],
      "id": "085b51ef-231f-43a5-b3ff-88cc4042f624",
      "name": "Baserow2",
      "credentials": {
        "baserowApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "// Beispiel: Wenn du die JSON-Daten als Eingabe hast, auf die Eingabedaten zugreifen\nconst data = items[0].json; // Holen wir uns die Eingabedaten (dies ist dein JSON)\n\nlet output = []; // Array f\u00fcr die Ausgabe\n\n// \u00dcberpr\u00fcfen, ob die \"items\"-Eigenschaft existiert und es sich um ein Array handelt\nif (data.items && Array.isArray(data.items)) {\n    console.log(`Anzahl der Items: ${data.items.length}`); // Ausgabe der Anzahl der Items\n\n    // Durch alle Items iterieren\n    data.items.forEach(item => {\n        const { id, snippet, statistics } = item;\n\n        const stats = {\n            json: {  // Wir packen die Felder in das \"json\"-Objekt\n                id: id,\n                title: snippet.title,\n                viewCount: statistics.viewCount,\n                likeCount: statistics.likeCount,\n                dislikeCount: statistics.dislikeCount,\n                commentCount: statistics.commentCount\n            }\n        };\n\n        output.push(stats); // F\u00fcge jedes extrahierte Objekt in das Array hinzu\n    });\n} else {\n    // Falls keine Items vorhanden sind, geben wir einen Fehler als Objekt zur\u00fcck\n    output.push({ json: { error: \"Keine Video-Daten gefunden!\" } });\n}\n\nreturn output; // R\u00fcckgabe eines Arrays, das alle Items enth\u00e4lt\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1520,
        -60
      ],
      "id": "7bc697d6-5e01-4ea9-ab04-fbd8465ba240",
      "name": "Code",
      "disabled": true
    },
    {
      "parameters": {
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "youTubeOAuth2Api",
        "url": "https://www.googleapis.com/youtube/v3/videos",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "part",
              "value": "statistics,snippet,status,contentDetails"
            },
            {
              "name": "id",
              "value": "={{ $json[\"Video-ID\"] }}"
            }
          ]
        }
      },
      "id": "96f611bf-3579-47f7-a386-cb5829b3658e",
      "name": "Get Video Stats1",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 2,
      "position": [
        -820,
        -1500
      ],
      "credentials": {
        "youTubeOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "databaseId": 171,
        "tableId": 709,
        "rowId": "={{ $json.id }}",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": 6920,
              "fieldValue": "={{ $json.title }}"
            },
            {
              "fieldId": 6922,
              "fieldValue": "={{ $json.views }}"
            },
            {
              "fieldId": 6928,
              "fieldValue": "={{ $json.dislikes }}"
            },
            {
              "fieldId": 6929,
              "fieldValue": "={{ $json.comments }}"
            },
            {
              "fieldId": 6927,
              "fieldValue": "={{ $json.likes }}"
            },
            {
              "fieldId": 6921,
              "fieldValue": "={{ $json.id }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.baserow",
      "typeVersion": 1,
      "position": [
        840,
        -300
      ],
      "id": "6c349bb2-3c25-4a8d-8cb9-edd8b0a9f9c7",
      "name": "Baserow3",
      "credentials": {
        "baserowApi": {
          "name": "<your credential>"
        }
      },
      "disabled": true
    },
    {
      "parameters": {
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "youTubeOAuth2Api",
        "url": "https://www.googleapis.com/youtube/v3/search",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "channelId",
              "value": "UCxXpMWpTd34HYmK0jaZ4Alg"
            },
            {
              "name": "part",
              "value": "id, snippet"
            },
            {
              "name": "maxResults",
              "value": "200"
            },
            {
              "name": "type",
              "value": "video"
            },
            {
              "name": "=pageToken",
              "value": "="
            }
          ]
        }
      },
      "id": "3c8aef2a-cb12-4f27-8f63-06ff979dba43",
      "name": "Get Video IDs1",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 2,
      "position": [
        -740,
        -380
      ],
      "credentials": {
        "youTubeOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "disabled": true
    },
    {
      "parameters": {
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "youTubeOAuth2Api",
        "url": "https://www.googleapis.com/youtube/v3/search",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "channelId",
              "value": "UCxXpMWpTd34HYmK0jaZ4Alg"
            },
            {
              "name": "part",
              "value": "id, snippet"
            },
            {
              "name": "maxResults",
              "value": "200"
            },
            {
              "name": "type",
              "value": "video"
            },
            {
              "name": "=pageToken",
              "value": "={{ $json[\"nextPageToken\"] || \"\" }}"
            }
          ]
        }
      },
      "id": "9940ef45-b2b3-4b3a-9170-db9d206e141f",
      "name": "Get Video IDs2",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 2,
      "position": [
        -340,
        -380
      ],
      "credentials": {
        "youTubeOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "disabled": true
    },
    {
      "parameters": {
        "jsCode": "const data = items[0].json;\n\n// Initialisiere das Array f\u00fcr Video-IDs\nlet videoIds = [];\ndata.items.forEach(item => {\n    videoIds.push(item.id.videoId);  // Video-IDs extrahieren\n});\n\n// Wenn ein nextPageToken vorhanden ist, dann gebe es weiter\nif (data.nextPageToken) {\n    return [\n        {\n            json: {\n                videoIds: videoIds,\n                nextPageToken: data.nextPageToken\n            }\n        }\n    ];\n} else {\n    return [\n        {\n            json: {\n                videoIds: videoIds\n            }\n        }\n    ];\n}\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -140,
        -380
      ],
      "id": "564db544-cf36-4553-a03b-fa16dc6073aa",
      "name": "Code2",
      "disabled": true
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3.1,
      "position": [
        0,
        -520
      ],
      "id": "012ba8e7-dd97-4da1-9e73-88cabec10621",
      "name": "Merge",
      "disabled": true
    },
    {
      "parameters": {
        "jsCode": "const data = items[0].json;\n\n// Initialisiere das Array f\u00fcr Video-IDs\nlet videoIds = [];\ndata.items.forEach(item => {\n    videoIds.push(item.id.videoId);  // Video-IDs extrahieren\n});\n\n// Wenn ein nextPageToken vorhanden ist, dann gebe es weiter\nif (data.nextPageToken) {\n    return [\n        {\n            json: {\n                videoIds: videoIds,\n                nextPageToken: data.nextPageToken\n            }\n        }\n    ];\n} else {\n    return [\n        {\n            json: {\n                videoIds: videoIds\n            }\n        }\n    ];\n}\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -540,
        -380
      ],
      "id": "d8d0bc9d-7f48-4196-a932-aa6eec4a4da3",
      "name": "Code3",
      "disabled": true
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3.1,
      "position": [
        -380,
        -40
      ],
      "id": "536b560f-6d5f-4901-b549-53f797d8d179",
      "name": "Merge1",
      "disabled": true
    },
    {
      "parameters": {
        "operation": "create",
        "databaseId": 171,
        "tableId": 709,
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": 6921,
              "fieldValue": "={{ $json.videoIds }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.baserow",
      "typeVersion": 1,
      "position": [
        320,
        -60
      ],
      "id": "a55ae208-ea3f-41dd-80ea-821bab372738",
      "name": "Baserow4",
      "credentials": {
        "baserowApi": {
          "name": "<your credential>"
        }
      },
      "disabled": true
    },
    {
      "parameters": {
        "fieldToSplitOut": "videoIds",
        "options": {}
      },
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        -100,
        -40
      ],
      "id": "38753666-204a-4db4-aaa1-07df073a0bb7",
      "name": "Split Out2",
      "disabled": true
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {},
            {
              "triggerAtHour": 12
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -1500,
        -1660
      ],
      "id": "f594d7cd-86c7-4912-8690-f8cb064b1bfe",
      "name": "Schedule Trigger"
    },
    {
      "parameters": {
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "youTubeOAuth2Api",
        "url": "https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&videoId=ABC12345678&maxResults=100",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "part",
              "value": "snippet"
            },
            {
              "name": "id",
              "value": "=Djck56AamAM"
            }
          ]
        }
      },
      "id": "617ca44d-61a9-4f5a-8ac5-a59bd6f8fd48",
      "name": "Get Video Stats",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 2,
      "position": [
        -700,
        -120
      ],
      "credentials": {
        "youTubeOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "disabled": true
    },
    {
      "parameters": {
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "youTubeOAuth2Api",
        "url": "https://www.googleapis.com/youtube/v3/commentThreads",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "part",
              "value": "snippet"
            },
            {
              "name": "videoId",
              "value": "Djck56AamAM"
            },
            {
              "name": "maxResults",
              "value": "100"
            }
          ]
        }
      },
      "id": "85838f6d-bc28-4b1a-9444-487423a92abf",
      "name": "Get YouTube Comments",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 2,
      "position": [
        -960,
        -140
      ],
      "credentials": {
        "youTubeOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "disabled": true
    },
    {
      "parameters": {
        "batchSize": 100,
        "options": {}
      },
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        -1060,
        -1500
      ],
      "id": "e46c2424-3023-417b-9757-33483435a5f5",
      "name": "Loop Over Items"
    },
    {
      "parameters": {
        "content": "## Call DB -> Split in Batches 100 -> API Call HTTPS Youtube -> Update DB\nSHORTS",
        "height": 580,
        "width": 1240
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1600,
        -1780
      ],
      "typeVersion": 1,
      "id": "6bd9d111-b143-4911-8f91-d7f5fc6c68b8",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "operation": "update",
        "databaseId": 183,
        "tableId": 761,
        "rowId": "={{ $('Baserow2').item.json.id }}",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": 7696,
              "fieldValue": "={{ $json.items[0].statistics.viewCount }}"
            },
            {
              "fieldId": 7701,
              "fieldValue": "={{ $json.items[0].statistics.dislikeCount }}"
            },
            {
              "fieldId": 7702,
              "fieldValue": "={{ $json.items[0].statistics.commentCount }}"
            },
            {
              "fieldId": 7700,
              "fieldValue": "={{ $json.items[0].statistics.likeCount }}"
            },
            {
              "fieldId": 7694,
              "fieldValue": "={{ $json.items[0].snippet.title }}"
            },
            {
              "fieldId": 7703,
              "fieldValue": "={{ $json.items[0].snippet.publishedAt }}"
            },
            {
              "fieldId": 7707,
              "fieldValue": "={{ $json.items[0].contentDetails.licensedContent ? \"licensed\" : \"notLicensed\" }}"
            },
            {
              "fieldId": 7706,
              "fieldValue": "={{ $json.items[0].status.embeddable ? \"embeddable\" : \"notEmbeddable\" }}"
            },
            {
              "fieldId": 7705,
              "fieldValue": "={{ $json.items[0].status.privacyStatus }}"
            },
            {
              "fieldId": 7704,
              "fieldValue": "={{ $json.items[0].status.uploadStatus }}"
            },
            {
              "fieldId": 7710,
              "fieldValue": "={{ $json.items[0].contentDetails.contentRating?.ytRating === \"ytAgeRestricted\" ? \"ageRestricted\" : \"notRestricted\" }}"
            },
            {
              "fieldId": 7712,
              "fieldValue": "={{ (($json.items[0].contentDetails.duration || 'PT0S').match(/PT(?:(\\d+)M)?(?:(\\d+)S)?/) || []).slice(1).reduce((acc, val, i) => acc + (parseInt(val || '0', 10) * (i === 0 ? 60 : 1)), 0) }}\n"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.baserow",
      "typeVersion": 1,
      "position": [
        -620,
        -1500
      ],
      "id": "417987ec-581e-482a-b587-233286ec99d0",
      "name": "Baserow",
      "credentials": {
        "baserowApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "databaseId": 183,
        "tableId": 763,
        "returnAll": true,
        "additionalOptions": {}
      },
      "type": "n8n-nodes-base.baserow",
      "typeVersion": 1,
      "position": [
        80,
        -1500
      ],
      "id": "79d864ce-9b4e-4ed4-b261-355d1424c3c2",
      "name": "Baserow5",
      "credentials": {
        "baserowApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "youTubeOAuth2Api",
        "url": "https://www.googleapis.com/youtube/v3/videos",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "part",
              "value": "statistics,snippet,status,contentDetails"
            },
            {
              "name": "id",
              "value": "={{ $json[\"Video-ID\"] }}"
            }
          ]
        }
      },
      "id": "6bc7aa5c-0207-465c-aea9-4f3a6e8a0407",
      "name": "Get Video Stats3",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 2,
      "position": [
        520,
        -1500
      ],
      "credentials": {
        "youTubeOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 23
            },
            {
              "triggerAtHour": 11
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -160,
        -1660
      ],
      "id": "fd6dab67-65cb-432d-9fb9-ee0faf375008",
      "name": "Schedule Trigger1"
    },
    {
      "parameters": {
        "batchSize": 100,
        "options": {}
      },
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        280,
        -1500
      ],
      "id": "b12c02a8-670b-4c2c-b87f-e61b166a9d8a",
      "name": "Loop Over Items1"
    },
    {
      "parameters": {
        "content": "## Call DB -> Split in Batches 100 -> API Call HTTPS Youtube -> Update DB\nLONGFORM VIDEOS",
        "height": 580,
        "width": 1240
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        -1780
      ],
      "typeVersion": 1,
      "id": "648e3cc7-7eee-41df-8f76-37b3887f0eef",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "operation": "update",
        "databaseId": 183,
        "tableId": 763,
        "rowId": "={{ $('Baserow5').item.json.id }}",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": 7737,
              "fieldValue": "={{ $json.items[0].statistics.viewCount }}"
            },
            {
              "fieldId": 7740,
              "fieldValue": "={{ $json.items[0].statistics.dislikeCount }}"
            },
            {
              "fieldId": 7741,
              "fieldValue": "={{ $json.items[0].statistics.commentCount }}"
            },
            {
              "fieldId": 7739,
              "fieldValue": "={{ $json.items[0].statistics.likeCount }}"
            },
            {
              "fieldId": 7735,
              "fieldValue": "={{ $json.items[0].snippet.title }}"
            },
            {
              "fieldId": 7742,
              "fieldValue": "={{ $json.items[0].snippet.publishedAt }}"
            },
            {
              "fieldId": 7746,
              "fieldValue": "={{ $json.items[0].contentDetails.licensedContent ? \"licensed\" : \"notLicensed\" }}"
            },
            {
              "fieldId": 7745,
              "fieldValue": "={{ $json.items[0].status.embeddable ? \"embeddable\" : \"notEmbeddable\" }}"
            },
            {
              "fieldId": 7744,
              "fieldValue": "={{ $json.items[0].status.privacyStatus }}"
            },
            {
              "fieldId": 7743,
              "fieldValue": "={{ $json.items[0].status.uploadStatus }}"
            },
            {
              "fieldId": 7749,
              "fieldValue": "={{ $json.items[0].contentDetails.contentRating?.ytRating === \"ytAgeRestricted\" ? \"ageRestricted\" : \"notRestricted\" }}"
            },
            {
              "fieldId": 7751,
              "fieldValue": "={{ (($json.items[0].contentDetails.duration || 'PT0S').match(/PT(?:(\\d+)M)?(?:(\\d+)S)?/) || []).slice(1).reduce((acc, val, i) => acc + (parseInt(val || '0', 10) * (i === 0 ? 60 : 1)), 0) }}\n"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.baserow",
      "typeVersion": 1,
      "position": [
        720,
        -1500
      ],
      "id": "aba886ee-b2d3-4b61-b36d-d64c447962eb",
      "name": "Baserow6",
      "credentials": {
        "baserowApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Baserow2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video IDs": {
      "main": [
        [
          {
            "node": "Extract Video IDs2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Video IDs2": {
      "main": [
        [
          {
            "node": "Get Video Stats2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video Stats2": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        []
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Split Out1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out1": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Baserow2": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        []
      ]
    },
    "Get Video Stats1": {
      "main": [
        [
          {
            "node": "Baserow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video IDs1": {
      "main": [
        [
          {
            "node": "Code3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video IDs2": {
      "main": [
        [
          {
            "node": "Code2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code2": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Code3": {
      "main": [
        [
          {
            "node": "Get Video IDs2",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "Split Out2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Baserow4": {
      "main": [
        []
      ]
    },
    "Split Out2": {
      "main": [
        []
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Baserow2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Get Video Stats1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Baserow": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Baserow5": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video Stats3": {
      "main": [
        [
          {
            "node": "Baserow6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger1": {
      "main": [
        [
          {
            "node": "Baserow5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items1": {
      "main": [
        [],
        [
          {
            "node": "Get Video Stats3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Baserow6": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "53473c55-d8a1-4d5c-8705-f52fe9419887",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "tVPeKnWVv6EPys80",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Youtube-Metric-Colletor. Uses httpRequest, nocoDb, baserow. Event-driven trigger; 33 nodes.

Source: https://github.com/techfundoffice/Social_media_workflow/blob/01ecbbf24524131a7dec5c9a55b52d1efd71a9bd/Youtube_Metric_Colletor.json — original creator credit. Request a take-down →

More Social Media workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Social Media

Template Description WDF Top Keywords: This workflow is designed to streamline keyword research by automating the process of generating, filtering, and analyzing Google and YouTube keyword data. Ensur

Noco Db, HTTP Request
Social Media

Notion__DriveDropbox_Sync. Uses notionTrigger, googleDrive, dropbox, notion. Event-driven trigger; 47 nodes.

Notion Trigger, Google Drive, Dropbox +3
Social Media

This n8n workflow automates the process of uploading video and image advertisements to Meta Ads Manager via the Meta Graph API (Facebook Ads) directly from Google Sheets and Google Drive. The workflow

Facebook Graph Api, Google Sheets, HTTP Request +2
Social Media

This workflow provides an end-to-end automation for discovering, evaluating, and optionally downloading high-quality educational YouTube videos.

HTTP Request, Google Sheets
Social Media

• Downloads videos/music from YouTube using yt-dlp • Merges assets with dynamic text overlays • Automatically uploads to YouTube as Shorts (9:16 format) • Tracks everything in Google Sheets Install yt

Google Sheets, Execute Command, Read Write File +1