This workflow corresponds to n8n.io template #7629 — we link there as the canonical source.
This workflow follows the Form Trigger → Google Docs recipe pattern — see all workflows that pair these two integrations.
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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "73a62d48-7492-4ba2-bb94-c33382e9e561",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
0,
0
],
"parameters": {
"options": {},
"formTitle": "YouTube Channel Metadata ",
"formFields": {
"values": [
{
"fieldLabel": "url",
"placeholder": "Channel url",
"requiredField": true
}
]
},
"formDescription": "YouTube Channel Metadata"
},
"typeVersion": 2.2
},
{
"id": "060b798e-25de-4acf-b563-c299ce006f81",
"name": "Reformat",
"type": "n8n-nodes-base.code",
"position": [
460,
0
],
"parameters": {
"jsCode": "// Get the first channel object from items array\nconst channel = $input.first().json.items[0];\n\nconst {\n snippet,\n statistics,\n brandingSettings,\n} = channel;\n\nconst title = snippet.title || 'No title';\nconst description = snippet.description || 'No description available';\nconst customUrl = snippet.customUrl || 'No custom URL';\nconst publishedDate = new Date(snippet.publishedAt).toLocaleDateString();\nconst country = snippet.country || 'Not specified';\n\nconst subscriberCount = statistics.subscriberCount || '0';\nconst viewCount = statistics.viewCount || '0';\nconst videoCount = statistics.videoCount || '0';\n\nconst bannerUrl = brandingSettings.image?.bannerExternalUrl || 'No banner URL';\nconst keywords = brandingSettings.channel?.keywords || 'No keywords';\n\n// Prepare formatted string\nconst formatted = `\n\ud83d\udcfa **Channel:** ${title} \n\ud83d\udd17 **Custom URL:** https://youtube.com/${customUrl} \n\ud83d\uddd3\ufe0f **Published On:** ${publishedDate} \n\ud83c\udf0d **Country:** ${country}\n\n\ud83d\udc65 **Subscribers:** ${subscriberCount} \n\ud83d\udc41\ufe0f **Total Views:** ${viewCount} \n\ud83c\udfa5 **Total Videos:** ${videoCount}\n\n\ud83d\udcdd **Description:** \n${description}\n\n\ud83c\udff7\ufe0f **Keywords:** ${keywords}\n\n\ud83d\uddbc\ufe0f **Banner Image:** \n${bannerUrl}\n`;\n\n// Return formatted string\nreturn [\n {\n json: {\n docContent: formatted.trim(),\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "fca2fbf5-db93-4d05-8e70-c89f90edfaf0",
"name": "Add Data in Google Docs",
"type": "n8n-nodes-base.googleDocs",
"position": [
720,
0
],
"parameters": {
"actionsUi": {
"actionFields": [
{
"text": "={{ $json.docContent }}",
"action": "insert"
}
]
},
"operation": "update",
"documentURL": "",
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "cff9cbb2-6fc4-4a66-a0b0-16dae3c1fd38",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-720,
-240
],
"parameters": {
"width": 520,
"height": 1300,
"content": "# **YouTube Channel Metadata to Google Docs**\n\n# Workflow Description \n\nThis workflow takes a YouTube channel URL submitted via a form, fetches detailed channel metadata using a RapidAPI service, reformats the data into a nicely structured text, and appends it to a Google Docs document.\n\n\n## Nodes Breakdown\n\n### 1. **On form submission** (Form Trigger) \n*Triggers the workflow when a user submits a YouTube Channel URL via the web form.*\n\n- Collects user input (YouTube channel URL) to start the workflow.\n\n---\n\n### 2. **YouTube Channel Metadata** (HTTP Request) \n*Calls the RapidAPI YouTube Channel Metadata API with the submitted URL.*\n\n- Sends a POST request with the channel URL to fetch channel data like title, subscribers, description, etc.\n\n---\n\n### 3. **Reformat** (Code) \n*Transforms the raw API JSON response into a clean, human-readable formatted string.*\n\n- Extracts relevant fields (title, subscribers, keywords, etc.) \n- Formats data with emojis and markdown-style layout for easy reading \n- Outputs the formatted string as `docContent`\n\n---\n\n### 4. **Add Data in Google Docs** (Google Docs) \n*Inserts the formatted channel metadata text into a specified Google Docs document.*\n\n- Uses Google Docs API with service account authentication \n- Appends the formatted channel data into the doc for record-keeping or sharing\n\n# Summary \n\nThis flow is designed to automate the process of collecting YouTube channel information from a URL, processing that data into a readable format, and storing it neatly in Google Docs \u2014 all triggered by a simple user form submission.\n"
},
"typeVersion": 1
},
{
"id": "2fa66d15-6311-44ff-820a-7bdf42d3b711",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-100,
-220
],
"parameters": {
"height": 360,
"content": "**On form submission** (Form Trigger) \n*Triggers the workflow when a user submits a YouTube Channel URL via the web form.*\n\n- Collects user input (YouTube channel URL) to start the workflow.\n"
},
"typeVersion": 1
},
{
"id": "f6b5cf9b-4bb1-43cb-b0b9-90fa777d913a",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
-260
],
"parameters": {
"height": 400,
"content": "**YouTube Channel Metadata** (HTTP Request) \n*Calls the RapidAPI YouTube Channel Metadata API with the submitted URL.*\n\n- Sends a POST request with the channel URL to fetch channel data like title, subscribers, description, etc.\n"
},
"typeVersion": 1
},
{
"id": "070451b2-9a0b-423b-bbd8-aa163d57178c",
"name": "YouTube Channel Metadata",
"type": "n8n-nodes-base.httpRequest",
"position": [
220,
0
],
"parameters": {
"url": "https://youtube-metadata1.p.rapidapi.com/channel_metadata.php",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "url",
"value": "={{ $json.url }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "x-rapidapi-host",
"value": "youtube-metadata1.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "your key"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "9d71eabf-7243-47ce-aa41-9ca2d8bcade4",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
420,
-260
],
"parameters": {
"height": 400,
"content": "**Reformat** (Code) \n*Transforms the raw API JSON response into a clean, human-readable formatted string.*\n\n- Extracts relevant fields (title, subscribers, keywords, etc.) \n- Formats data with emojis and markdown-style layout for easy reading \n- Outputs the formatted string as `docContent`"
},
"typeVersion": 1
},
{
"id": "62b9f2a3-2ecc-4a50-979e-e0aaddb24f7c",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
-260
],
"parameters": {
"height": 400,
"content": "**Add Data in Google Docs** (Google Docs) \n*Inserts the formatted channel metadata text into a specified Google Docs document.*\n\n- Uses Google Docs API with service account authentication \n- Appends the formatted channel data into the doc for record-keeping or sharing\n"
},
"typeVersion": 1
}
],
"connections": {
"Reformat": {
"main": [
[
{
"node": "Add Data in Google Docs",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "YouTube Channel Metadata",
"type": "main",
"index": 0
}
]
]
},
"YouTube Channel Metadata": {
"main": [
[
{
"node": "Reformat",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
googleApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Description: This workflow leverages the powerful YouTube Metadata API to automatically extract detailed metadata from any YouTube channel URL. Using the YouTube Metadata API, it collects information like subscribers, views, keywords, and banners, reformats it for readability,…
Source: https://n8n.io/workflows/7629/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Description: This workflow leverages the YouTube Metadata API to automatically extract detailed video information from any YouTube URL. It uses n8n to automate the entire process and stores the metada
Convert YouTube videos into SEO-friendly blog posts in just seconds using this fully automated n8n workflow. Perfect for content creators, marketers, educators, and bloggers looking to repurpose video
Notion__DriveDropbox_Sync. Uses notionTrigger, googleDrive, dropbox, notion. Event-driven trigger; 47 nodes.
Content creators, AI video enthusiasts, and digital marketers who want to analyze successful short-form videos and understand their production techniques. Perfect for anyone looking to reverse-enginee
This n8n template demonstrates how to generate subtitle overlays for YouTube videos and save the final files to Google Drive. It is useful when you want accessible video outputs without manually editi