YouTube 채널 지능형 수집기
중급
이것은Marketing분야의자동화 워크플로우로, 15개의 노드를 포함합니다.주로 Set, Code, HttpRequest, GoogleSheets, GoogleSheetsTrigger 등의 노드를 사용하며. Google 스프레드시트와 SerpAPI를 사용하여 유튜브 채널 통계 데이터와 연락처 정보를 수집합니다.
사전 요구사항
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Sheets API 인증 정보
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "vSYWa1hSKAvedWWp",
"meta": {
"instanceId": "84ad02d6104594179f43f1ce9cfe3a81637b2faedb57dafcb9e649b7542988db",
"templateCredsSetupCompleted": true
},
"name": "Youtube Channel Intelligence Collector",
"tags": [],
"nodes": [
{
"id": "c59d8ffd-f78e-4ac5-ae00-19075db988a8",
"name": "새 채널 추가됨",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
0,
0
],
"parameters": {
"event": "rowAdded",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ/edit?usp=drivesdk",
"cachedResultName": "Youtube Channel Intelligence Collector"
}
},
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"id": "AO0UQdc9V05KNPDB",
"name": "Google Sheets Trigger account 2"
}
},
"typeVersion": 1
},
{
"id": "4cd2932b-953c-4ece-af21-6b68e7c7fc7c",
"name": "채널 정보 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
220,
0
],
"parameters": {
"url": "https://www.googleapis.com/youtube/v3/channels?part=statistics,snippet&id=UC_x5XG1OV2P6uZZ5FSM9Ttw&key=YOUR_KEY"
},
"typeVersion": 4.2
},
{
"id": "57841966-eedc-4ac5-b699-1c8241409880",
"name": "채널 통계 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
440,
0
],
"parameters": {
"url": "https://www.googleapis.com/youtube/v3/search",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "channelId",
"value": "={{ $json.items[0].id }}"
},
{
"name": "part",
"value": "snippet"
},
{
"name": "order",
"value": "date"
},
{
"name": "maxResults",
"value": "5"
},
{
"name": "key",
"value": "YOUR_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "86b1b984-aa03-4aed-b4d8-3eb861408e1b",
"name": "최근 동영상 조회수 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
740,
0
],
"parameters": {
"url": "=https://www.googleapis.com/youtube/v3/videos?part=statistics&id={{ $json.items[0].id.videoId }},{{ $json.items[1].id.videoId }},{{ $json.items[2].id.videoId }},{{ $json.items[3].id.videoId }},{{ $json.items[4].id.videoId }},def456,ghi789&key=YOUR_KEY",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "edbac4ab-c0c6-402a-b579-45ddb9ee7a87",
"name": "조회수 합계 준비",
"type": "n8n-nodes-base.set",
"position": [
960,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "9aaec402-4a0a-4908-a416-35dbe86f4278",
"name": "Video 1 views",
"type": "number",
"value": "={{ $json.items[0].statistics.viewCount }}"
},
{
"id": "5d5eec14-2ca7-41d7-b447-4784de1d77b5",
"name": "Video 2 views",
"type": "number",
"value": "={{ $json.items[1].statistics.viewCount }}"
},
{
"id": "02b2879b-e0bb-4a1e-a0c0-ce59a03bc2de",
"name": "Video 3 views",
"type": "number",
"value": "={{ $json.items[2].statistics.viewCount }}"
},
{
"id": "75d4f2f3-5b07-48d1-b22a-dda29140426e",
"name": "Video 4 views",
"type": "number",
"value": "={{ $json.items[3].statistics.viewCount }}"
},
{
"id": "83e29b86-bb0e-4661-a1a3-6907d46dbc0d",
"name": "Video 5 views",
"type": "number",
"value": "={{ $json.items[4].statistics.viewCount }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "94c8c406-ab91-44f1-aba4-74df7bf2e347",
"name": "동영상 조회수 합계",
"type": "n8n-nodes-base.code",
"position": [
1180,
0
],
"parameters": {
"jsCode": "// Get the first item (your input object)\nconst data = items[0].json;\n\nlet totalViews = 0;\n\nfor (const key in data) {\n if (data.hasOwnProperty(key) && key.includes('views')) {\n totalViews += data[key];\n }\n}\n\nreturn [\n {\n json: {\n ...data,\n totalViews\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "58f38623-d210-45da-9eb3-71f7914859da",
"name": "채널 이메일 가져오기 (SerpAPI)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1460,
0
],
"parameters": {
"url": "=https://serpapi.com/search.json?engine=youtube_channel_about&channel_url=https://www.youtube.com/channel/{{ $('New Channel Added').item.json['Channel ID'] }}&api_key=YOUR_SERPAPI_KEY",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "a8f1aab2-ad08-4711-9a2c-2d4e953407af",
"name": "시트 데이터 준비",
"type": "n8n-nodes-base.set",
"position": [
1680,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "9ab4a9fc-15ed-459a-96b6-22d4b8fb05bd",
"name": "Recent Views",
"type": "string",
"value": "={{ $('Sum Video Views').item.json.totalViews }}"
},
{
"id": "4681d235-d066-4d09-9c79-54f2395a6750",
"name": "Total Subscribers",
"type": "string",
"value": "={{ $('Get info about channel').item.json.items[0].statistics.subscriberCount }}"
},
{
"id": "351ec081-ea7f-4ceb-a1f6-038a4747b754",
"name": "Email",
"type": "string",
"value": "={{ $json.channel_about_page.email }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ac7a8ddc-3347-4860-a080-70efcaded6b6",
"name": "채널 인사이트 업데이트",
"type": "n8n-nodes-base.googleSheets",
"position": [
1980,
0
],
"parameters": {
"columns": {
"value": {
"Email": "={{ $json.Email }}",
"Channel ID": "={{ $('New Channel Added').item.json['Channel ID'] }}",
"Recent Views": "={{ $json['Recent Views'] }}",
"Total Subscribers": "={{ $json['Total Subscribers'] }}"
},
"schema": [
{
"id": "Channel ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Channel ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Recent Views",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Recent Views",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Total Subscribers",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Total Subscribers",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Channel ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ/edit?usp=drivesdk",
"cachedResultName": "Youtube Channel Intelligence Collector"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "K5yYfUnKFTqaRn6A",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "300c814f-fca0-439e-8b4f-3d7031644b42",
"name": "스티커 메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-760
],
"parameters": {
"color": 3,
"width": 640,
"height": 960,
"content": "### 🔹 SECTION 1: **Channel Identification & Stats Fetching**\n\n🔔 It all begins when a new channel URL is added to Google Sheets. The `New Channel Added` trigger detects this input and passes it to the next node.\n\n🔎 The `Get Channel ID from URL` node uses YouTube’s Data API to convert the given channel username or custom URL into a valid `channelId`.\n\n📊 Once the channel ID is resolved, the `Get Channel Stats` node fetches vital metrics like subscriber count, total video count, and overall view count — giving you an immediate sense of the channel’s reach and authority.\n\nThis section acts as the \"identity and reputation layer\" — establishing who the channel is and how large its audience might be.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "c4da8233-ca33-4f73-b9dc-034216af6a78",
"name": "스티커 메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
-720
],
"parameters": {
"color": 5,
"width": 640,
"height": 920,
"content": "## 🔹 SECTION 2: **Recent Video Intelligence**\n\n🆕 The `Get Recent Video IDs` node fetches the 5 most recent uploads by the channel using the `search` endpoint, ordered by date. This helps focus on the freshest content for engagement analysis.\n\n🧹 Next, the `Prepare Video Views to Sum` node extracts and organizes the returned video IDs into a structured format ready for bulk analysis.\n\n➕ The `Sum Video Views` node — a custom Code block — takes each video ID, fetches its statistics, and aggregates the `viewCount`. You can either sum or average these views to calculate recent performance.\n\nThis section is your \"engagement tracker,\" offering insight into how actively viewers are interacting with the channel’s newest content — critical for B2B qualification or influencer assessment.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "7a4f720e-380b-4557-bbcc-8cf864b32117",
"name": "스티커 메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1420,
-840
],
"parameters": {
"color": 6,
"width": 400,
"height": 1040,
"content": "### 🔹 SECTION 3: **Contact Intelligence**\n\n✉️ The `Get Channel Email (SerpAPI)` node attempts to retrieve the public email address listed on the channel’s “About” page. Since this action requires bypassing CAPTCHA (which APIs like YouTube don't support), we use SerpAPI to simulate and extract the result.\n\n⚠️ If no email is available due to protection or limitations, fallback logic can be added later to log this for manual review.\n\nThis section aims to uncover the **real outreach opportunity**, pulling direct contact information when available — making it a powerful lead-gen component.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "c3c77b39-7d8b-4f9e-9f4c-d8ea5c990f06",
"name": "스티커 메모3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1880,
-960
],
"parameters": {
"color": 4,
"width": 340,
"height": 1160,
"content": "### 🔹 SECTION 4: **Data Assembly & Sheet Update**\n\n🧩 The `Prepare Sheet Data` node cleanly formats all collected insights — channel statistics, recent video performance, and email — into one tidy object.\n\n📤 Finally, the `Update Channel Insights` node updates the original Google Sheet row with the newly enriched data. This makes your sheet a live intelligence dashboard, auto-updated every time a new channel is added.\n\nThis last section is the \"insight publishing engine,\" ensuring all collected intelligence is centralized, structured, and ready for decision-making or follow-up.\n\n---\n\n\n"
},
"typeVersion": 1
},
{
"id": "3d4d8722-e423-4941-8413-4953ec41487c",
"name": "스티커 메모9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1660,
-760
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "9d04bc2b-eea5-4d93-9b43-044011b99876",
"name": "스티커 메모4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1660,
-420
],
"parameters": {
"color": 4,
"width": 1289,
"height": 1938,
"content": "## 🎯 **YouTube Channel Intelligence Collector — Grouped Workflow Overview**\n\n---\n\n### 🔹 SECTION 1: **Channel Identification & Stats Fetching**\n\n🔔 It all begins when a new channel URL is added to Google Sheets. The `New Channel Added` trigger detects this input and passes it to the next node.\n\n🔎 The `Get Channel ID from URL` node uses YouTube’s Data API to convert the given channel username or custom URL into a valid `channelId`.\n\n📊 Once the channel ID is resolved, the `Get Channel Stats` node fetches vital metrics like subscriber count, total video count, and overall view count — giving you an immediate sense of the channel’s reach and authority.\n\nThis section acts as the \"identity and reputation layer\" — establishing who the channel is and how large its audience might be.\n\n---\n\n### 🔹 SECTION 2: **Recent Video Intelligence**\n\n🆕 The `Get Recent Video IDs` node fetches the 5 most recent uploads by the channel using the `search` endpoint, ordered by date. This helps focus on the freshest content for engagement analysis.\n\n🧹 Next, the `Prepare Video Views to Sum` node extracts and organizes the returned video IDs into a structured format ready for bulk analysis.\n\n➕ The `Sum Video Views` node — a custom Code block — takes each video ID, fetches its statistics, and aggregates the `viewCount`. You can either sum or average these views to calculate recent performance.\n\nThis section is your \"engagement tracker,\" offering insight into how actively viewers are interacting with the channel’s newest content — critical for B2B qualification or influencer assessment.\n\n---\n\n### 🔹 SECTION 3: **Contact Intelligence**\n\n✉️ The `Get Channel Email (SerpAPI)` node attempts to retrieve the public email address listed on the channel’s “About” page. Since this action requires bypassing CAPTCHA (which APIs like YouTube don't support), we use SerpAPI to simulate and extract the result.\n\n⚠️ If no email is available due to protection or limitations, fallback logic can be added later to log this for manual review.\n\nThis section aims to uncover the **real outreach opportunity**, pulling direct contact information when available — making it a powerful lead-gen component.\n\n---\n\n### 🔹 SECTION 4: **Data Assembly & Sheet Update**\n\n🧩 The `Prepare Sheet Data` node cleanly formats all collected insights — channel statistics, recent video performance, and email — into one tidy object.\n\n📤 Finally, the `Update Channel Insights` node updates the original Google Sheet row with the newly enriched data. This makes your sheet a live intelligence dashboard, auto-updated every time a new channel is added.\n\nThis last section is the \"insight publishing engine,\" ensuring all collected intelligence is centralized, structured, and ready for decision-making or follow-up.\n\n---\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Get Channel Email (SerpAPI)": [
{
"json": {
"channel_about_page": {
"email": "contact@googledevs.com",
"location": "United States",
"channel_url": "https://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9Ttw",
"description": "Welcome to Google Developers!"
}
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "7a80e42b-85b9-4bb9-8f43-adea423f228d",
"connections": {
"94c8c406-ab91-44f1-aba4-74df7bf2e347": {
"main": [
[
{
"node": "58f38623-d210-45da-9eb3-71f7914859da",
"type": "main",
"index": 0
}
]
]
},
"57841966-eedc-4ac5-b699-1c8241409880": {
"main": [
[
{
"node": "86b1b984-aa03-4aed-b4d8-3eb861408e1b",
"type": "main",
"index": 0
}
]
]
},
"c59d8ffd-f78e-4ac5-ae00-19075db988a8": {
"main": [
[
{
"node": "4cd2932b-953c-4ece-af21-6b68e7c7fc7c",
"type": "main",
"index": 0
}
]
]
},
"a8f1aab2-ad08-4711-9a2c-2d4e953407af": {
"main": [
[
{
"node": "ac7a8ddc-3347-4860-a080-70efcaded6b6",
"type": "main",
"index": 0
}
]
]
},
"edbac4ab-c0c6-402a-b579-45ddb9ee7a87": {
"main": [
[
{
"node": "94c8c406-ab91-44f1-aba4-74df7bf2e347",
"type": "main",
"index": 0
}
]
]
},
"86b1b984-aa03-4aed-b4d8-3eb861408e1b": {
"main": [
[
{
"node": "edbac4ab-c0c6-402a-b579-45ddb9ee7a87",
"type": "main",
"index": 0
}
]
]
},
"4cd2932b-953c-4ece-af21-6b68e7c7fc7c": {
"main": [
[
{
"node": "57841966-eedc-4ac5-b699-1c8241409880",
"type": "main",
"index": 0
}
]
]
},
"58f38623-d210-45da-9eb3-71f7914859da": {
"main": [
[
{
"node": "a8f1aab2-ad08-4711-9a2c-2d4e953407af",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 마케팅
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
AI YouTube 분석 어시스턴트: 댓글 분석 및 인사이트 리포트
AI YouTube 분석 어시스턴트: 댓글 분석기 및 인사이트 리포트 생성기
If
Set
Code
+
If
Set
Code
19 노드Yaron Been
인공지능
GPT-4를 사용한 LinkedIn 게시물 자동 생성 및 프로필/그룹에 배포
GPT-4로 LinkedIn 게시물 자동 생성 및 프로필, 그룹에 배포
If
Code
Limit
+
If
Code
Limit
14 노드Yaron Been
인공지능
CrunchBase 투자자 데이터
자동화投资者情报:CrunchBase로Google Sheets데이터采集器
Code
Http Request
Google Sheets
+
Code
Http Request
Google Sheets
8 노드Yaron Been
금융
Bright Data와 LLMs로 대규모 초개인화 아웃리치 자동화
Bright Data 및 대규모 언어 모델을 통한 대규모 초개인화 아웃리치 자동화
If
Set
Wait
+
If
Set
Wait
21 노드Yaron Been
영업
CrunchBase 경쟁사 추적
자동 경쟁사 인텔리전스: CrunchBase에서 ClickUp으로의 추적 워크플로
Set
Code
Click Up
+
Set
Code
Click Up
9 노드Yaron Been
마케팅
Crunchbase 자금 조달 라운드
CrunchBase에서 Google 스프레드시트로의 자동 자금 조달 인텔리전스 추적 워크플로
Code
Http Request
Google Sheets
+
Code
Http Request
Google Sheets
8 노드Yaron Been
마케팅
워크플로우 정보
난이도
중급
노드 수15
카테고리1
노드 유형6
저자
Yaron Been
@yaron-nofluffBuilding AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유