RSS에서 LinkedIn 자동 게시기
고급
이것은Social Media, Multimodal AI분야의자동화 워크플로우로, 19개의 노드를 포함합니다.주로 If, Code, LinkedIn, Aggregate, HttpRequest 등의 노드를 사용하며. RSS + Gemini AI + Templated.io로 LinkedIn 회사 페이지 자동 큐레이션 및 게시
사전 요구사항
- •LinkedIn API 인증 정보
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Gemini API Key
사용된 노드 (19)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"templateCredsSetupCompleted": false
},
"name": "RSS to LinkedIn Auto-Poster",
"nodes": [
{
"name": "메모지",
"type": "n8n-nodes-base.stickyNote",
"position": [
-496,
-360
],
"parameters": {
"width": 384,
"height": 704,
"content": "## 🧠 Workflow Overview \n\nThis workflow automatically curates articles from an RSS feed and turns them into short, ready-to-post LinkedIn updates using **Gemini AI**.\n\n### 🔁 What it does \n- Fetches fresh articles twice a week \n- Uses AI to pick the most relevant one for your audience \n- Summarizes it into a crisp LinkedIn-style post \n- Checks post quality → only publishes if score ≥ 7/10 \n- Creates a graphic using Templated\n- Auto-posts to your LinkedIn Page \n\n### ⚙️ What you need \n- Gemini API credentials \n- LinkedIn OAuth2 connection \n- Any RSS feed URL (replace the default)\n- Templated API\n"
},
"typeVersion": 1,
"id": "--0"
},
{
"name": "메모지1",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
176
],
"parameters": {
"color": 7,
"width": 464,
"height": 80,
"content": "## Curator\nRSS Read curates articles and sends to Article Finder"
},
"typeVersion": 1,
"id": "-1-1"
},
{
"name": "메모지2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1264,
16
],
"parameters": {
"color": 7,
"width": 464,
"height": 80,
"content": "## Creator & Optimizer\nCreates Content & Optimizes"
},
"typeVersion": 1,
"id": "-2-2"
},
{
"name": "메모지3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2176,
160
],
"parameters": {
"color": 7,
"width": 464,
"height": 80,
"content": "## Designer & Poster\nCreates Design & Posts on LinkedIn"
},
"typeVersion": 1,
"id": "-3-3"
},
{
"name": "일정 트리거",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
0,
300
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 11 * * TUE"
},
{
"field": "cronExpression",
"expression": "0 11 * * THU"
}
]
}
},
"typeVersion": 1.2,
"id": "--4"
},
{
"name": "RSS 읽기",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
224,
300
],
"parameters": {
"url": "https://blog.hubspot.com/marketing/rss.xml",
"options": {}
},
"retryOnFail": true,
"typeVersion": 1.2,
"id": "RSS--5"
},
{
"name": "집계",
"type": "n8n-nodes-base.aggregate",
"position": [
448,
300
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "title"
},
{
"fieldToAggregate": "content"
},
{
"fieldToAggregate": "link"
}
]
}
},
"typeVersion": 1,
"id": "--6"
},
{
"name": "뉴스를 1개의 항목으로 그룹화",
"type": "n8n-nodes-base.code",
"position": [
672,
300
],
"parameters": {
"jsCode": "// Inputs expected from Aggregate/RSS: arrays: title[], content[], link[]\nconst all = items[0].json; // aggregated item\nconst titles = all.title || [];\nconst contents = all.content || [];\nconst links = all.link || [];\n\nconst articles = [];\nconst lines = [];\n\nconst maxLen = Math.max(titles.length, contents.length, links.length);\nfor (let i = 0; i < maxLen; i++) {\n const obj = {\n id: i + 1, // stable ID (1..N). Use guid if you have one.\n title: titles[i] ?? \"\",\n content: contents[i] ?? \"\",\n link: links[i] ?? \"\"\n };\n articles.push(obj);\n // Short preview for the AI to choose from:\n const preview = (obj.content || \"\").replace(/\\s+/g, \" \").slice(0, 220);\n lines.push(`${obj.id}. ${obj.title}\\n${preview}${preview.length === 220 ? \"…\" : \"\"}`);\n}\n\nreturn [\n {\n json: {\n articles, // keep the structured mapping\n forAI: lines.join(\"\\n\\n\") // human-readable list for the model\n }\n }\n];"
},
"typeVersion": 2,
"id": "-1--7"
},
{
"name": "최고의 기사 찾기",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
896,
300
],
"parameters": {
"text": "=You are (company name) content curator. Select the BEST article for our audience.\n\nCOMPANY AUDIENCE:\n\n\nSELECTION CRITERIA:\nCHECK:\n- Can someone practically apply this TODAY or is it just knowledge?\n- Will they want to save this?\n\nSKIP ARTICLES ABOUT:\n- Pure theory without practical steps\n\nPick only 1 and give only {{ $json.articles[0].link }} as output\n\n{{ $json.forAI }}\n\n",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2,
"id": "--8"
},
{
"name": "Google Gemini 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
968,
524
],
"parameters": {
"options": {},
"modelName": "models/gemini-1.5-flash"
},
"typeVersion": 1,
"id": "Google-Gemini--9"
},
{
"name": "Google Gemini 채팅 모델1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1320,
400
],
"parameters": {
"options": {}
},
"typeVersion": 1,
"id": "Google-Gemini-1-10"
},
{
"name": "콘텐츠 생성기",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1248,
176
],
"parameters": {
"text": "=Turn blog into quick byte below 200 words. \n\nCOMPANY AUDIENCE:\n\n\nWRITING RULES:\n- Write for the audience keeping in mind that they need opinion/insights, they don't have time to spare so be very on point and crisp and profound\n- Include specific numbers/time when possible\n- Keep it to the point like in news/bulletin \n- Always use bullets/classified structure, no extra output needed\n\nHere is the blog to use: {{ $json.output }}",
"options": {},
"promptType": "define"
},
"retryOnFail": true,
"typeVersion": 2.2,
"id": "--11"
},
{
"name": "게시물 최적화",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1600,
176
],
"parameters": {
"text": "=Analyze this post deeply\n\nPost = {{ $json.output }}\n\nCHECK & OPTIMIZE FOR:\n- Can someone practically apply this TODAY or is it just knowledge?\n- Will THEY want to save this?\n- Does this have fluff/filler words that inflate sentences? Keep sentences small and easy to read.\n- Does it look AI Generated? Prefer human sentence construction\n- No emoji, use → or other symbols for bullets, don't use * or em dash in post, space after every bullet\n- Analyze First line: should not be in text:text format, only mention crux like \"loop marketing strategy\", or use title like \"here's why you need loop marketing\"\n\nAlso create a headline for image for this post, keep it crisp and catchy\n\nOUTPUT:\n{\n \"final_post\": \"[LinkedIn-ready post]\",\n\"image_text\": \"[Headline for image= what the post is about]\"\n \"confidence_score\": [1-10],\n \"post_now\": [true if score >= 7]\n} ",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"retryOnFail": true,
"typeVersion": 2.2,
"id": "--12"
},
{
"name": "Google Gemini 채팅 모델2",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1608,
400
],
"parameters": {
"options": {},
"modelName": "models/gemini-1.5-pro"
},
"typeVersion": 1,
"id": "Google-Gemini-2-13"
},
{
"name": "구조화된 출력 파서",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1736,
400
],
"parameters": {
"jsonSchemaExample": "{\n \"final_post\": \"[LinkedIn-ready post]\",\n \"image_text\": \"[Image Title Catcy]\",\n \"confidence_score\": [10],\n \"post_now\": [true]\n} "
},
"typeVersion": 1.3,
"id": "--14"
},
{
"name": "조건문",
"type": "n8n-nodes-base.if",
"position": [
1952,
300
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.output.post_now[0] }}",
"rightValue": "true"
}
]
}
},
"typeVersion": 2.2,
"id": "--15"
},
{
"name": "Templated",
"type": "n8n-nodes-templated.templated",
"position": [
2176,
300
],
"parameters": {
"layers": {
"layer": [
{
"text": "={{ $json.output.image_text }}",
"layerName": "paragraph-text"
}
]
},
"template": "",
"requestOptions": {}
},
"retryOnFail": true,
"typeVersion": 1,
"id": "Templated-16"
},
{
"name": "게시물 생성",
"type": "n8n-nodes-base.linkedIn",
"position": [
2624,
300
],
"parameters": {
"text": "={{ $('Post optimizer').item.json.output.final_post }}",
"postAs": "organization",
"organization": "",
"additionalFields": {},
"shareMediaCategory": "IMAGE"
},
"typeVersion": 1,
"id": "--17"
},
{
"name": "HTTP 요청",
"type": "n8n-nodes-base.httpRequest",
"position": [
2400,
300
],
"parameters": {
"url": "={{ $json.render_url }}",
"options": {
"response": {
"response": {
"responseFormat": "file"
}
}
}
},
"typeVersion": 4.2,
"id": "HTTP--18"
}
],
"pinData": {},
"connections": {
"--15": {
"main": [
[
{
"node": "Templated-16",
"type": "main",
"index": 0
}
],
[
{
"node": "--8",
"type": "main",
"index": 0
}
]
]
},
"RSS--5": {
"main": [
[
{
"node": "--6",
"type": "main",
"index": 0
}
]
]
},
"--6": {
"main": [
[
{
"node": "-1--7",
"type": "main",
"index": 0
}
]
]
},
"Templated-16": {
"main": [
[
{
"node": "HTTP--18",
"type": "main",
"index": 0
}
]
]
},
"HTTP--18": {
"main": [
[
{
"node": "--17",
"type": "main",
"index": 0
}
]
]
},
"--12": {
"main": [
[
{
"node": "--15",
"type": "main",
"index": 0
}
]
]
},
"--11": {
"main": [
[
{
"node": "--12",
"type": "main",
"index": 0
}
]
]
},
"--4": {
"main": [
[
{
"node": "RSS--5",
"type": "main",
"index": 0
}
]
]
},
"--8": {
"main": [
[
{
"node": "--11",
"type": "main",
"index": 0
}
]
]
},
"Google-Gemini--9": {
"ai_languageModel": [
[
{
"node": "--8",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"--14": {
"ai_outputParser": [
[
{
"node": "--12",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Google-Gemini-1-10": {
"ai_languageModel": [
[
{
"node": "--11",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Google-Gemini-2-13": {
"ai_languageModel": [
[
{
"node": "--12",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"-1--7": {
"main": [
[
{
"node": "--8",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 소셜 미디어, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
콘텐츠 집계
Gemini AI로 웹사이트 글에서 소셜 미디어 게시물 자동 생성 및 LinkedIn 및 X/Twitter에 게시
If
Set
Xml
+
If
Set
Xml
34 노드Vadim
콘텐츠 제작
Arunava의 다중 에이전트 지능형 Reddit 자동화
AI 브랜드 언급 및 Baserow 추적으로 Reddit 게시물 자동 댓글 작성
If
Set
Code
+
If
Set
Code
35 노드Arunava
소셜 미디어
콘텐츠생성기 v3
AI驱动블로그자동화:사용GPT-4생성并게시SEO기사至WordPress및Twitter
If
Set
Code
+
If
Set
Code
144 노드Jay Emp0
콘텐츠 제작
Gemini AI와 Flux 이미지 생성을 통한 인기 게시물 분석 기반 LinkedIn 콘텐츠 자동 생성
Gemini AI 및 Flux 이미지 생성을 사용한 인기 게시물 분석으로 LinkedIn 콘텐츠 자동 생성
Code
Wait
Filter
+
Code
Wait
Filter
20 노드Roshan Ramani
콘텐츠 제작
LinkedIn 및 X 바이럴 콘텐츠 자동 엔진
사용AI생성및게시자동생성LinkedIn및X의病毒콘텐츠
If
Set
Wait
+
If
Set
Wait
156 노드Diptamoy Barman
콘텐츠 제작
Claude, OpenAI 및 Perplexity를 사용하여 브랜드 LinkedIn 콘텐츠 자동 생성 및 예약
Claude, OpenAI 및 Perplexity를 사용하여 브랜드 LinkedIn 콘텐츠 자동 생성 및 예약
Code
Limit
Linked In
+
Code
Limit
Linked In
23 노드Abdul Mir
소셜 미디어