이름으로 Twitter 프로필 찾기, 게시물을 추출하고 AI를 통해 내용을 분석하여 Google Sheets에 저장
고급
이것은AI, Marketing분야의자동화 워크플로우로, 22개의 노드를 포함합니다.주로 If, Set, Code, Form, Html 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. Bright Data와 Gemini를 사용하여 이름으로 검색, 추출, 분석한 Twitter 게시물
사전 요구사항
- •Google Sheets API 인증 정보
- •Google Gemini API Key
사용된 노드 (22)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "AbtPK2RrW116HBH3",
"meta": {
"instanceId": "71eb5622cf8abac565805540c0900dbae437dddbda45bf1b87bf3bfeea26393c",
"templateCredsSetupCompleted": true
},
"name": "Find Twitter Profile by Name, Scrape Posts & Analyze Content with AI, save in Google Sheets.",
"tags": [],
"nodes": [
{
"id": "3f37efb9-0ba6-474a-b5df-d453bb79d8e6",
"name": "웹사이트에서 본문 및 제목 추출",
"type": "n8n-nodes-base.html",
"position": [
660,
0
],
"parameters": {
"options": {
"trimValues": true
},
"operation": "extractHtmlContent",
"dataPropertyName": "body",
"extractionValues": {
"values": [
{
"key": "title",
"cssSelector": "title"
},
{
"key": "body",
"cssSelector": "body"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "89d9a5af-f79a-44ad-87c3-99a410fe52eb",
"name": "사용자 양식 완료 시",
"type": "n8n-nodes-base.formTrigger",
"position": [
0,
0
],
"webhookId": "41d0bffa-f5ca-4df7-b757-ca5a1e472b8a",
"parameters": {
"options": {
"path": "search-user",
"ignoreBots": true,
"buttonLabel": "Get References"
},
"formTitle": "Twitter (X) posts analyzer",
"formFields": {
"values": [
{
"fieldLabel": "Person Fullname",
"placeholder": "Complete the fullname",
"requiredField": true
},
{
"fieldLabel": "Analyze Posts From Date",
"placeholder": "2025-05-01"
},
{
"fieldLabel": "Analyze Posts To Date",
"placeholder": "2025-05-20"
}
]
},
"responseMode": "lastNode",
"formDescription": "Complete the data of the person you want to analyze.\n\nA personalized follow-up email with insights and suggested outreach steps will be sent to you:"
},
"typeVersion": 2.2
},
{
"id": "9cc99302-3a97-471b-8260-b2d0dda37be5",
"name": "URL 편집 Google 검색",
"type": "n8n-nodes-base.set",
"position": [
220,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6b95685b-3286-4643-bfa1-6335d3f8cb39",
"name": "google_search",
"type": "string",
"value": "=https://www.google.com/search?q=site%3Ax.com+{{ encodeURIComponent($json[\"Person Fullname\"].trim()) }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ae25a27d-4631-4131-ac42-ab39ba423806",
"name": "Google Gemini 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
900,
180
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash"
},
"typeVersion": 1
},
{
"id": "dca04cd0-4519-41ae-9b0f-3c202a72cac3",
"name": "구조화된 출력 파서",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1040,
180
],
"parameters": {
"jsonSchemaExample": "[{\n \"username\": \"string\",\n \"name\": \"string\",\n \"url\": \"string\",\n \"description\": \"string\"\n}]\n"
},
"typeVersion": 1.2
},
{
"id": "d26a1cf1-c131-4a78-b968-4d2280c7dd7d",
"name": "양식을 찾을 수 없음",
"type": "n8n-nodes-base.form",
"position": [
1260,
160
],
"webhookId": "a509f577-231f-435f-b3c2-0fed718f0cc8",
"parameters": {
"operation": "completion",
"respondWith": "showText",
"responseText": "=We didn't found X Profile for \"{{ $('When User Completes Form').item.json[\"Person Fullname\"] }} \""
},
"typeVersion": 1
},
{
"id": "d05c6134-02ba-4e75-b062-0994c1802ba1",
"name": "X 프로필이 발견되었는가?",
"type": "n8n-nodes-base.if",
"position": [
1260,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "645d85d3-c5cc-4e51-a989-075c0a851449",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.output[0]['url'] }}",
"rightValue": 1
},
{
"id": "b44e6a86-9a9b-4d3e-b9c8-cf75bba8ed03",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "d2f963d7-4bb9-41d6-b698-028d76e08bd5",
"name": "오류 확인",
"type": "n8n-nodes-base.if",
"position": [
1320,
440
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "645d85d3-c5cc-4e51-a989-075c0a851449",
"operator": {
"type": "string",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.error }}",
"rightValue": 1
},
{
"id": "b44e6a86-9a9b-4d3e-b9c8-cf75bba8ed03",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "34dfe012-f2b0-4921-aff7-2c97eafc206e",
"name": "Google Gemini 채팅 모델1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1780,
660
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash"
},
"typeVersion": 1
},
{
"id": "223f4ef1-2ed0-48e3-a7b6-e2ecb762756f",
"name": "양식 오류",
"type": "n8n-nodes-base.form",
"position": [
1320,
680
],
"webhookId": "a509f577-231f-435f-b3c2-0fed718f0cc8",
"parameters": {
"operation": "completion",
"respondWith": "showText",
"responseText": "=Bright Data error for \"{{ $('When User Completes Form').item.json[\"Person Fullname\"] }} \""
},
"typeVersion": 1
},
{
"id": "28c124cd-dd4b-4a8d-888e-d39709425920",
"name": "Google Sheets - 게시물 및 요약 추가",
"type": "n8n-nodes-base.googleSheets",
"position": [
2140,
440
],
"parameters": {
"columns": {
"value": {
"name": "={{ $('When User Completes Form').item.json['Person Fullname'] }}",
"posts": "={{ $('Code').item.json.posts }}",
"x_url": "={{ $('Parse X Url').item.json.output[0]['url'] }}",
"end_date": "={{ $('When User Completes Form').item.json['Analyze Posts To Date'] }}",
"ai_summary": "={{ $json.text }}",
"start_date": "={{ $('When User Completes Form').item.json['Analyze Posts From Date'] }}"
},
"schema": [
{
"id": "name",
"type": "string",
"display": true,
"required": false,
"displayName": "name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "start_date",
"type": "string",
"display": true,
"required": false,
"displayName": "start_date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "end_date",
"type": "string",
"display": true,
"required": false,
"displayName": "end_date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "x_url",
"type": "string",
"display": true,
"required": false,
"displayName": "x_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "posts",
"type": "string",
"display": true,
"required": false,
"displayName": "posts",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ai_summary",
"type": "string",
"display": true,
"required": false,
"displayName": "ai_summary",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1V1J7E5EKofN9Uhjg_kItpK0Wjh3Ga_To2k_QYj7hcPA/edit#gid=0",
"cachedResultName": "results"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1V1J7E5EKofN9Uhjg_kItpK0Wjh3Ga_To2k_QYj7hcPA",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1V1J7E5EKofN9Uhjg_kItpK0Wjh3Ga_To2k_QYj7hcPA/edit?usp=drivesdk",
"cachedResultName": "X parsed posts"
}
},
"typeVersion": 4.3,
"alwaysOutputData": true
},
{
"id": "abc5d30c-2d5c-4186-ac62-32129f33618e",
"name": "게시물 분석",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1760,
440
],
"parameters": {
"text": "={{$json}}",
"messages": {
"messageValues": [
{
"message": "=Analyze these twitter posts - Detect interests, tone, sentiments, common topics, popularity and return summary"
}
]
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "daee9dbd-c65a-40cf-a84e-b8b9eec4e108",
"name": "X URL 파싱",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
880,
0
],
"parameters": {
"text": "={{$('Extract Body and Title from Website').item.json[\"body\"]}}",
"messages": {
"messageValues": [
{
"message": "=Extract x.com (Twitter) profile from google results. Return a result property with unique parsed result in JSON including a property \"match\" if user matches the data entry values \"{{ $('When User Completes Form').item.json[\"Person Fullname\"].trim() }}\""
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.6
},
{
"id": "b0ae5f34-dcd3-424e-b85b-6a339f701857",
"name": "스냅샷 콘텐츠",
"type": "n8n-nodes-brightdata.brightData",
"position": [
880,
440
],
"parameters": {
"resource": "marketplaceDataset",
"operation": "getSnapshotContent",
"snapshot_id": "={{ $('Snapshot Request').item.json.snapshot_id }}"
},
"typeVersion": 1
},
{
"id": "d697b7b2-3c50-414e-a4d4-8f5f6f582cf9",
"name": "코드",
"type": "n8n-nodes-base.code",
"position": [
1540,
440
],
"parameters": {
"jsCode": "const input = items[0].json;\nconst posts = input.items || [];\n\nconst extracted = posts.map(post => {\n const quoted = post.quoted_post || {};\n const taggedUsers = post.tagged_users || [];\n\n return {\n date_posted: post.date_posted || null,\n description: post.description || null,\n hashtags: post.hashtags || [],\n likes: post.likes || null,\n\n quoted_date_posted: quoted.date_posted || null,\n quoted_description: quoted.description || null,\n\n quotes: post.quotes || 0,\n replies: post.replies || 0,\n reposts: post.reposts || 0,\n\n profile_names: taggedUsers.map(user => user.profile_name || null),\n\n views: post.views || 0,\n };\n});\n\nreturn [\n {\n json: {\n posts: extracted\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "ba5770f0-db44-4032-bd45-1939b5f2740b",
"name": "30초 대기 - Bright Data 폴링",
"type": "n8n-nodes-base.wait",
"position": [
220,
440
],
"webhookId": "8005a2b3-2195-479e-badb-d90e4240e699",
"parameters": {
"amount": 30
},
"executeOnce": false,
"typeVersion": 1.1
},
{
"id": "fe2adace-a369-44ef-b048-eb90f309ee92",
"name": "If - 스냅샷 상태 확인 (데이터 준비 여부)",
"type": "n8n-nodes-base.if",
"position": [
660,
440
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7932282b-71bb-4bbb-ab73-4978e554de7e",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "ready"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "72326f8d-d381-4620-a3a7-1bed7389a146",
"name": "스냅샷 요청",
"type": "n8n-nodes-brightdata.brightData",
"position": [
0,
440
],
"parameters": {
"resource": "marketplaceDataset",
"operation": "filterDataset",
"dataset_id": {
"__rl": true,
"mode": "list",
"value": "gd_lwxkxvnf1cynvib9co",
"cachedResultName": "X (formerly Twitter) - Posts"
},
"filter_type": "filters_group",
"filters_group": "={\"operator\":\"and\",\"filters\":[{\"name\":\"url\",\"operator\":\"includes\",\"value\":\"{{ $json[\"output\"][0]['url'] }}\"},\n{\"name\":\"date_posted\",\"operator\":\">=\",\"value\":\"{{ $('When User Completes Form').item.json[\"Analyze Posts From Date\"] }}\"},\n{\"name\":\"date_posted\",\"operator\":\"<=\",\"value\":\"{{ $('When User Completes Form').item.json[\"Analyze Posts To Date\"] }}\"}]}"
},
"typeVersion": 1
},
{
"id": "665656d5-78e4-480c-a472-ade64f43609c",
"name": "스냅샷 진행 상태",
"type": "n8n-nodes-brightdata.brightData",
"position": [
440,
440
],
"parameters": {
"resource": "marketplaceDataset",
"operation": "getSnapshotMetadata",
"snapshot_id": "={{ $json.snapshot_id }}"
},
"typeVersion": 1
},
{
"id": "f346f9b0-f5f0-452e-932f-b27d956e3383",
"name": "BrightData",
"type": "n8n-nodes-brightdata.brightData",
"position": [
440,
0
],
"parameters": {
"url": "={{ $json.google_search }}",
"zone": {
"__rl": true,
"mode": "list",
"value": "web_unlocker1"
},
"format": "json",
"country": {
"__rl": true,
"mode": "list",
"value": "us"
}
},
"typeVersion": 1
},
{
"id": "3fe4b2e8-4cc6-4e23-a2da-c8c668537036",
"name": "오류 확인1",
"type": "n8n-nodes-base.if",
"position": [
1100,
440
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "645d85d3-c5cc-4e51-a989-075c0a851449",
"operator": {
"type": "array",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.items}}",
"rightValue": "Snapshot is building."
},
{
"id": "b44e6a86-9a9b-4d3e-b9c8-cf75bba8ed03",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "4b5aa6d7-9328-46fa-b333-6b068c5ffa79",
"name": "30초 대기 - 스냅샷 준비 여부 확인",
"type": "n8n-nodes-base.wait",
"position": [
880,
680
],
"webhookId": "8005a2b3-2195-479e-badb-d90e4240e699",
"parameters": {
"amount": 30
},
"executeOnce": false,
"typeVersion": 1.1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "a93d240e-59b4-49a9-84ce-60fdffc2b48f",
"connections": {
"d697b7b2-3c50-414e-a4d4-8f5f6f582cf9": {
"main": [
[
{
"node": "abc5d30c-2d5c-4186-ac62-32129f33618e",
"type": "main",
"index": 0
}
]
]
},
"f346f9b0-f5f0-452e-932f-b27d956e3383": {
"main": [
[
{
"node": "3f37efb9-0ba6-474a-b5df-d453bb79d8e6",
"type": "main",
"index": 0
}
]
]
},
"daee9dbd-c65a-40cf-a84e-b8b9eec4e108": {
"main": [
[
{
"node": "d05c6134-02ba-4e75-b062-0994c1802ba1",
"type": "main",
"index": 0
}
]
]
},
"abc5d30c-2d5c-4186-ac62-32129f33618e": {
"main": [
[
{
"node": "28c124cd-dd4b-4a8d-888e-d39709425920",
"type": "main",
"index": 0
}
]
]
},
"d26a1cf1-c131-4a78-b968-4d2280c7dd7d": {
"main": [
[]
]
},
"d2f963d7-4bb9-41d6-b698-028d76e08bd5": {
"main": [
[
{
"node": "d697b7b2-3c50-414e-a4d4-8f5f6f582cf9",
"type": "main",
"index": 0
}
],
[
{
"node": "223f4ef1-2ed0-48e3-a7b6-e2ecb762756f",
"type": "main",
"index": 0
}
]
]
},
"b0ae5f34-dcd3-424e-b85b-6a339f701857": {
"main": [
[
{
"node": "3fe4b2e8-4cc6-4e23-a2da-c8c668537036",
"type": "main",
"index": 0
}
]
]
},
"72326f8d-d381-4620-a3a7-1bed7389a146": {
"main": [
[
{
"node": "ba5770f0-db44-4032-bd45-1939b5f2740b",
"type": "main",
"index": 0
}
]
]
},
"3fe4b2e8-4cc6-4e23-a2da-c8c668537036": {
"main": [
[
{
"node": "4b5aa6d7-9328-46fa-b333-6b068c5ffa79",
"type": "main",
"index": 0
}
],
[
{
"node": "d2f963d7-4bb9-41d6-b698-028d76e08bd5",
"type": "main",
"index": 0
}
]
]
},
"665656d5-78e4-480c-a472-ade64f43609c": {
"main": [
[
{
"node": "fe2adace-a369-44ef-b048-eb90f309ee92",
"type": "main",
"index": 0
}
]
]
},
"d05c6134-02ba-4e75-b062-0994c1802ba1": {
"main": [
[
{
"node": "72326f8d-d381-4620-a3a7-1bed7389a146",
"type": "main",
"index": 0
}
],
[
{
"node": "d26a1cf1-c131-4a78-b968-4d2280c7dd7d",
"type": "main",
"index": 0
}
]
]
},
"9cc99302-3a97-471b-8260-b2d0dda37be5": {
"main": [
[
{
"node": "f346f9b0-f5f0-452e-932f-b27d956e3383",
"type": "main",
"index": 0
}
]
]
},
"ae25a27d-4631-4131-ac42-ab39ba423806": {
"ai_languageModel": [
[
{
"node": "daee9dbd-c65a-40cf-a84e-b8b9eec4e108",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"dca04cd0-4519-41ae-9b0f-3c202a72cac3": {
"ai_outputParser": [
[
{
"node": "daee9dbd-c65a-40cf-a84e-b8b9eec4e108",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"89d9a5af-f79a-44ad-87c3-99a410fe52eb": {
"main": [
[
{
"node": "9cc99302-3a97-471b-8260-b2d0dda37be5",
"type": "main",
"index": 0
}
]
]
},
"34dfe012-f2b0-4921-aff7-2c97eafc206e": {
"ai_languageModel": [
[
{
"node": "abc5d30c-2d5c-4186-ac62-32129f33618e",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"ba5770f0-db44-4032-bd45-1939b5f2740b": {
"main": [
[
{
"node": "665656d5-78e4-480c-a472-ade64f43609c",
"type": "main",
"index": 0
}
]
]
},
"3f37efb9-0ba6-474a-b5df-d453bb79d8e6": {
"main": [
[
{
"node": "daee9dbd-c65a-40cf-a84e-b8b9eec4e108",
"type": "main",
"index": 0
}
]
]
},
"4b5aa6d7-9328-46fa-b333-6b068c5ffa79": {
"main": [
[
{
"node": "b0ae5f34-dcd3-424e-b85b-6a339f701857",
"type": "main",
"index": 0
}
]
]
},
"fe2adace-a369-44ef-b048-eb90f309ee92": {
"main": [
[
{
"node": "b0ae5f34-dcd3-424e-b85b-6a339f701857",
"type": "main",
"index": 0
}
],
[
{
"node": "ba5770f0-db44-4032-bd45-1939b5f2740b",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 인공지능, 마케팅
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
경쟁 상품 가격 조사 및 보고서 생성기
基于Bright Data의竞品价格쿼리및보고서생성기
If
Set
Code
+
If
Set
Code
19 노드Gleb D
인공지능
Bright Data, Gemini AI 및 Google Sheets를 사용한 키워드별 Crunchbase 스타트업 분석
Bright Data, Gemini AI, Google Sheets를 사용한 키워드별 Crunchbase 스타트업 분석
If
Code
Wait
+
If
Code
Wait
13 노드Gleb D
인공지능
2. Bright Data 키워드 이메일 뉴스 브리프 및 AI 요약
Bright Data 키워드 이메일 뉴스 브리프 및 AI 요약
If
Code
Wait
+
If
Code
Wait
13 노드Gleb D
인공지능
TikTok 게시물 자동화 대리인 V3.1
🚀 Gemini AI와 자동 게시를 사용하여 팟캐스트를 바이러스성 TikTok 클립으로 변환 ✅
If
Set
Code
+
If
Set
Code
54 노드Mateo Fiorito Rocha
디자인
바이럴 제목/섬네일 생성
바이럴 YouTube 제목 및 썸네일 생성 자동화(FLUX.1 + Apify)
If
Set
Code
+
If
Set
Code
41 노드Nasser
인공지능
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타