GPT-4o-mini, 스프레드시트, Slack을 사용한 Reddit 브랜드 모니터링 및 응답 자동화
고급
이것은Social Media, Multimodal AI분야의자동화 워크플로우로, 20개의 노드를 포함합니다.주로 If, Code, Slack, Reddit, GoogleSheets 등의 노드를 사용하며. GPT-4o-mini, 스프레드시트 및 Slack을 통한 Reddit 브랜드 모니터링 및 답글 자동화
사전 요구사항
- •Slack Bot Token 또는 Webhook URL
- •Google Sheets API 인증 정보
- •OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "db30e8ae4100235addbd4638770997b7ef11878d049073c888ba440ca84c55fc"
},
"nodes": [
{
"id": "947d8563-99c3-40bb-9fef-13f482cb8567",
"name": "일일 마케팅 점검",
"type": "n8n-nodes-base.scheduleTrigger",
"notes": "Runs every 24 hours to scan Reddit for brand mentions and engagement opportunities",
"position": [
-1456,
32
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 24
}
]
}
},
"typeVersion": 1.2
},
{
"id": "70d74090-8308-4ff8-995a-afa2b3e53448",
"name": "브랜드 언급 검색",
"type": "n8n-nodes-base.reddit",
"notes": "Searches Reddit for posts mentioning your brand, products, or relevant keywords",
"position": [
-1008,
32
],
"parameters": {
"limit": 50,
"keyword": "={{ $json.brandKeyword }}",
"location": "allReddit",
"operation": "search",
"additionalFields": {
"sort": "new"
}
},
"typeVersion": 1
},
{
"id": "958f4ae4-caf9-46ee-9ab5-e7a5f7cf9da9",
"name": "브랜드 키워드 설정",
"type": "n8n-nodes-base.code",
"notes": "Configure your brand name and relevant keywords to monitor",
"position": [
-1232,
32
],
"parameters": {
"jsCode": "// Configure your brand monitoring keywords\nconst brandKeywords = [\n \"YourBrandName\",\n \"your-product-name\",\n \"industry-keyword\"\n];\n\n// Return array of keywords to search\nreturn brandKeywords.map(keyword => ({\n json: {\n brandKeyword: keyword\n }\n}));"
},
"typeVersion": 2
},
{
"id": "f9fda183-58fe-4b81-a7b3-7ddecaba3ba7",
"name": "AI 게시물 분석",
"type": "@n8n/n8n-nodes-langchain.openAi",
"notes": "Uses AI to analyze sentiment, relevance, and generate contextual responses",
"position": [
-800,
32
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": ""
},
"options": {
"temperature": 0.7
},
"messages": {
"values": [
{}
]
}
},
"typeVersion": 1.4
},
{
"id": "95982fd8-f412-475e-b4a5-6aaa69ec3b58",
"name": "참여 가치 있는 게시물 필터링",
"type": "n8n-nodes-base.if",
"notes": "Only engages with posts that are relevant, high-quality, and appropriate",
"position": [
-576,
32
],
"parameters": {
"options": {},
"conditions": {
"options": {
"combineOperation": "all"
},
"conditions": [
{
"id": "condition-relevant",
"operator": {
"type": "boolean",
"operation": "true"
},
"leftValue": "={{ $json.isRelevant }}",
"rightValue": true
},
{
"id": "condition-score",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $json.engagementScore }}",
"rightValue": 60
},
{
"id": "condition-type",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.responseType }}",
"rightValue": "pass"
}
]
}
},
"typeVersion": 2
},
{
"id": "71b6a70e-fe6a-4f6e-a5c9-c90181696e56",
"name": "게시물 순환 처리",
"type": "n8n-nodes-base.splitInBatches",
"notes": "Process each post one at a time to avoid rate limits",
"position": [
-352,
-48
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "1e154007-38ff-4201-8576-972c99bb9197",
"name": "도움이 되는 댓글 작성",
"type": "n8n-nodes-base.reddit",
"notes": "Posts AI-generated helpful comment to engage with the community",
"position": [
-128,
-48
],
"parameters": {
"postId": "={{ $('Search Brand Mentions').item.json.data.id }}",
"resource": "postComment",
"commentText": "={{ $('AI Post Analysis').item.json.suggestedResponse }}"
},
"typeVersion": 1
},
{
"id": "dcfe45e5-64ec-4d91-abd2-3472b45fb4dc",
"name": "Google Sheets에 기록",
"type": "n8n-nodes-base.googleSheets",
"notes": "Tracks all Reddit interactions in a Google Sheet for analysis",
"position": [
96,
-48
],
"parameters": {
"columns": {
"value": {
"postId": "={{ $('Search Brand Mentions').item.json.data.id }}",
"postUrl": "=https://reddit.com{{ $('Search Brand Mentions').item.json.data.permalink }}",
"postTitle": "={{ $('Search Brand Mentions').item.json.data.title }}",
"reasoning": "={{ $('AI Post Analysis').item.json.reasoning }}",
"sentiment": "={{ $('AI Post Analysis').item.json.sentiment }}",
"subreddit": "={{ $('Search Brand Mentions').item.json.data.subreddit }}",
"timestamp": "={{ $now.toISO() }}",
"responseType": "={{ $('AI Post Analysis').item.json.responseType }}",
"commentPosted": "={{ $json.success ? 'Yes' : 'Failed' }}",
"engagementScore": "={{ $('AI Post Analysis').item.json.engagementScore }}"
},
"schema": [
{
"id": "timestamp",
"type": "string",
"display": true,
"required": false,
"displayName": "timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "postId",
"type": "string",
"display": true,
"required": false,
"displayName": "postId",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "postTitle",
"type": "string",
"display": true,
"required": false,
"displayName": "postTitle",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "subreddit",
"type": "string",
"display": true,
"required": false,
"displayName": "subreddit",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "postUrl",
"type": "string",
"display": true,
"required": false,
"displayName": "postUrl",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "sentiment",
"type": "string",
"display": true,
"required": false,
"displayName": "sentiment",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "engagementScore",
"type": "number",
"display": true,
"required": false,
"displayName": "engagementScore",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "responseType",
"type": "string",
"display": true,
"required": false,
"displayName": "responseType",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "commentPosted",
"type": "string",
"display": true,
"required": false,
"displayName": "commentPosted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "reasoning",
"type": "string",
"display": true,
"required": false,
"displayName": "reasoning",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": []
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "id",
"value": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "YOUR_SHEET_ID"
}
},
"typeVersion": 4.5
},
{
"id": "0c7a75ed-891c-45dd-95fc-c86c0e07862e",
"name": "일일 요약 생성",
"type": "n8n-nodes-base.code",
"notes": "Aggregates all data into a comprehensive daily report",
"position": [
320,
32
],
"parameters": {
"jsCode": "// Aggregate all processed items\nconst items = $input.all();\n\nconst totalPosts = items.length;\nconst postsEngaged = items.filter(i => i.json.commentPosted === 'Yes').length;\nconst sentimentBreakdown = items.reduce((acc, item) => {\n const sentiment = item.json.sentiment || 'unknown';\n acc[sentiment] = (acc[sentiment] || 0) + 1;\n return acc;\n}, {});\n\nconst avgScore = items.reduce((sum, item) => sum + (item.json.engagementScore || 0), 0) / totalPosts;\n\nconst topPosts = items\n .sort((a, b) => (b.json.engagementScore || 0) - (a.json.engagementScore || 0))\n .slice(0, 5)\n .map(item => ({\n title: item.json.postTitle,\n subreddit: item.json.subreddit,\n score: item.json.engagementScore,\n url: item.json.postUrl\n }));\n\nreturn [{\n json: {\n summary: {\n totalPosts,\n postsEngaged,\n engagementRate: `${((postsEngaged / totalPosts) * 100).toFixed(1)}%`,\n avgEngagementScore: avgScore.toFixed(1),\n sentimentBreakdown,\n topPosts,\n reportDate: new Date().toISOString().split('T')[0]\n }\n }\n}];"
},
"typeVersion": 2
},
{
"id": "59090839-871e-4fd1-bd07-251104e4115f",
"name": "Slack 보고서 전송",
"type": "n8n-nodes-base.slack",
"notes": "Sends comprehensive daily report to Slack with metrics and top opportunities",
"position": [
528,
32
],
"webhookId": "671ce43f-0973-4fc1-96ce-d0df355db33b",
"parameters": {
"text": "=📊 *Reddit Brand Marketing Daily Report*\n\n*Date:* {{ $json.summary.reportDate }}\n\n*Overall Performance:*\n• Posts Analyzed: {{ $json.summary.totalPosts }}\n• Comments Posted: {{ $json.summary.postsEngaged }}\n• Engagement Rate: {{ $json.summary.engagementRate }}\n• Avg Engagement Score: {{ $json.summary.avgEngagementScore }}/100\n\n*Sentiment Breakdown:*\n{{ Object.entries($json.summary.sentimentBreakdown).map(([k,v]) => `• ${k}: ${v} posts`).join('\\n') }}\n\n*Top 5 Engagement Opportunities:*\n{{ $json.summary.topPosts.map((post, i) => `${i+1}. ${post.title}\\n 📍 r/${post.subreddit} | Score: ${post.score}\\n 🔗 ${post.url}`).join('\\n\\n') }}\n\n✅ All interactions logged to Google Sheets",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "YOUR_CHANNEL_ID"
},
"otherOptions": {}
},
"typeVersion": 2.2
},
{
"id": "6b53e5f2-79c8-41f9-b779-5efbe6aeaf37",
"name": "메모지",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1904,
-112
],
"parameters": {
"color": 4,
"width": 347,
"height": 469,
"content": "## Reddit Brand Marketing Workflow\n\n**Purpose:** Automate Reddit monitoring and engagement for brand marketing\n\n**Features:**\n- Daily automated scans\n- AI-powered sentiment analysis\n- Smart comment generation\n- Engagement tracking\n- Daily Slack reports\n\n**Setup Required:**\n1. Reddit OAuth credentials\n2. OpenAI API key\n3. Google Sheets document\n4. Slack channel\n5. Configure brand keywords in Code node"
},
"typeVersion": 1
},
{
"id": "4b1cf549-13f1-4acb-bc92-226fc8275380",
"name": "메모지1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1488,
-112
],
"parameters": {
"width": 176,
"height": 112,
"content": "Schedule trigger runs workflow every 24 hours automatically daily\n"
},
"typeVersion": 1
},
{
"id": "61e35218-b58c-42b7-a369-71b42c4d64ef",
"name": "메모지2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1264,
-112
],
"parameters": {
"width": 176,
"height": 112,
"content": "JavaScript code node defining brand keywords to monitor Reddit\n"
},
"typeVersion": 1
},
{
"id": "b9a32a51-137c-48e1-83aa-82d64001e52f",
"name": "메모지3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1040,
-112
],
"parameters": {
"width": 176,
"height": 112,
"content": "Reddit node searches all subreddits for brand keyword mentions\n"
},
"typeVersion": 1
},
{
"id": "9ca8ec09-cd5d-440b-ba21-3f4c69b62a73",
"name": "메모지4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-800,
-112
],
"parameters": {
"width": 320,
"height": 112,
"content": "OpenAI analyzes sentiment, relevance, generates contextual helpful comment responses + Conditional node filters only high-quality relevant posts worth engaging\n"
},
"typeVersion": 1
},
{
"id": "b1e5a451-6954-479c-a225-d9c3bfddc55e",
"name": "메모지5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-384,
-192
],
"parameters": {
"width": 176,
"height": 112,
"content": "Split in batches processes each post individually respecting limits"
},
"typeVersion": 1
},
{
"id": "dafc1ea5-66a4-4bc0-a6e5-9c954295071b",
"name": "메모지6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
-192
],
"parameters": {
"width": 176,
"height": 112,
"content": "Reddit node posts AI-generated comment to worthy Reddit discussions"
},
"typeVersion": 1
},
{
"id": "2e85a5e7-61df-4969-8012-ddb4a1336178",
"name": "메모지7",
"type": "n8n-nodes-base.stickyNote",
"position": [
64,
-192
],
"parameters": {
"width": 176,
"height": 112,
"content": "Appends all interaction data to spreadsheet for permanent tracking\n"
},
"typeVersion": 1
},
{
"id": "4529d6c8-87ca-4d11-a609-6463cfe6d236",
"name": "메모지8",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
-112
],
"parameters": {
"width": 176,
"height": 112,
"content": "JavaScript aggregates metrics, sentiment breakdown, generates comprehensive daily report"
},
"typeVersion": 1
},
{
"id": "ee43aa3b-6acd-40bf-982c-0a667797b886",
"name": "메모지9",
"type": "n8n-nodes-base.stickyNote",
"position": [
496,
-112
],
"parameters": {
"width": 176,
"height": 112,
"content": "Posts formatted daily summary with metrics to team Slack channel"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"f9fda183-58fe-4b81-a7b3-7ddecaba3ba7": {
"main": [
[
{
"node": "95982fd8-f412-475e-b4a5-6aaa69ec3b58",
"type": "main",
"index": 0
}
]
]
},
"71b6a70e-fe6a-4f6e-a5c9-c90181696e56": {
"main": [
[
{
"node": "1e154007-38ff-4201-8576-972c99bb9197",
"type": "main",
"index": 0
}
],
[
{
"node": "0c7a75ed-891c-45dd-95fc-c86c0e07862e",
"type": "main",
"index": 0
}
]
]
},
"dcfe45e5-64ec-4d91-abd2-3472b45fb4dc": {
"main": [
[
{
"node": "71b6a70e-fe6a-4f6e-a5c9-c90181696e56",
"type": "main",
"index": 0
}
]
]
},
"1e154007-38ff-4201-8576-972c99bb9197": {
"main": [
[
{
"node": "dcfe45e5-64ec-4d91-abd2-3472b45fb4dc",
"type": "main",
"index": 0
}
]
]
},
"958f4ae4-caf9-46ee-9ab5-e7a5f7cf9da9": {
"main": [
[
{
"node": "70d74090-8308-4ff8-995a-afa2b3e53448",
"type": "main",
"index": 0
}
]
]
},
"947d8563-99c3-40bb-9fef-13f482cb8567": {
"main": [
[
{
"node": "958f4ae4-caf9-46ee-9ab5-e7a5f7cf9da9",
"type": "main",
"index": 0
}
]
]
},
"70d74090-8308-4ff8-995a-afa2b3e53448": {
"main": [
[
{
"node": "f9fda183-58fe-4b81-a7b3-7ddecaba3ba7",
"type": "main",
"index": 0
}
]
]
},
"0c7a75ed-891c-45dd-95fc-c86c0e07862e": {
"main": [
[
{
"node": "59090839-871e-4fd1-bd07-251104e4115f",
"type": "main",
"index": 0
}
]
]
},
"95982fd8-f412-475e-b4a5-6aaa69ec3b58": {
"main": [
[
{
"node": "71b6a70e-fe6a-4f6e-a5c9-c90181696e56",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 소셜 미디어, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
경쟁 가격 모니터링 및 알림 (Bright Data, Sheets, Slack)
Bright Data, Sheets, Slack을 사용하여 경쟁 가격 모니터링 및 알림을 수행합니다.
If
Set
Code
+
If
Set
Code
29 노드Daniel Shashko
시장 조사
Arunava의 다중 에이전트 지능형 Reddit 자동화
AI 브랜드 언급 및 Baserow 추적으로 Reddit 게시물 자동 댓글 작성
If
Set
Code
+
If
Set
Code
35 노드Arunava
소셜 미디어
WhatsApp, 이메일 및 Twilio SMS를 통해 전송된 식단 업데이트 알림
식품 메뉴 업데이트 알림
If
Set
Code
+
If
Set
Code
22 노드Oneclick AI Squad
소셜 미디어
AI 기반 리드 생성 시스템 (이메일 개인화 및 LinkedIn)
AI 기반 리드 생성 시스템: 이메일 개인화 및 LinkedIn 기능 포함
If
Code
Limit
+
If
Code
Limit
51 노드Matthieu
리드 생성
AI 기반 잠재고객 생성 (Apollo, LinkedIn 리서치 및 4단계 개인화 이메일)
AI 기반 잠재고객 생성: Apollo, LinkedIn 리서치 및 4단계 개인화 이메일 활용
If
Set
Code
+
If
Set
Code
30 노드Gain FLow AI
리드 생성
OpenAI gpt-image-1 및 AI 캡션을 사용한 Instagram 캐러셀 생성 및 게시
Google Sheets에서 GPT-Image-1와 AI 캡션으로 Instagram 캐러셀 자동 생성
If
Set
Code
+
If
Set
Code
32 노드Jorge Martínez
멀티모달 AI
워크플로우 정보
난이도
고급
노드 수20
카테고리2
노드 유형9
저자
Daniel Shashko
@tomaxAI automation specialist and a marketing enthusiast. More than 6 years of experience in SEO/GEO. Senior SEO at Bright Data.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유