AI 기반 뉴스 모니터링 및 소셜 게시물 생성기 - OpenAI 및 Upload-Post
고급
이것은Social Media, Multimodal AI분야의자동화 워크플로우로, 22개의 노드를 포함합니다.주로 If, Code, GoogleSheets, Agent, UploadPost 등의 노드를 사용하며. OpenAI와 Upload-Post를 기반으로 한 AI 기반 뉴스 모니터링 및 소셜 게시물 생성기
사전 요구사항
- •Google Sheets API 인증 정보
- •OpenAI API Key
사용된 노드 (22)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "3378b0d68c3b7ebfc71b79896d94e1a044dec38e99a1160aed4e9c323910fbe2"
},
"nodes": [
{
"id": "b53885b1-ab6b-49ab-931f-2df9e1a4763f",
"name": "섹션: 기사 가져오기",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2544,
1392
],
"parameters": {
"width": 192,
"height": 448,
"content": "**Fetch**\n- RSS Feed Trigger"
},
"typeVersion": 1
},
{
"id": "080f5b14-4418-45a9-a07f-91d1c2a7b288",
"name": "섹션: 분석 및 점수 매기기",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2352,
1392
],
"parameters": {
"width": 344,
"height": 448,
"content": "**Analyze & Score**\n- OpenAI Chat Model (Scoring)\n- Scoring AI"
},
"typeVersion": 1
},
{
"id": "dae4a8c3-057a-4f97-8305-04c6539e3516",
"name": "섹션: 파싱 및 보강",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1248,
1120
],
"parameters": {
"width": 176,
"height": 416,
"content": "**Parse & Enrich**\n- Parse Scoring AI JSON"
},
"typeVersion": 1
},
{
"id": "d5824fef-69dd-4344-97cb-54cb4326d789",
"name": "섹션: 라우팅",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2016,
1392
],
"parameters": {
"width": 400,
"height": 448,
"content": "**Route**\n- Quality Gate\n- Review vs Archive Filter"
},
"typeVersion": 1
},
{
"id": "ff8b6280-94ed-42bb-bdd3-c1a5cb4c74ec",
"name": "섹션: 콘텐츠 생성",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1616,
1120
],
"parameters": {
"width": 380,
"height": 416,
"content": "**Content Generation**\n- OpenAI Chat Model (Content)\n- Content Generation AI\n- Parse Content AI JSON"
},
"typeVersion": 1
},
{
"id": "dc8fd346-298a-4e0b-9df9-2d257e230d7e",
"name": "섹션: 저장 및 게시",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
1120
],
"parameters": {
"width": 312,
"height": 416,
"content": "**Store & Publish**\n- Store Content (Google Sheets)\n- Publish to X, Threads, and LinkedIn"
},
"typeVersion": 1
},
{
"id": "a1b9a4e6-7033-4f6a-b38f-17dd82a54c68",
"name": "섹션: 검토 및 아카이브",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1616,
1536
],
"parameters": {
"width": 360,
"height": 336,
"content": "**Review & Archive**\n- New for Review (Sheet)\n- Archive (Sheet)"
},
"typeVersion": 1
},
{
"id": "ecec5c9b-945a-4b90-be82-3eb918c402c6",
"name": "RSS 피드 트리거",
"type": "n8n-nodes-base.rssFeedReadTrigger",
"position": [
-2496,
1488
],
"parameters": {
"feedUrl": "https://morss.it/https://techcrunch.com/feed/",
"pollTimes": {
"item": [
{
"mode": "everyHour"
}
]
}
},
"typeVersion": 1
},
{
"id": "a589db79-e8da-4381-a537-21e515498a78",
"name": "OpenAI 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-2288,
1664
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "XJdxgMSXFgwReSsh",
"name": "n8n key"
}
},
"typeVersion": 1.2
},
{
"id": "9772cc4e-e487-4383-b806-691736d3b0e4",
"name": "코드",
"type": "n8n-nodes-base.code",
"position": [
-1952,
1488
],
"parameters": {
"jsCode": "// Parse AI Agent JSON response\nconst items = $input.all();\nconst parsedItems = [];\n\nfor (const item of items) {\n const rawResponse = item.json.output;\n \n try {\n // Clean up escaped characters and parse the JSON response from AI\n const cleanedResponse = rawResponse.replace(/\\\\n/g, '').replace(/\\\\/g, '');\n const aiAnalysis = JSON.parse(cleanedResponse);\n \n // Handle key_topics - it might be a string or array\n let topicsString = \"\";\n if (Array.isArray(aiAnalysis.key_topics)) {\n topicsString = aiAnalysis.key_topics.join(\", \");\n } else if (typeof aiAnalysis.key_topics === 'string') {\n topicsString = aiAnalysis.key_topics;\n }\n \n // Combine original article data with parsed AI analysis\n parsedItems.push({\n json: {\n // Original article data\n title: $node[\"RSS Feed Trigger\"].json.title,\n link: $node[\"RSS Feed Trigger\"].json.link,\n pubDate: $node[\"RSS Feed Trigger\"].json.pubDate,\n content: $node[\"RSS Feed Trigger\"].json['content:encoded'],\n \n // Parsed AI analysis\n quality_score: aiAnalysis.quality_score || 5,\n relevance_score: aiAnalysis.relevance_score || 5,\n key_topics: topicsString,\n summary: aiAnalysis.summary || \"No summary provided\",\n content_angle: aiAnalysis.content_angle || \"No angle provided\",\n action: aiAnalysis.action || \"REVIEW\"\n }\n });\n \n } catch (error) {\n // Handle parsing errors gracefully\n console.log(\"Parsing error:\", error.message);\n console.log(\"Raw response:\", rawResponse);\n \n parsedItems.push({\n json: {\n title: $node[\"RSS Feed Trigger\"].json.title,\n link: $node[\"RSS Feed Trigger\"].json.link,\n pubDate: $node[\"RSS Feed Trigger\"].json.pubDate,\n content: $node[\"RSS Feed Trigger\"].json['content:encoded'],\n quality_score: 5,\n relevance_score: 5,\n key_topics: \"Parse Error\",\n summary: \"AI response could not be parsed: \" + error.message,\n content_angle: \"Manual review needed\",\n action: \"REVIEW\"\n }\n });\n }\n}\n\nreturn parsedItems;"
},
"typeVersion": 2
},
{
"id": "95ce7b87-d6ff-4efe-a9b8-d516a3bf8f35",
"name": "심플 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-2192,
1696
],
"parameters": {
"sessionKey": "={{ $execution.id }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.3
},
{
"id": "9f585af3-e98e-4cb0-bdd3-ffc7409d5b9b",
"name": "OpenAI 채팅 모델1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-1520,
1408
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1",
"cachedResultName": "gpt-4.1"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "XJdxgMSXFgwReSsh",
"name": "n8n key"
}
},
"typeVersion": 1.2
},
{
"id": "6d1b0895-a43d-4748-904a-2ec9e35ed7e0",
"name": "코드1",
"type": "n8n-nodes-base.code",
"position": [
-1216,
1232
],
"parameters": {
"jsCode": "// Parse content creation AI response\nconst items = $input.all();\nconst contentItems = [];\n\nfor (const item of items) {\n try {\n const rawResponse = item.json.output;\n const cleanedResponse = rawResponse.replace(/\\\\\\\\n/g, '').replace(/\\\\\\\\/g, '');\n const contentData = JSON.parse(cleanedResponse);\n\n // Get the original article data\n const originalData = $node[\"Code\"].json; // Reference our enhanced parsing node\n\n contentItems.push({\n json: {\n // Original article info\n title: originalData.title,\n link: originalData.link,\n quality_score: originalData.quality_score,\n relevance_score: originalData.relevance_score,\n summary: originalData.summary,\n\n // Generated content\n twitter_thread: contentData.twitter_thread || [],\n linkedin_post: contentData.linkedin_post || \"Content generation failed\",\n content_ready: contentData.content_ready || false,\n\n // Metadata\n created_at: new Date().toISOString(),\n platform_ready: true\n }\n });\n\n } catch (error) {\n // Handle parsing errors\n contentItems.push({\n json: {\n title: $node[\"Code\"].json.title,\n link: $node[\"Code\"].json.link,\n twitter_thread: [\"Content generation failed\"],\n linkedin_post: \"Content generation failed: \" + error.message,\n content_ready: false,\n error: error.message\n }\n });\n }\n}\n\nreturn contentItems;\n"
},
"typeVersion": 2
},
{
"id": "9263bf82-338b-4a87-b16b-f118b03adf1e",
"name": "콘텐츠 저장",
"type": "n8n-nodes-base.googleSheets",
"position": [
-992,
1232
],
"parameters": {
"columns": {
"value": {
"Article Link": "={{ $json.link }}",
"Date Created": "={{ $now }}",
"Article Title": "={{ $json.title }}",
"Quality Score": "={{ $json.quality_score }}",
"Twitter Content": "={{ $json.twitter_thread[0] }}{{ $json.twitter_thread[1] }}{{ $json.twitter_thread[2] }}{{ $json.twitter_thread[3] }}",
"LinkedIn Content": "={{ $json.linkedin_post }}"
},
"schema": [
{
"id": "Date Created",
"type": "string",
"display": true,
"required": false,
"displayName": "Date Created",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Article Title",
"type": "string",
"display": true,
"required": false,
"displayName": "Article Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Article Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Article Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Quality Score",
"type": "string",
"display": true,
"required": false,
"displayName": "Quality Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Twitter Content",
"type": "string",
"display": true,
"required": false,
"displayName": "Twitter Content",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "LinkedIn Content",
"type": "string",
"display": true,
"required": false,
"displayName": "LinkedIn Content",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Published (Yes/No)",
"type": "string",
"display": true,
"required": false,
"displayName": "Published (Yes/No)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Performance Notes",
"type": "string",
"display": true,
"required": false,
"displayName": "Performance Notes",
"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/1lg_9P1CJ8QT2fT2UBZChtxr8TZhpca1LzgSzm65Eldo/edit#gid=0",
"cachedResultName": "Hoja 1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1lg_9P1CJ8QT2fT2UBZChtxr8TZhpca1LzgSzm65Eldo",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lg_9P1CJ8QT2fT2UBZChtxr8TZhpca1LzgSzm65Eldo/edit?usp=drivesdk",
"cachedResultName": "horoscopo"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "3IOU2VjBnR4hGohx",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "b3d1d859-f55c-4a34-9125-98bc4cf1def4",
"name": "검토 대상 신규",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1360,
1568
],
"parameters": {
"columns": {
"value": {
"Link": "={{ $json.link }}",
"Title": "={{ $json.title }}",
"Summary": "={{ $json.summary }}",
"Pub Date": "={{ $json.pubDate }}",
"Content Angle": "={{ $json.content_angle }}",
"Quality Score": "={{ $json.quality_score }}",
"Relevance Score": "={{ $json.relevance_score }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Pub Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Pub Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Quality Score",
"type": "string",
"display": true,
"required": false,
"displayName": "Quality Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Relevance Score",
"type": "string",
"display": true,
"required": false,
"displayName": "Relevance Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Summary",
"type": "string",
"display": true,
"required": false,
"displayName": "Summary",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Content Angle",
"type": "string",
"display": true,
"required": false,
"displayName": "Content Angle",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reviewer",
"type": "string",
"display": true,
"required": false,
"displayName": "Reviewer",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Notes",
"type": "string",
"display": true,
"required": false,
"displayName": "Notes",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1806686957,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qlgo9kKDnD6j7GZ6AhKD3EVbFyQu6MfGNEsNCz9lizg/edit#gid=1806686957",
"cachedResultName": "For Review"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1qlgo9kKDnD6j7GZ6AhKD3EVbFyQu6MfGNEsNCz9lizg",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qlgo9kKDnD6j7GZ6AhKD3EVbFyQu6MfGNEsNCz9lizg/edit?usp=drivesdk",
"cachedResultName": "Content Research System"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "3IOU2VjBnR4hGohx",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "00e54584-0466-413f-8080-d27f5d92e4bc",
"name": "아카이브",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1360,
1728
],
"parameters": {
"columns": {
"value": {
"Link": "={{ $json.link }}",
"Title": "={{ $json.title }}",
"Reason": "={{ $json.summary }}",
"Pub Date": "={{ $json.pubDate }}",
"Quality Score": "={{ $json.quality_score }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Pub Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Pub Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Quality Score",
"type": "string",
"display": true,
"required": false,
"displayName": "Quality Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reason",
"type": "string",
"display": true,
"required": false,
"displayName": "Reason",
"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/1lg_9P1CJ8QT2fT2UBZChtxr8TZhpca1LzgSzm65Eldo/edit#gid=0",
"cachedResultName": "Hoja 1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1lg_9P1CJ8QT2fT2UBZChtxr8TZhpca1LzgSzm65Eldo",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lg_9P1CJ8QT2fT2UBZChtxr8TZhpca1LzgSzm65Eldo/edit?usp=drivesdk",
"cachedResultName": "horoscopo"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "3IOU2VjBnR4hGohx",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "6a76195f-77b3-45e6-b80c-a0e2a21a1124",
"name": "콘텐츠 AI",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1520,
1248
],
"parameters": {
"text": "=Create social media content for this article:\n\nTitle: {{ $json.title }}\nSummary: {{ $json.summary }}\nSuggested Angle: {{ $json.content_angle }}\nLink: {{ $json.link }}\n\nArticle scored {{ $json.quality_score }}/10 for quality and {{ $json.relevance_score }}/10 for relevance.\n",
"options": {
"systemMessage": "You are an expert social media content creator specializing in AI and automation topics.\n\nYour job is to take high-quality articles and create engaging, platform-specific content that drives audience engagement and positions the author as a thought leader.\n\nFor each article, create content for these platforms:\n\nTWITTER THREAD (3-4 tweets):\n- Tweet 1: Hook that grabs attention and introduces the main insight\n- Tweet 2-3: Key takeaways with specific examples or data\n- Tweet 4: Call-to-action with link to original article\n- Use emojis strategically\n- Keep each tweet under 280 characters\n\nLINKEDIN POST:\n- Professional tone suitable for business audience\n- 150-200 word summary highlighting business value\n- Include 2-3 key insights from the article\n- End with an engaging question to drive comments\n- Use professional hashtags (#artificialintelligence #businessautomation #productivity)\n\nReturn your response as valid JSON in this exact format:\n{\n \"twitter_thread\": [\"tweet 1 text\", \"tweet 2 text\", \"tweet 3 text\", \"tweet 4 text\"],\n \"linkedin_post\": \"full linkedin post text here\",\n \"content_ready\": true\n}\n\nFocus on value, insights, and engagement. Avoid being overly promotional."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "c3014888-18b3-415d-902e-aec5e62fe703",
"name": "점수 매기기 AI",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-2288,
1488
],
"parameters": {
"text": "=Analyze this article: {{ $json.title }} - {{ $json['content:encoded'] }}",
"options": {
"systemMessage": "You are a content research assistant specializing in AI and automation topics.\n\nYour job is to analyze articles and determine their value for a content creator who focuses on:\n- AI tools and techniques\n- No-code automation platforms \n- Business automation workflows\n- AI news and developments\n\nIMPORTANT: You must respond with valid JSON in exactly this format:\n\n{\n \"quality_score\": 8,\n \"relevance_score\": 9,\n \"key_topics\": \"AI tools\", \"automation\", \"business efficiency\",\n \"summary\": \"Brief 2-3 sentence summary of the key points and main value.\",\n \"content_angle\": \"Suggested angle for social media content creation\",\n \"action\": \"PUBLISH\"\n}\n\nCRITICAL: Ensure all strings are properly quoted with double quotes. Arrays should contain quoted strings like [\"item1\", \"item2\", \"item3\"].\n\nScoring guidelines:\n- Quality Score (1-10): Based on source credibility, content depth, and usefulness\n- Relevance Score (1-10): How well it matches our AI/automation focus\n- Action: PUBLISH (scores 8+), REVIEW (scores 5-7), or ARCHIVE (scores <5)\n\nOnly return the JSON object, nothing else."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "4f150948-56e7-49e3-aec6-84ea4f34cd64",
"name": "품질 필터",
"type": "n8n-nodes-base.if",
"position": [
-1744,
1488
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "2588090c-6a4a-4609-a8f8-1c7e3cbdda12",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $json.quality_score }}",
"rightValue": 4
}
]
}
},
"typeVersion": 2.2
},
{
"id": "36808aff-bfba-4c6d-aabc-f2b2277b227d",
"name": "품질 필터 2",
"type": "n8n-nodes-base.if",
"position": [
-1584,
1680
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c488b7fd-18a5-432d-af06-7a9748db4778",
"operator": {
"type": "number",
"operation": "gte"
},
"leftValue": "={{ $json.quality_score }}",
"rightValue": 5
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a37813a5-c9d3-4105-9030-e3e9481648d4",
"name": "Twitter, LinkedIn 및 Threads에 업로드",
"type": "n8n-nodes-upload-post.uploadPost",
"position": [
-992,
1376
],
"parameters": {
"user": "automated-tests",
"title": "={{ $json.twitter_thread }}",
"platform": [
"x",
"threads",
"linkedin"
],
"operation": "uploadText",
"linkedinTitle": "={{ $json.linkedin_post }}",
"targetLinkedinPageId": "urn:li:organization:108870530"
},
"credentials": {
"uploadPostApi": {
"id": "mREXP5Q3Gj5dS52e",
"name": "Smoker"
}
},
"typeVersion": 1
},
{
"id": "235e5e8b-37de-4ffc-9c51-650adecbdb77",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2864,
1248
],
"parameters": {
"width": 320,
"height": 752,
"content": "**Automated Content Curation & Creation**\n\n**How it works:**\n1. **Fetch:** Reads new articles from an RSS feed.\n2. **Analyze & Score:** An AI agent evaluates each article for quality and relevance.\n3. **Route:**\n * **High-Quality:** Automatically generates a Twitter thread and a LinkedIn post. The content is then stored in a Google Sheet and published.\n * **Medium-Quality:** Adds the article to a Google Sheet for manual review.\n * **Low-Quality:** Archives the article link for reference.\n4. **Publish:** Posts the generated content to Twitter, LinkedIn, and Threads.\n\n**Setup:**\n* **RSS Feed:** Configure the `RSS Feed Trigger` with your desired news source.\n* **OpenAI:** Add your OpenAI API credentials to the `OpenAI Chat Model` nodes.\n* **Google Sheets:** Authenticate your Google account in the `Store Content`, `New for Review`, and `Archive` nodes. Update the Sheet IDs and names.\n* **Upload Post (Social Media Publishing):**\n 1. **Account:** Go to `https://app.upload-post.com`, create an account, and connect your social media profiles (X/Twitter, LinkedIn, Threads, etc.).\n 2. **API Token:** In your Upload-Post dashboard, generate an API token.\n 3. **n8n Credentials:** In the `Upload to Twitter,Linkedin and Threads` node, click on \"Credential\" and select \"Create New\". Paste the API token you generated in the previous step.\n 4. **LinkedIn Page ID (Optional):** If you want to post to a company page on LinkedIn, find your Page ID (e.g., `urn:li:organization:12345678`) and enter it in the `Target Linkedin Page Id` field. Otherwise, it will post to your personal profile."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"9772cc4e-e487-4383-b806-691736d3b0e4": {
"main": [
[
{
"node": "4f150948-56e7-49e3-aec6-84ea4f34cd64",
"type": "main",
"index": 0
}
]
]
},
"6d1b0895-a43d-4748-904a-2ec9e35ed7e0": {
"main": [
[
{
"node": "a37813a5-c9d3-4105-9030-e3e9481648d4",
"type": "main",
"index": 0
},
{
"node": "9263bf82-338b-4a87-b16b-f118b03adf1e",
"type": "main",
"index": 0
}
]
]
},
"6a76195f-77b3-45e6-b80c-a0e2a21a1124": {
"main": [
[
{
"node": "6d1b0895-a43d-4748-904a-2ec9e35ed7e0",
"type": "main",
"index": 0
}
]
]
},
"c3014888-18b3-415d-902e-aec5e62fe703": {
"main": [
[
{
"node": "9772cc4e-e487-4383-b806-691736d3b0e4",
"type": "main",
"index": 0
}
]
]
},
"95ce7b87-d6ff-4efe-a9b8-d516a3bf8f35": {
"ai_memory": [
[
{
"node": "c3014888-18b3-415d-902e-aec5e62fe703",
"type": "ai_memory",
"index": 0
}
]
]
},
"4f150948-56e7-49e3-aec6-84ea4f34cd64": {
"main": [
[
{
"node": "6a76195f-77b3-45e6-b80c-a0e2a21a1124",
"type": "main",
"index": 0
}
],
[
{
"node": "36808aff-bfba-4c6d-aabc-f2b2277b227d",
"type": "main",
"index": 0
}
]
]
},
"36808aff-bfba-4c6d-aabc-f2b2277b227d": {
"main": [
[
{
"node": "b3d1d859-f55c-4a34-9125-98bc4cf1def4",
"type": "main",
"index": 0
}
],
[
{
"node": "00e54584-0466-413f-8080-d27f5d92e4bc",
"type": "main",
"index": 0
}
]
]
},
"ecec5c9b-945a-4b90-be82-3eb918c402c6": {
"main": [
[
{
"node": "c3014888-18b3-415d-902e-aec5e62fe703",
"type": "main",
"index": 0
}
]
]
},
"a589db79-e8da-4381-a537-21e515498a78": {
"ai_languageModel": [
[
{
"node": "c3014888-18b3-415d-902e-aec5e62fe703",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"9f585af3-e98e-4cb0-bdd3-ffc7409d5b9b": {
"ai_languageModel": [
[
{
"node": "6a76195f-77b3-45e6-b80c-a0e2a21a1124",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 소셜 미디어, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
✨🩷 자동 소셜 미디어 콘텐츠 배포 공장 + 시스템 튜링 조합
GPT-4o를 사용하여 6개 플랫폼에서 플랫폼 최적화된 소셜 미디어 내용 생성
If
Set
Code
+
If
Set
Code
100 노드Luan Correia
소셜 미디어
LinkedIn 콘텐츠 공장(含 OpenAI 연구 및 브랜드 이미지 생성)
LinkedIn 콘텐츠 공장, OpenAI 연구 및 Replicate 브랜드 이미지 생성 통합
If
Set
Code
+
If
Set
Code
23 노드Onur
소셜 미디어
Facebook 페이지 댓글 관리 봇: 답글, 삭제, 차단 및 알림
AI 기반 Facebook 댓글 관리: 자동 답글, 삭제, 차단 및 알림
If
Set
Code
+
If
Set
Code
59 노드SpaGreen Creative
소셜 미디어
Gemini AI를 사용하여 모든 웹페이지 기사를 소셜 미디어 자동 게시 글으로 변환
Gemini AI를 사용하여 웹사이트 글을 X, LinkedIn, Reddit, Threads의 소셜 게시물로 자동 게시
If
Set
Wait
+
If
Set
Wait
12 노드Juan Carlos Cavero Gracia
소셜 미디어
YouTube 비디오 기반 자율 블로그 게시
ChatGPT, Sheets, Apify, Pexels, WordPress를 사용하여 YouTube 비디오를 자동으로 블로그에 게시합니다.
If
Set
Code
+
If
Set
Code
80 노드Oriol Seguí
콘텐츠 제작
블로그 쓰기와 편집기
基于Google Sheets记忆의블로그写作与编辑器 (GPT-4)
If
Code
Filter
+
If
Code
Filter
18 노드Robert Breen
콘텐츠 제작
워크플로우 정보
난이도
고급
노드 수22
카테고리2
노드 유형9
저자
Juan Carlos Cavero Gracia
@carlosgraciaFollow me in linkedin: https://www.linkedin.com/in/juan-carlos-cavero-gracia/
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유