Surveillance de l'actualité et générateur de publications sociales pilotés par l'IA - OpenAI et Upload-Post
Ceci est unSocial Media, Multimodal AIworkflow d'automatisation du domainecontenant 22 nœuds.Utilise principalement des nœuds comme If, Code, GoogleSheets, Agent, UploadPost. Surveillance de l'actualité et générateur de publications sociales pilotés par l'IA, basés sur OpenAI et Upload-Post
- •Informations d'identification Google Sheets API
- •Clé API OpenAI
Nœuds utilisés (22)
Catégorie
{
"meta": {
"instanceId": "3378b0d68c3b7ebfc71b79896d94e1a044dec38e99a1160aed4e9c323910fbe2"
},
"nodes": [
{
"id": "b53885b1-ab6b-49ab-931f-2df9e1a4763f",
"name": "Section : Récupérer les articles",
"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": "Section : Analyser et noter",
"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": "Section : Analyser et enrichir",
"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": "Section : Router",
"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": "Section : Génération de contenu",
"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": "Section : Stocker et publier",
"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": "Section : Examiner et archiver",
"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": "Déclencheur Flux 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 Chat Model",
"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": "Code",
"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": "Simple Memory",
"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 Chat Model1",
"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": "Code1",
"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": "Stocker le contenu",
"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": "Nouveau à examiner",
"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": "Archive",
"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": "Content 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": "Scoring 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": "Filtre de qualité",
"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": "Filtre de qualité 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": "Upload to Twitter,Linkedin and 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": "Sticky Note1",
"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
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Réseaux sociaux, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Juan Carlos Cavero Gracia
@carlosgraciaFollow me in linkedin: https://www.linkedin.com/in/juan-carlos-cavero-gracia/
Partager ce workflow