Motor de contenido de LinkedIn impulsado por IA (n8n + OpenAI + Perplexity + Replicate)
Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 28 nodos.Utiliza principalmente nodos como If, Set, Code, Gmail, Perplexity. Crear publicaciones de LinkedIn con respaldo de investigación usando OpenAI, Perplexity y revisión humana
- •Cuenta de Google y credenciales de API de Gmail
- •Clave de API de OpenAI
Nodos utilizados (28)
Categoría
{
"id": "siRh53ZuPMkLBAVH",
"meta": {
"instanceId": "fc91c099b237fbeefae4b0c67581119a5c6671cfd5b6bd50f5bba800b2021e1e",
"templateId": "5162",
"templateCredsSetupCompleted": true
},
"name": "AI-Powered LinkedIn Content Engine (n8n + OpenAI + Perplexity + Replicate)",
"tags": [
{
"id": "hK91R6qCdWj98Hkw",
"name": "LinkedIn",
"createdAt": "2025-07-11T16:14:19.949Z",
"updatedAt": "2025-07-11T16:14:19.949Z"
}
],
"nodes": [
{
"id": "3ef4644e-7c2e-4642-8bed-2ebbb30c9fb1",
"name": "🖼️ Generador de Indicaciones para Imágenes",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
2680,
480
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "chatgpt-4o-latest",
"cachedResultName": "CHATGPT-4O-LATEST"
},
"options": {},
"messages": {
"values": [
{
"content": "=🎯 Your task is to generate a **visual image prompt** for creating a **conceptual infographic** that will visually support a LinkedIn post.\n\nThe image should clearly and attractively illustrate the emotion, concept, or core message of the post — using an **abstract but readable design**, ideal for grabbing attention during scrolling.\n\n---\n\n📄 POST CONTENT: \n{{ $('Content Aggregator').item.json.message.content }}\n\n---\n\n✅ DESIRED VISUAL STYLE:\n- Abstract or conceptual infographic\n- Vector graphics, geometric shapes, minimal layouts\n- High contrast, clean lines, professional color palette\n- Readable and catchy, made to stand out in a LinkedIn feed\n\n✅ YOU CAN INCLUDE:\n- Names of tools (e.g., n8n, OpenAI, ChatGPT), in **stylized/visual form only**\n- Icons, symbolic representations, or simplified elements\n- Flow-based visuals, arrows, automation concepts, productivity metaphors\n\n🚫 AVOID:\n- Hyper-realistic photography\n- Designs that are too abstract to understand\n- Detailed software interfaces or pixel art\n- Long text (labels like “AI”, “Flow”, “Data” are fine)\n\n---\n\n🧠 VISUAL APPROACH SUGGESTIONS (pick one that fits best):\n- **Automation/Workflow:** Stylized flowchart with curved arrows, tool icons (e.g., n8n + OpenAI), few bold colors \n- **Productivity/Efficiency:** Central engine (e.g., AI) triggering smaller parts, clean connected shapes \n- **Small Team, Big Impact:** Small node with large radiating influence, scalable bar graphs \n- **Tool Integration:** Puzzle of flat-style icons (e.g., Gmail, Notion, Zapier) fitting together visually\n\n---\n\n🎨 GRAPHIC STYLE REQUIREMENTS:\n- Vector, flat design or semi-isometric\n- 2–3 primary colors, professional and clean\n- No long text or realistic 3D\n- Balanced, center-weighted composition\n\n---\n\n✏️ OUTPUT FORMAT:\nReturn **only the final image generation prompt** (ready to use in DALL·E or similar). No further explanation.\n\n---\n\n**Prompt:**\n"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "JVvR6kwZYrQYJQi2",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "de8492e6-9fa5-4da6-90db-95a2c979ed2b",
"name": "Código",
"type": "n8n-nodes-base.code",
"position": [
3040,
480
],
"parameters": {
"jsCode": "const imagePrompt = $input.first().json.message.content\n\n// Clean and escape the prompt for JSON\nconst cleanPrompt = imagePrompt\n .replace(/\"/g, '\\\\\"') // Escape quotes\n .replace(/\\n/g, ' ') // Remove line breaks\n .replace(/\\r/g, ' ') // Remove carriage returns\n .trim(); // Remove extra whitespace\n\nreturn {\n json: {\n clean_prompt: cleanPrompt\n }\n};\n"
},
"typeVersion": 2
},
{
"id": "a1d79590-cd7a-4a8f-9027-534891c233e9",
"name": "Generar una imagen",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
3320,
480
],
"parameters": {
"model": "gpt-image-1",
"prompt": "={{ $json.clean_prompt }}",
"options": {},
"resource": "image"
},
"credentials": {
"openAiApi": {
"id": "OkbDAlHq4ZhkcbPE",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.8
},
{
"id": "2f23ae1c-9bb0-4a2a-924d-ab65ccf42296",
"name": "Activador Programado",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
20,
280
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks",
"triggerAtDay": [
1
]
}
]
}
},
"typeVersion": 1.2
},
{
"id": "5e26fa9f-c556-4469-80da-7b29633702d9",
"name": "Haz clic para comenzar",
"type": "n8n-nodes-base.manualTrigger",
"position": [
20,
480
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c0f1a648-55be-448a-a775-7b683a7db088",
"name": "Nota Adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
-80
],
"parameters": {
"color": 4,
"width": 280,
"height": 720,
"content": "🕒 WORKFLOW STARTER\nThis triggers the content generation process automatically.\n\nSetup Required:\n• Set your preferred trigger interval. \n\nBelow I suggest two possible trigger. If you want to automate your workflow, change the trigger with the schedule. "
},
"typeVersion": 1
},
{
"id": "afec1b86-eda6-42fd-b800-bd92663b5eb5",
"name": "🔍 Investigar las Tendencias",
"type": "n8n-nodes-base.perplexity",
"position": [
360,
480
],
"parameters": {
"model": "sonar",
"options": {},
"messages": {
"message": [
{
"content": "=Research the topic: {{ $json.body.Topic }}\n\nAdditional context: {{ $json.body.Additional_Context }}\n\nI’m researching **AI Agents and Large Language Models (LLMs)** with the goal of creating high-quality, factual content focused on **practical applications in the workplace**.\n\nPlease return only **verifiable, recent information** (from 2024–2025) and structure the response around these points:\n\n1. Summarize **recent news, trends, or innovations** in the space — include **exact dates** and **direct source URLs**.\n2. Highlight **concrete business use cases** or deployments — focus on **measurable results** and clearly defined workplace benefits.\n3. Identify **high-signal discussions** on platforms like Reddit, X, or reputable forums — ideally with links to original threads.\n4. Include **expert opinions or statements** from industry professionals or research-backed reports — ensure sources are cited.\n\n---\n\n📌 **CRUCIAL RULES:**\n- Only include **verified facts** with **direct URLs** to sources.\n- **No vague claims**, unlinked stats, or general AI hype.\n- If data is unavailable or unverifiable, explicitly write: *\"No recent verifiable information found.\"*\n- If a source is outdated or lacks context, state the limitation.\n\n---\n\n🎯 **DELIVERABLE:**\nProvide a concise list of **exactly 3 key insights**, clearly labeled and sourced. Use bullet points. No filler.\n\n---\n\n🚫 **Do NOT include:**\n- Speculative content\n- Marketing fluff or overly technical research with no workplace application\n- Sections titled “Content Angles” or “Verified Insights” — just go straight to the findings.\n\n---\n\n🧱 **FORMAT Example:**\n1. **[Insight Title]** \n - Summary of the finding \n - Source: [URL] \n - Date: [Month YYYY]\n\n2. …\n\nIf nothing meaningful is found for a point, write: *\"No recent verifiable information found.\"*\n"
}
]
},
"requestOptions": {}
},
"credentials": {
"perplexityApi": {
"id": "1Ql9BmzgooP76P5W",
"name": "Perplexity account"
}
},
"executeOnce": false,
"typeVersion": 1
},
{
"id": "603c1b98-afa1-41e8-b47f-2e434449ad63",
"name": "Nota Adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-80
],
"parameters": {
"color": 3,
"width": 340,
"height": 720,
"content": "🧠 Perplexity Research – Trends & Use Cases\n\nThis node queries the Perplexity API to retrieve verified, up-to-date insights on a specific topic — ideal for identifying real-world trends, use cases, and expert opinions.\n\n✅ Why Perplexity?\nAmong available LLMs, Perplexity offers the most source-driven answers, making it the top choice for factual content creation.\n\n⚙️ Setup Required\n\nCreate a Perplexity API account and set your API key in the credentials.\n\n✏️ How to Personalize\n\nOpen the prompt inside the node and:\n\nChange the main topic you want to research (e.g., switch from AI Agents to AI in Healthcare)\n\nAdjust the number of insights (default = 3)"
},
"typeVersion": 1
},
{
"id": "ab88ea12-c30d-4080-9eff-47340511d2e4",
"name": "Nota Adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
600,
-80
],
"parameters": {
"width": 340,
"height": 720,
"content": "📨 Gmail – Select the Best Topic (Human-in-the-loop)\n\nThis node sends you an email listing the 3 main topics extracted from the previous Perplexity node. You act as the human-in-the-loop, choosing which topic to use for your content.\n\n✅ Why Gmail?\nIt's quick, reliable, and always accessible — whether you're on your phone or laptop.\n\n⚙️ Setup Required\n\nConnect your Gmail account\n\nSet your email address as the recipient\n\n✏️ How to Personalize\n\nCustomize the email subject and body to fit your tone or workflow\n\nDecide what information to display (currently: topic titles only)\n\nOptionally, replace Gmail with Telegram or Slack for faster interaction"
},
"typeVersion": 1
},
{
"id": "d4705dde-36a4-475e-8440-f3060588500d",
"name": "Seleccionar el Mejor Tema",
"type": "n8n-nodes-base.gmail",
"position": [
720,
480
],
"webhookId": "2f8628d9-1bfc-4519-b00a-d2176185636a",
"parameters": {
"sendTo": "abcloudart@gmail.com",
"message": "=Hi there! Here are 3 topic ideas generated by Perplexity:\n\n1️⃣ {{ $json.search_results[0].title }}\n2️⃣ {{ $json.search_results[1].title }}\n3️⃣ {{ $json.search_results[2].title }}\n\n📩 Just reply to this email with the number of the idea you want to move forward with (1, 2, or 3).\n\nThe workflow will automatically continue from there! 🚀",
"options": {},
"subject": "Perplexity Research – Trends & Use Cases",
"operation": "sendAndWait",
"formFields": {
"values": [
{
"fieldType": "dropdown",
"fieldLabel": "Quale vuoi approfondire? ",
"fieldOptions": {
"values": [
{
"option": "=1 - {{ $json.search_results[0].title }}"
},
{
"option": "=2 - {{ $json.search_results[1].title }}"
},
{
"option": "=3 - {{ $json.search_results[2].title }}"
}
]
}
}
]
},
"responseType": "customForm"
},
"credentials": {
"gmailOAuth2": {
"id": "uQlupDp7iCyYj2MI",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "1d8651a7-45a2-4ade-9f34-732d982488ea",
"name": "Nota Adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
660
],
"parameters": {
"color": 5,
"width": 640,
"height": 220,
"content": "🗂️ Legend – Node Color Coding\nTo help navigate and document this workflow, notes are color-coded based on their function:\n\n🔵 Blue – General information or high-level context\n🟢 Green – Workflow triggers\n🟡 Yellow – Standard processing nodes\n🔴 Red – Nodes that require API integration and may incur execution costs\n\nUse this legend as a reference before diving into the detailed node explanations."
},
"typeVersion": 1
},
{
"id": "cc84f9f0-057a-4136-8aef-45852fecc040",
"name": "Nota Adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-80
],
"parameters": {
"color": 3,
"width": 600,
"height": 720,
"content": "🧠 OpenAI – Content Creation Support\n\nThis is one of the core nodes of the workflow. It generates the actual LinkedIn post based on the topic you selected and the insights retrieved earlier.\n\nHere, you can review and personalize the prompt to reflect your personal information, tone of voice, and the desired output language (currently set to Italian for my audience).\n\n⚙️ Setup Required\n\nYou’ll need an OpenAI API key (note: this is different from a ChatGPT account)\n\n⚠️ API calls have a cost, so choose your model wisely\n→ I suggest balancing performance and price — you're writing a LinkedIn post, not launching a rocket 🚀\n\n✏️ How to Personalize\n\nOpen the prompt inside the node and replace my personal details with your own\n\nYou can customize:\n\nThe writing style (e.g., tone, use of emojis, structure)\n\nThe language of the output\n\nFor an extra check, paste the prompt into ChatGPT and refine it there based on your style"
},
"typeVersion": 1
},
{
"id": "121a6e68-f406-41f1-aaeb-dc04c8532c2c",
"name": "✍️ Creador de Contenido",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1140,
480
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "chatgpt-4o-latest",
"cachedResultName": "CHATGPT-4O-LATEST"
},
"options": {},
"messages": {
"values": [
{
"content": "=You are helping write a **LinkedIn post** for **Alberto Bordoni**, an Assistant Manager with a strong background in **Data, Artificial Intelligence, and Program Management**. He's also a **trainer and YouTube content creator**, passionate about productivity, automation, and practical AI applications in the workplace.\n\n---\n\n🔎 **TOPIC to focus on:** \n{{ $json.data['Quale vuoi approfondire? '] }}\n\n---\n\n📥 **RESEARCH INSIGHTS (use only if directly relevant to the topic):** \n{{ $('🔍 Research the Trends').item.json.choices[0].message.content }}\n\n---\n\n🗣️ **LANGUAGE OF THE OUTPUT:** \nPlease write in **{{ $json.data['Language'] || 'Italiano' }}** \n(The user can change this input in the node manually)\n\n---\n\n🎯 **CONTENT OBJECTIVES:** \nYour goal is to write a **medium-length LinkedIn post**, based on Alberto's **personal perspective and real experiences**, using a **human, thoughtful, and slightly ironic tone**. You can include short personal anecdotes or reflections that tie directly to the chosen topic.\n\nThe tone should feel **authentic, not corporate** — as if Alberto is speaking directly to his audience, sharing lessons or thoughts rather than teaching or preaching.\n\n---\n\n✅ **KEY CREATION GUIDELINES:**\n\n1. **Start from personal experience** – avoid opening with research or generic statements \n2. **Keep it real** – write like a human: warm, curious, and conversational \n3. **Include 1–2 relevant research points** only if they support the main story \n4. **Add emojis sparingly** – only if they help with readability \n5. **Use headings or bold for readability** (especially for web/email display)\n\n---\n\n🚫 **AVOID:**\n\n- Making research the main character – Alberto’s voice should lead \n- Generic “tips” or lists without context \n- Aggressive or overly directive tone \n- Overuse of buzzwords \n- Fabricating data or quotes\n\n---\n\n🔧 **WRITING PROCESS**\n\n**Step 1: Build the main narrative** \n- Use the topic as your starting point \n- Frame it around a real thought, reflection, or question Alberto might have \n- Include concrete details or moments from his experience \n\n**Step 2: Enrich with relevant research** \n- Pick 1 or 2 key data points to validate the message \n- Insert them smoothly with phrases like: \n - “Recent data shows…” \n - “Interestingly, this aligns with…” \n\n**Final Tip:** \nMake sure it sounds like something Alberto would actually say — smart but approachable, grounded in real work, and a bit witty when it fits.\n\n---\n\n🧪 BONUS: Try to make it feel **undetectable as AI-generated**. \nWrite as if you’re helping a real person put their thoughts into words — not generating a piece from scratch.\n\n"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "JVvR6kwZYrQYJQi2",
"name": "OpenAi account"
}
},
"executeOnce": false,
"typeVersion": 1.8
},
{
"id": "b33c7433-6ca5-447a-aff2-98989b9ec3ba",
"name": "Nota Adhesiva8",
"type": "n8n-nodes-base.stickyNote",
"position": [
600,
660
],
"parameters": {
"color": 5,
"width": 420,
"height": 520,
"content": "## 🚀 Automate LinkedIn Content Creation with Perplexity, OpenAI & Gmail\n\nWhat This Workflow Does:\n- Generates original, research-based LinkedIn posts\n- Combines AI insights with personal storytelling\n- Includes human-in-the-loop selection & revision steps\n- Automatically creates a conceptual image via DALL·E 3\n- Sends the final post and image via email, ready to publish\n\nPerfect For:\n- Professionals who want to share high-quality AI-assisted content\n- Content creators balancing consistency and authenticity\n- Consultants and solopreneurs building a personal brand\n- Anyone who wants to turn AI research into personal, sharable stories"
},
"typeVersion": 1
},
{
"id": "51314562-a031-4cfb-9f16-25e74fcebe50",
"name": "Nota Adhesiva9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1040,
660
],
"parameters": {
"color": 5,
"width": 520,
"height": 520,
"content": "## 📋 WORKFLOW PROCESS OVERVIEW\n\nStep 1: 🔍 Perplexity finds 3 recent, verifiable AI-related topics \n\nStep 2: 📧 Email sent – you choose your favorite topic \n\nStep 3: ✍️ OpenAI generates a LinkedIn post draft \n\nStep 4: 📨 You review the post and approve or suggest changes \n \nStep 5: 🛠️ If needed, AI revises the post based on your feedback \n\nStep 6: 🎨 DALL·E creates a conceptual image to match the content \n\nStep 7: 📬 Final email sent – post text + image ready to copy-paste on LinkedIn \n"
},
"typeVersion": 1
},
{
"id": "810d39b7-8c7a-4671-a6c5-d80f8307ac52",
"name": "Nota Adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1580,
-80
],
"parameters": {
"width": 300,
"height": 720,
"content": "📝 Edit Fields – Content Aggregator & Finalizer\nThis node collects and consolidates the final version of the content before it's published or sent.\n\nWhile it may look simple, it's strategically important because it:\n\n💬 Receives the original content from the OpenAI node\n\n🧠 Will also receive updated content from a future node designed to review and refine the post\n\n⚙️ Setup Required\n\nNo specific setup needed — just ensure:\n\nInput from OpenAI is correctly mapped\n\nFuture inputs (e.g., from the review process) are connected to overwrite or merge as needed"
},
"typeVersion": 1
},
{
"id": "64298786-6b84-49cb-aef8-7994b09a6b4a",
"name": "Agregador de Contenido",
"type": "n8n-nodes-base.set",
"position": [
1680,
480
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b5a1c3c6-2029-4913-8667-97d083425db2",
"name": "message.content",
"type": "string",
"value": "={{ $json.message.content }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0657ddd6-1923-479a-85cd-1b028e569569",
"name": "Nota Adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1900,
-80
],
"parameters": {
"width": 420,
"height": 720,
"content": "✅ Gmail – Content Review & Approval\nThis node sends the drafted LinkedIn post to your personal email, allowing a final manual review and approval step.\n\nIn the email, you'll find the full content generated by OpenAI.\nYou’ll be asked: \"Do you like the content?\"\n\nIf your answer is Yes, the workflow proceeds automatically\nIf No, you can suggest improvements using a form in the next node — those suggestions will be used to refine the content\n\n⚙️ Setup Required\n\nConnect your Gmail account\nSet your personal email as the recipient\nEnsure the message content is correctly mapped from the Edit Fields node\n\n✏️ How to Personalize\n\nCustomize the subject and message tone to fit your voice\nYou can modify the approval logic (e.g., based on keywords or reply tracking)\nOptionally, add an alternative channel (e.g., Telegram or Slack) for faster interactions"
},
"typeVersion": 1
},
{
"id": "b472a93d-49a4-4822-96ad-8cf7efdf4ad3",
"name": "Revisión y Aprobación de Contenido",
"type": "n8n-nodes-base.gmail",
"position": [
2060,
480
],
"webhookId": "3fff41b2-f253-4114-9d7e-10f509160581",
"parameters": {
"sendTo": "abcloudart@gmail.com",
"message": "=Hi! 👋 \nYour LinkedIn post on the topic you selected is ready! \nHere’s the draft — let me know what you think:\n\n{{ $json.message.content }}\n\n👍 If you like it, just reply with \"Yes\" and the workflow will continue.\n\n✏️ If you'd like to make changes, you can suggest edits in the next step.",
"options": {},
"subject": "Review LinkedIn Post ",
"operation": "sendAndWait",
"formFields": {
"values": [
{
"fieldType": "dropdown",
"fieldLabel": "Do you like the content?",
"fieldOptions": {
"values": [
{
"option": "Yes"
},
{
"option": "To review"
}
]
},
"requiredField": true
},
{
"fieldLabel": "Proposal"
},
{
"fieldType": "={{ $json.message.content }}",
"fieldLabel": "Testo ",
"fieldOptions": {
"values": [
{}
]
}
}
]
},
"responseType": "customForm"
},
"credentials": {
"gmailOAuth2": {
"id": "uQlupDp7iCyYj2MI",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "2fbc7b1d-12d3-44ce-981d-de1857b19537",
"name": "Nota Adhesiva7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2340,
-80
],
"parameters": {
"width": 300,
"height": 720,
"content": "🔀 IF – Content Approval Routing\nThis node acts as a decision point based on your reply to the Gmail approval email.\n\nIf the response is \"Yes\", the workflow proceeds to generate a custom image with OpenAI\n\nIf the response is not Yes (or left empty), it redirects to the Content Reviewer node for further editing suggestions\n\n⚙️ Setup Required\n\nMake sure the email reply content is captured correctly (e.g., via webhook or IMAP integration)\n\nThe condition should check for a clear \"Yes\" response — case-insensitive and trimmed\n\n✏️ How to Personalize\n\nYou can modify the condition logic to accept variations like “Sure”, “Go”, or emoji replies 👍"
},
"typeVersion": 1
},
{
"id": "1cab82ee-7946-414d-867d-e7a859478465",
"name": "SI – Enrutamiento de Aprobación de Contenido",
"type": "n8n-nodes-base.if",
"position": [
2440,
480
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "9fdac4ae-1eec-4042-947e-3256038f628e",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.data['Ti piace?'] }}",
"rightValue": "Yes"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "16289995-beac-4d68-9a6f-c8dfc9cdc00d",
"name": "Nota Adhesiva10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1580,
660
],
"parameters": {
"color": 3,
"width": 1060,
"height": 520,
"content": "🧐 OpenAI – Content Reviewer\nThis node helps you refine the LinkedIn post based on feedback, ensuring the final version is more aligned with your tone, goals, and personal voice.\n\nIt compares:\n\nThe original content generated earlier\n\nThe improvement suggestions you've entered manually in the previous step\n\nThen it generates an updated version, keeping your writing style and storytelling priorities in mind.\n\n⚙️ Setup Required\n\nConnect this node to both:\n\nThe initial OpenAI content node\n\nThe manual feedback collection node\n\nMake sure the structure of the prompt supports personalization\n\n✏️ How to Personalize\n\nAdjust the prompt to include more style instructions if needed\n\nYou can experiment with different OpenAI models (e.g., GPT-4 Turbo for longer reasoning)\n\n"
},
"typeVersion": 1
},
{
"id": "1dc611c7-d02e-4666-90e8-4f0b20e2da7d",
"name": "✍️ Revisor de Contenido",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
2320,
840
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "chatgpt-4o-latest",
"cachedResultName": "CHATGPT-4O-LATEST"
},
"options": {},
"messages": {
"values": [
{
"content": "=You are helping **Alberto Bordoni**, an Assistant Manager with a strong background in **Data, Artificial Intelligence, and Program Management**, experienced in consulting, training, and content creation on productivity and AI at work.\n\nBelow, you’ll find two important pieces of content:\n\n✍️ **Original post draft (to be improved):** \n{{ $('✍️ Content Creator').item.json.message.content }}\n\n🛠️ **Feedback / improvement suggestions from Alberto:** \n{{ $json.data['Proposta di miglioramento'] }}\n\n---\n\n🎯 Your goal:\nRevise the original post, implementing Alberto’s suggestions while staying aligned with his personal tone and style. The result should feel human, reflective, and personal — not generic or overly polished.\n\n---\n\n📘 **ABOUT ALBERTO (for writing context):** \n- Assistant Manager in a consulting firm, focused on Data & AI \n- Background in marketing, with a passion for program management and automation \n- Trainer and YouTube creator sharing insights on Excel, productivity, and AI \n- Works on complex digital transformation projects using AI-driven solutions \n- Interested in self-growth and techniques for working smarter\n\n---\n\n🧭 **CONTENT PRIORITIES:** \n1. **Share thoughts and reflections** – not a “how-to” or a lesson \n2. **Blend information with light irony** – human and insightful \n3. **Enrich with data only when it adds value** \n4. **Personal storytelling comes first** – use it as the main narrative anchor\n\n---\n\n📊 **RESEARCH DATA (use only if relevant to the selected topic):** \n{{ $('🔍 Research the Trends').item.json.choices[0].message.content }}\n\nUse research as **support**, not as the central message.\n\n**Ratio**: \n- Personal experience + reflections = 80% \n- Research data = 20%\n\nUse phrases like: \n- “Recent data shows...” \n- “This aligns with insights from...”\n\n---\n\n🚫 **AVOID:** \n- Starting with stats instead of stories \n- Over-relying on research \n- Giving generic advice \n- Letting the research overshadow personal voice \n- Using a bossy or impersonal tone \n- Fabricating facts or quotes\n\n---\n\n✅ **MAKE SURE:** \n- The topic and context lead the content \n- Research is helpful but not dominant \n- Alberto’s unique voice and experience are front and center \n- Tone feels natural and genuinely written by a human \n"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "JVvR6kwZYrQYJQi2",
"name": "OpenAi account"
}
},
"executeOnce": false,
"typeVersion": 1.8
},
{
"id": "790ac9e4-571e-4fea-9e94-5c8d927390ed",
"name": "Nota Adhesiva11",
"type": "n8n-nodes-base.stickyNote",
"position": [
2660,
-80
],
"parameters": {
"color": 3,
"width": 300,
"height": 720,
"content": "🖼️ OpenAI – Image Prompt Generator\nThis node helps generate a custom image prompt based on the content of your LinkedIn post, using OpenAI’s image engine (DALL·E).\n\nThe image is meant to visually support the message of the post with an abstract infographic style that works well on LinkedIn.\n\n✏️ How to Personalize\n\nEdit the image prompt to match your visual preferences or message tone\n\nChoose the best style based on your content type (workflow, integration, productivity, etc.)\n\nYou can fine-tune the balance between concept and clarity by adjusting color, shape, and complexity in the prompt"
},
"typeVersion": 1
},
{
"id": "5926b3ea-a517-4c36-a2e1-2ca23d3718a3",
"name": "Nota Adhesiva12",
"type": "n8n-nodes-base.stickyNote",
"position": [
2980,
-80
],
"parameters": {
"width": 220,
"height": 720,
"content": "🧹 Code – Clean Image Prompt for API\nThis simple Code node cleans up the image prompt generated in the previous step to make it safe and compact for API calls (like OpenAI’s image generation).\n\n⚙️ What it does\n\nEscapes \" characters\n\nRemoves \\n and \\r (line breaks / returns)\n\nTrims unnecessary whitespace\n\nOutputs a clean_prompt field, ready to use in the API"
},
"typeVersion": 1
},
{
"id": "827b880a-9328-4f95-9cd1-a232b8345c65",
"name": "Nota Adhesiva13",
"type": "n8n-nodes-base.stickyNote",
"position": [
3220,
-80
],
"parameters": {
"color": 3,
"width": 300,
"height": 720,
"content": "🧠 OpenAI – Generate Image (DALL·E 3)\nThis node takes the cleaned image prompt and uses OpenAI’s image generation model (DALL·E 3) to create a visual asset ready to be published with the LinkedIn post.\n\n⚙️ Setup Required\n\nAn OpenAI API key with image generation access\n\nThe correct model selected (e.g., \"dall-e-3\" or \"gpt-4-vision-preview\" depending on API route)\n\nOptional: adjust generation parameters (image size, quality, style, etc.)\n\nNote: Image generation has a cost – use the API wisely\n"
},
"typeVersion": 1
},
{
"id": "4f962698-3e27-4898-8663-515fad69a138",
"name": "Nota Adhesiva14",
"type": "n8n-nodes-base.stickyNote",
"position": [
3540,
-80
],
"parameters": {
"width": 340,
"height": 720,
"content": "📬 Gmail – Final Delivery of Your LinkedIn Post\nThis node sends a summary email that contains your finalized LinkedIn post and the generated image. It’s the last step of the workflow — delivering everything you need in one place.\n\n⚙️ Setup Required\n\nConnect your Gmail account\n\nSet your recipient address (your own or someone else’s for review)\n\nMake sure the image URL or attachment is correctly mapped from the previous node\n\n📦 What’s Included in the Email\n\n✅ The final post content (text block ready to copy-paste)\n\n🖼️ The generated image from DALL·E\n\n✏️ How to Personalize\n\nAdjust the email subject to reflect your brand or content type"
},
"typeVersion": 1
},
{
"id": "e7a228d5-e079-42c1-8024-9b41da4e36d5",
"name": "Entrega Final del Contenido",
"type": "n8n-nodes-base.gmail",
"position": [
3660,
480
],
"webhookId": "e6083388-a6c3-43fb-bf60-a18e4f5ac2ec",
"parameters": {
"sendTo": "abcloudart@gmail.com",
"message": "=Hi! 👋\n\nHere’s your finalized LinkedIn post, based on your selected topic and enhanced with research and AI support:\n\n{{ $('Content Aggregator').item.json.message.content }}\n\n",
"options": {},
"subject": "Ecco il tuo post completo per LinkedIN"
},
"credentials": {
"gmailOAuth2": {
"id": "uQlupDp7iCyYj2MI",
"name": "Gmail account"
}
},
"typeVersion": 2.1
}
],
"active": false,
"pinData": {
"Code": [
{
"json": {
"clean_prompt": "Vector-style conceptual infographic showing “The Year of the AI Agent (2025)” as a central hub powering autonomous workflows. In the center, a stylized AI icon (cortex or chip) emits clean flowing lines to modular nodes representing: – Excel sheets (symbolized by simple tables) – Dashboards (charts and graphs) – Chat interfaces (speech bubbles) – RPA processes (gear icons) – CRM systems (user silhouette + database) Each node includes small abstract iconography (e.g., n8n, OpenAI, LangChain, Microsoft Fabric) as puzzle pieces or plug icons connecting to the central AI. Use a minimal, flat-design vector style with geometric shapes and high contrast. Background light (white or off-white), accent palette in professional tech tones (deep blue, teal, orange). Include arrows or smooth curved lines suggesting flow, efficiency, autonomy. Label only nodes with single keywords: “data,” “agent,” “flow,” “insights.” No realistic UI, photography, or long text. Composition should clearly convey automation, orchestration, and intelligent decision-making, in a sleek and modern LinkedIn-ready format."
}
}
],
"Generate an image": [
{
"json": {
"id": "filesystem-v2:workflows/siRh53ZuPMkLBAVH/executions/25/binary_data/27584e74-e02e-40e4-acd6-f3c5ea0d92de",
"fileName": "data",
"fileSize": "1.2 MB",
"fileType": "image",
"mimeType": "image/png",
"fileExtension": "png"
}
}
],
"Content Aggregator": [
{
"json": {
"message": {
"content": "**Is 2025 the Year of the Agent?** 🕵️♂️ \n(…e no, non sto cambiando carriera per entrare nei servizi segreti)\n\nDa mesi sentiamo parlare di “AI Agents” come se fossero l’ultima rivoluzione. E forse, per la prima volta, non è solo hype.\n\nNegli ultimi anni mi sono occupato di accompagnare team e organizzazioni nel comprendere — e applicare — l’Intelligenza Artificiale nel lavoro quotidiano. Ho visto modelli linguistici diventare assistenti, poi strumenti, e ora… veri collaboratori autonomi.\n\n⚙️ Oggi lavoro con sistemi capaci non solo di rispondere a una richiesta, ma di:\n- riconoscere quando una risposta non basta,\n- decidere quali strumenti usare,\n- verificarne i risultati,\n- e portare avanti un flusso di lavoro complesso, senza che nessuno debba tenere il volante.\n\nLi chiamiamo “AI agents” o “LLM agents”.\nE i risultati? Parlano chiaro.\n\n⬇️ Un esempio concreto:\nIn un progetto recente, abbiamo implementato un agente capace di accedere ai dati aziendali, analizzarli, generare report e suggerire azioni correttive. Il team? Più focalizzato, più veloce, e con meno tempo speso tra fogli Excel e dashboard.\n\nE non sono l’unico a notarlo. \nLe ricerche dicono che il 2025 è il “Year of the Agent” (Google Trends conferma: mai stato così alto l’interesse). \nAlcune aziende stanno collegando questi agenti a sistemi RPA, CRM e sistemi BI per automatizzare processi end-to-end. Da chatbot più precisi (grazie al RAG) fino ad agenti che risolvono ticket clienti… davvero.\n\nCome sottolinea anche Karpathy, questo potrebbe essere solo l’inizio del “decennio degli agenti”.\n\n🧠 Il bello? \nNon devi essere un team di 20 data scientist per iniziare. \nCon i giusti framework (LangChain, Microsoft Fabric, DSPy), collegare dati e logiche operative agli agenti è oggi più accessibile che mai.\n\n🚀 Io continuo a esplorarli ogni giorno. A volte per un progetto, altre semplicemente per capire cosa succede dietro il prossimo “submit”.\n\nSe anche tu ti stai chiedendo \"ma questi AI agent fanno davvero qualcosa di utile?\" \nLa risposta è: se connessi ai dati giusti e ben progettati… assolutamente sì.\n\n👉 E tu? Hai già incrociato un AI agent nella tua quotidianità lavorativa? \nO stai ancora aspettando che uno ti compili la timesheet?\n\n#AI #AgenticAI #Produttività #DigitalTransformation #DatiEAutomazione #LLMAgents #GPT #ProgramManagement #AIAgents #AIProductivity #LangChain #MicrosoftFabric #BordoniInsights"
}
}
}
],
"Select the Best Topic": [
{
"json": {
"data": {
"Quale vuoi approfondire? ": "3 - AI Agents Explained: Everything You Need to Know in 2025 - Apideck"
}
}
}
],
"🔍 Research the Trends": [
{
"json": {
"id": "9fd93d9a-cf8c-429e-98a7-f45c0238a090",
"model": "sonar",
"usage": {
"total_tokens": 1336,
"prompt_tokens": 249,
"completion_tokens": 1087,
"search_context_size": "low"
},
"object": "chat.completion",
"choices": [
{
"delta": {
"role": "assistant",
"content": ""
},
"index": 0,
"message": {
"role": "assistant",
"content": "**VERIFIED INSIGHTS**\n\n- **AI Agents and LLMs Defined for 2025** \n - **Definition**: LLM agents (Language Model Agents) are advanced AI systems that combine planning, memory, and tool use to solve complex language tasks with context-aware reasoning. In 2025, agentic AI goes beyond single-request LLM responses, enabling multi-step workflows and autonomous decision-making[4][2].\n - **Trends**: 2025 is widely cited as the \"Year of the Agent,\" with a surge in demand and deployment for AI agents in enterprises. Google Trends data shows record-high interest in \"AI Agents\" in June 2025[3].\n\n- **Latest Innovations and Tools** \n - **Infrastructure**: Companies are building on frameworks like Microsoft Fabric, LangChain, and DSPy to create highly tailored agentic AI solutions. These frameworks help integrate AI with existing workflows, improve data security, and unlock measurable business value[2].\n - **Tool Use**: LLM agents can now use specialized tools (e.g., code runners, web searches, data analysis pipelines) to verify and refine outputs, leading to higher reliability and self-improvement[4].\n\n- **Real-World Use Cases and Business Impact** \n - **Data Analysis Agents**: LLM agents are increasingly deployed in data-heavy environments. They connect to spreadsheets, dashboards, and BI systems to analyze data, flag anomalies, generate summaries, and create visualizations—empowering non-technical stakeholders and boosting productivity for data teams[1].\n - **RPA Modernization**: In sectors like insurance, healthcare, and finance, LLM agents automate complex processes (e.g., claims approval, documentation gathering) by reasoning through semi-structured data and dynamically adapting to edge cases[1].\n - **RAG Chatbots and Grounded QA**: LLM agents enhance retrieval-augmented generation (RAG) chatbots, improving factual accuracy and allowing more control over response generation in regulated or customer-facing contexts[1].\n - **Autonomous Customer Interaction**: AI agents in the workplace can converse with customers and autonomously execute follow-up actions (e.g., processing payments, checking inventory), streamlining operations and improving customer experience[5].\n\n- **Measurable Results** \n - **Improved Productivity**: Enterprises report significant productivity gains as LLM agents automate multi-step workflows, reduce manual data analysis, and handle customer queries autonomously[1][5].\n - **Reduced Integration Friction**: By unifying data sources and leveraging agentic AI, companies report smoother integration into business workflows and clearer ROI than traditional LLM approaches[2].\n\n- **Expert Opinions and Industry Perspectives** \n - **Andrej Karpathy**: Former head of AI at Tesla and founding member of OpenAI, Karpathy states that 2025 marks the start of the \"decade of AI agents,\" predicting widespread adoption of agentic AI in the workplace[3].\n - **McKinsey Report**: Highlights that agentic AI is now acting autonomously in the workplace, enabling end-to-end customer service and operational automation with measurable impact[5].\n\n**CONTENT ANGLES**\n\n- **LinkedIn Post Hook: \"Is 2025 the Year of the Agent? How AI Agents Are Reshaping Productivity in Every Industry\"**\n- **Perspective: \"From Data Analysis to Autonomous Customer Service: LLM Agents Are No Longer Just a Promise—They’re Delivering Real Business Value\"**\n- **Insight: \"Why Agentic AI Is Outpacing LLMs for Enterprise Automation—And What It Means for Your Team\"**\n- **Advice: \"How Leading Companies Are Integrating AI Agents with Existing Tools for Maximum Impact\"**\n\n**LIMITATIONS**\n\n- **Community Discussions**: No direct links to current Reddit, Hacker News, or Twitter threads with verifiable, recent discussions on AI agents/LLMs in workplace contexts were found in the provided sources. (Note: As of July 2025, these platforms are likely abuzz with discussions, but specific, cited threads are not included in the available data.)\n- **Hard Statistics on ROI**: While enterprises report productivity gains and easier integration, specific quantified ROI figures (e.g., \"x% reduction in processing time\" or \"y% increase in customer satisfaction\") are not detailed in the cited sources. Most results reference clear business impact but do not provide granular metrics.\n- **Detailed Case Studies**: The sources mention real-world applications (insurance, healthcare, finance, customer service), but do not include named company case studies or in-depth process breakdowns.\n\n**Summary Table: Key Use Cases and Innovations**\n\n| Use Case | Description | Business Impact |\n|-------------------------|-----------------------------------------------------------------------------|-------------------------------|\n| Data Analysis Agents | Analyze, summarize, visualize data via natural language | Productivity boost, accessibility for non-technical users |\n| RPA Modernization | Automate claims, documentation, ticket routing in regulated sectors | Flexibility, reduced manual work, better edge case handling |\n| RAG Chatbots | Grounded QA, controlled retrieval, accurate responses in customer service | Improved accuracy, compliance, customer experience |\n| Autonomous Customer Interaction | End-to-end customer service and action execution | Streamlined operations, faster responses |"
},
"finish_reason": "stop"
}
],
"created": 1752165514,
"citations": [
"https://orq.ai/blog/llm-agents",
"https://proactivemgmt.com/blog/2025/01/22/2025-the-year-of-the-agent-building-on-the-foundation-of-llms/",
"https://www.apideck.com/blog/ai-agents-explained-everything-you-need-to-know-in-2025",
"https://www.superannotate.com/blog/llm-agents",
"https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/superagency-in-the-workplace-empowering-people-to-unlock-ais-full-potential-at-work"
],
"search_results": [
{
"url": "https://orq.ai/blog/llm-agents",
"date": "2025-06-17",
"title": "LLM Agents in 2025: Definition, Use Cases, & Tools - Orq.ai",
"last_updated": "2025-06-18"
},
{
"url": "https://proactivemgmt.com/blog/2025/01/22/2025-the-year-of-the-agent-building-on-the-foundation-of-llms/",
"date": "2025-01-22",
"title": "2025: The Year of the Agent – Building on the Foundation of LLMs",
"last_updated": "2025-06-16"
},
{
"url": "https://www.apideck.com/blog/ai-agents-explained-everything-you-need-to-know-in-2025",
"date": "2025-06-25",
"title": "AI Agents Explained: Everything You Need to Know in 2025 - Apideck",
"last_updated": "2025-07-04"
},
{
"url": "https://www.superannotate.com/blog/llm-agents",
"date": "2025-03-11",
"title": "LLM agents: The ultimate guide 2025 | SuperAnnotate",
"last_updated": "2025-06-16"
},
{
"url": "https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/superagency-in-the-workplace-empowering-people-to-unlock-ais-full-potential-at-work",
"date": "2025-01-28",
"title": "AI in the workplace: A report for 2025 - McKinsey",
"last_updated": "2025-06-16"
}
]
}
}
],
"Content Review & Approval": [
{
"json": {
"data": {
"Testo ": "",
"Ti piace?": "Sì",
"Proposta di miglioramento": ""
}
}
}
],
"🖼️ Image Prompt Generator": [
{
"json": {
"index": 0,
"message": {
"role": "assistant",
"content": "Vector-style conceptual infographic showing “The Year of the AI Agent (2025)” as a central hub powering autonomous workflows. In the center, a stylized AI icon (cortex or chip) emits clean flowing lines to modular nodes representing:\n– Excel sheets (symbolized by simple tables)\n– Dashboards (charts and graphs)\n– Chat interfaces (speech bubbles)\n– RPA processes (gear icons)\n– CRM systems (user silhouette + database)\nEach node includes small abstract iconography (e.g., n8n, OpenAI, LangChain, Microsoft Fabric) as puzzle pieces or plug icons connecting to the central AI.\n\nUse a minimal, flat-design vector style with geometric shapes and high contrast. Background light (white or off-white), accent palette in professional tech tones (deep blue, teal, orange). Include arrows or smooth curved lines suggesting flow, efficiency, autonomy. Label only nodes with single keywords: “data,” “agent,” “flow,” “insights.” No realistic UI, photography, or long text.\n\nComposition should clearly convey automation, orchestration, and intelligent decision-making, in a sleek and modern LinkedIn-ready format.",
"refusal": null,
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
}
]
},
"settings": {},
"versionId": "a61255b1-0849-4ea7-903f-47fe44964658",
"connections": {
"de8492e6-9fa5-4da6-90db-95a2c979ed2b": {
"main": [
[
{
"node": "a1d79590-cd7a-4a8f-9027-534891c233e9",
"type": "main",
"index": 0
}
]
]
},
"5e26fa9f-c556-4469-80da-7b29633702d9": {
"main": [
[
{
"node": "afec1b86-eda6-42fd-b800-bd92663b5eb5",
"type": "main",
"index": 0
}
]
]
},
"a1d79590-cd7a-4a8f-9027-534891c233e9": {
"main": [
[
{
"node": "e7a228d5-e079-42c1-8024-9b41da4e36d5",
"type": "main",
"index": 0
}
]
]
},
"64298786-6b84-49cb-aef8-7994b09a6b4a": {
"main": [
[
{
"node": "b472a93d-49a4-4822-96ad-8cf7efdf4ad3",
"type": "main",
"index": 0
}
]
]
},
"d4705dde-36a4-475e-8440-f3060588500d": {
"main": [
[
{
"node": "121a6e68-f406-41f1-aaeb-dc04c8532c2c",
"type": "main",
"index": 0
}
]
]
},
"e7a228d5-e079-42c1-8024-9b41da4e36d5": {
"main": [
[]
]
},
"121a6e68-f406-41f1-aaeb-dc04c8532c2c": {
"main": [
[
{
"node": "64298786-6b84-49cb-aef8-7994b09a6b4a",
"type": "main",
"index": 0
}
]
]
},
"1dc611c7-d02e-4666-90e8-4f0b20e2da7d": {
"main": [
[
{
"node": "64298786-6b84-49cb-aef8-7994b09a6b4a",
"type": "main",
"index": 0
}
]
]
},
"afec1b86-eda6-42fd-b800-bd92663b5eb5": {
"main": [
[
{
"node": "d4705dde-36a4-475e-8440-f3060588500d",
"type": "main",
"index": 0
}
]
]
},
"b472a93d-49a4-4822-96ad-8cf7efdf4ad3": {
"main": [
[
{
"node": "1cab82ee-7946-414d-867d-e7a859478465",
"type": "main",
"index": 0
}
]
]
},
"3ef4644e-7c2e-4642-8bed-2ebbb30c9fb1": {
"main": [
[
{
"node": "de8492e6-9fa5-4da6-90db-95a2c979ed2b",
"type": "main",
"index": 0
}
]
]
},
"1cab82ee-7946-414d-867d-e7a859478465": {
"main": [
[
{
"node": "3ef4644e-7c2e-4642-8bed-2ebbb30c9fb1",
"type": "main",
"index": 0
}
],
[
{
"node": "1dc611c7-d02e-4666-90e8-4f0b20e2da7d",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Creación de contenido, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Alberto Bordoni
@abordoniWith over 7 years of experience in data analysis and the optimization of business processes and systems. I specialize in Data Governance, Target Operating Model design, and Change Management.
Compartir este flujo de trabajo