Usar Gemini y Cloudflare AI para crear contenido de LinkedIn desde flujos de trabajo

Avanzado

Este es unautomatización que contiene 21 nodos.Utiliza principalmente nodos como If, Set, Code, LinkedIn, Telegram. Crear contenido para LinkedIn a partir de flujos de trabajo utilizando Gemini y Cloudflare AI

Requisitos previos
  • Credenciales de API de LinkedIn
  • Bot Token de Telegram
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Credenciales de API de Google Sheets

Categoría

-
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "8ada9bcc9ea45588c6264d0e90c5cf681653b47a083291c1f78d0cc01f7e596b",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "23e32b78-14fb-49d9-88ee-fde24f34d751",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        -128
      ],
      "parameters": {
        "color": 5,
        "width": 2432,
        "height": 624,
        "content": "## LinkedIn Post Content and Image Generator"
      },
      "typeVersion": 1
    },
    {
      "id": "ae5e66ae-319c-445d-ab16-071186195544",
      "name": "Nota adhesiva 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        864,
        512
      ],
      "parameters": {
        "color": 4,
        "width": 752,
        "height": 368,
        "content": "## Finalized Post Content and Image is Posted in LinkedIn"
      },
      "typeVersion": 1
    },
    {
      "id": "18081731-dc14-4c27-9cf0-a74aa3ad30cd",
      "name": "Imagen > 1 megapíxel",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        1600,
        0
      ],
      "parameters": {
        "errorMessage": "The size of the image (width x height) is larger than 1 megapixel"
      },
      "typeVersion": 1
    },
    {
      "id": "b25d96d7-04ad-4098-910d-055bbca77caf",
      "name": "Nota adhesiva 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -768,
        -240
      ],
      "parameters": {
        "width": 544,
        "height": 416,
        "content": "=========================\n Turn Your n8n Workflows to LinkedIn Post with a suitable Image. \n=======================================\nFor any questions or support, please contact:\n    anirudh.n.aeran@gmail.com\n\nExplore more tips here:\n    - LinkedIn: https://www.linkedin.com/in/anirudh-narayan-a-/\n\nHappy learning! -- Anirudh Aeran\n\n\n======================================="
      },
      "typeVersion": 1
    },
    {
      "id": "3ba01fe1-5a05-4046-96bf-677f4b029848",
      "name": "Nota adhesiva 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -768,
        224
      ],
      "parameters": {
        "color": 5,
        "width": 544,
        "height": 848,
        "content": "## Try It Out!\n\nThis workflow is your personal AI ghostwriter and designer for LinkedIn. It turns your n8n workflows into stunning content in minutes.\n\n**To get started:**\n\n1. **Connect Your Brains:** This workflow uses multiple AIs and services. First, add your credentials in n8n for **Google Gemini**, **Cloudflare**, **LinkedIn**, **Google Sheets**, and create **two separate Telegram bots** (Bot A for generating, Bot B for posting). For Cloudflare credentials: [Watch](https://youtu.be/2tycZNP5_IA?t=75)\n\n2. **Configure the Workflow:**\n- In the **Cloudflare HTTP Request nodes**, add your Cloudflare Account ID to the URL.\n- Select the correct credentials in all **Telegram, Gemini, LinkedIn, and Sheets** nodes.\n- Add your Google Sheet ID to the **\"Append row in sheet\"** node.\n\n3. **Generate Your First Post:**\n- Find an n8n workflow you want to post about and download it as a JSON file.\n- Send this JSON file to **Bot A (your generator bot)**.\n- Wait a moment. The bot will send you back a newly generated AI image, The post content and the detailed image prompt in the caption.\n\n4. **Publish to LinkedIn:**\n- Go to your **Bot B (your publisher bot)**.\n- **Forward the image** you just received from Bot A to this bot (After verification) or create a new image and send it to BOT B.\n- Now, **reply** to that forwarded image with the final text (Post Content from BOT A) you want for your LinkedIn post. You can use the text generated by Gemini or write your own.\n- The workflow will trigger and automatically post the image and your reply text to your LinkedIn profile!\n\n5. **Go Live:** Keep the workflow active. Now you have a content creation pipeline ready to go anytime you build something new!"
      },
      "typeVersion": 1
    },
    {
      "id": "8c9aa345-6cde-4f50-b886-bb4e05df0d8f",
      "name": "Recibir n8n JSON",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        96,
        192
      ],
      "webhookId": "252ddcaa-ec29-4392-8b06-af40290ac822",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "rsiac7CZm9xv74tf",
          "name": "Linked In (JSON) Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "32db6359-fcf5-4b5c-aa53-abf8c6298efd",
      "name": "Obtener archivo JSON desde Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        304,
        192
      ],
      "webhookId": "60f1d943-0371-48e8-945f-1fda338304e2",
      "parameters": {
        "fileId": "={{ $json.message.document.file_id }}",
        "resource": "file",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "rsiac7CZm9xv74tf",
          "name": "Linked In (JSON) Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "dda73ea8-6f9c-4a1a-8cbe-a5403986728e",
      "name": "Analizar flujo de trabajo JSON",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        480,
        192
      ],
      "parameters": {
        "options": {},
        "operation": "fromJson"
      },
      "typeVersion": 1
    },
    {
      "id": "dd2d0e0b-fe4b-4b1a-b821-565cf6a42e50",
      "name": "Gemini: Generar publicación y prompt de imagen",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        640,
        192
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.5-flash",
          "cachedResultName": "models/gemini-2.5-flash"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "## PERSONA AND CORE RULES ##\nYou are 'FlowArchitect', a world-class automation expert and LinkedIn content strategist specializing in n8n. Your mission is to analyze complex n8n workflow JSON and transform it into a compelling LinkedIn post that is insightful, engaging, and drives comments.\n\nYour secondary tasks are:\n1. Create a detailed, professional prompt for an AI image generation model (like Stable Diffusion or Midjourney). The prompt must describe a high-quality, conceptual graphic that acts as a visual hook and matches the content of the LinkedIn post.\n    * Crucially, the prompt MUST include a specific headline/hook to be integrated seamlessly into the image. This headline should be short, impactful, and directly relevant to the post's main benefit.\n    * The prompt must specify exact placement for this headline (e.g., \"prominently displayed in the top left,\" \"centered at the bottom\").\n    * The prompt must specify the use of a modern, bold, easily readable, professional-grade sans-serif font for any text in the image (e.g., 'Inter', 'Montserrat', 'Lato', 'Open Sans').\n2. Generate a unique, URL-safe filename for the image.\n3. Generate a `dm_message` which contains the exact keyword mentioned in the Call To Action, ready to be sent in a direct message.\n\nYour tone is expert, confident, and value-driven. You use emojis (like →, ✅, ❌, 🔥, 🚨, 💀) to add personality and improve readability.\n\nYour response MUST ALWAYS be a single, valid JSON object. Do not include any text, notes, or explanations outside of the JSON structure. The JSON object must have four keys: \"post_text\", \"image_prompt\", \"style_used\", \"image_filename\", and \"dm_message\". The \"image_filename\" should be a unique, URL-safe slug based on the content of the post, ending with .png (e.g., automated-review-system.png).\n\n## LINKEDIN POST STYLES ##\nYou are an expert in two distinct, high-engagement LinkedIn post styles.\n\n### Style 1: The 'Builder' Post (Direct & Detailed)\nThis style is for showcasing technical prowess and clear results.\n- **Hook:** Start with a bold, direct claim like \"I Built an Automated System That...\"\n- **Problem:** State the common problem the workflow solves.\n- **Solution Actions:** Use \"→\" to list the specific actions the automation performs.\n- **Results:** Use \"✅\" to list 3-4 quantifiable, impressive outcomes.\n- **How It Works:** Provide a clear \"Step 1, Step 2...\" breakdown of the workflow logic.\n- **Comparison:** Briefly contrast the automated approach with the inefficient manual way.\n- **Tech Stack:** List the key technologies used.\n- **Call to Action (CTA):** End with \"Like + Comment '[KEYWORD]' and I'll DM you the ready-to-import template 👇\"\n\n### Style 2: The 'Strategist' Post (Contrarian & Psychological)\nThis style is for showcasing strategic thinking and hooking the reader with a unique angle.\n- **Hook:** Start with a provocative, contrarian opinion like \"Unpopular Opinion: [Common Practice] is Killing Your Business 💀\"\n- **The Secret:** Reveal the \"secret\" or the core principle behind your method (e.g., Timing + Value Exchange).\n- **Psychology:** Explain the \"why\" behind your strategy, focusing on customer perception and behavior.\n- **Solution Functions:** Use \"✅\" to list the high-level functions the automation handles.\n- **Key Result:** State the single most impressive metric or outcome.\n- **The Best Part:** Mention that it's fully automatic and saves time/effort.\n- **Call to Action (CTA):** End with \"Comment '[KEYWORD]' and I'll share the complete system 🔥\"\n\n## EXAMPLES ##\nHere is an example of how to apply these styles to a workflow that automates Google Review collection.\n\n### Example Input:\n{\n  \"workflow_summary\": \"An n8n workflow that triggers on a new WhatsApp message, checks if the customer exists in Google Sheets, sends a discount offer, waits 6 hours, then sends a Google Review link and follows up if the link is not clicked.\",\n  \"tools\": [\"n8n\", \"WhatsApp Business API\", \"Google Sheets\", \"Webhook\"],\n  \"results\": {\n    \"review_rate_before\": \"2%\",\n    \"review_rate_after\": \"15%\",\n    \"hours_saved_weekly\": 25\n  }\n}\n\n### Example Output for Style 1 ('Builder'):\n{\n  \"post_text\": \"I Built an Automated Google Review System That Turns Every Customer Into a 5-Star Review 🚨\\nMost businesses lose 90% of potential reviews because they never follow up.\\nMeanwhile, I built a WhatsApp automation that:\\n→ Captures every customer interaction automatically\\n→ Sends personalized discount offers instantly\\n→ Follows up with review requests at the perfect timing\\n→ Tracks everything in Google Sheets without manual work\\nThe result?\\n✅ 300% increase in review collection rates\\n✅ Zero manual follow-up work required\\n✅ Automatic customer segmentation\\n✅ Smart duplicate prevention system\\nHow the automation works:\\nStep 1: Customer Detection\\nWhatsApp trigger captures incoming messages\\nAutomatically checks Google Sheets for existing customers\\nSegments new vs returning customers instantly\\nStep 2: Smart Offer System\\nNew customers → Instant 5% discount message\\nReturning customers → \\\"Already claimed\\\" prevention\\nAll interactions logged with timestamps\\nStep 3: Intelligent Follow-Up\\n6-hour delay before review request (perfect timing psychology)\\nPersonalized WhatsApp template messages\\nClick tracking for review link engagement\\nScheduled hourly follow-ups for non-responders\\nStep 4: Data Intelligence\\nGoogle Sheets integration tracks every touchpoint\\nStatus updates: pending → contacted → clicked → reviewed\\nFeedback collection and storage\\nCustomer journey analytics\\nWhy this beats manual review requests:\\n❌ Manual approach: 2% review rate, 20+ hours weekly\\n✅ My automation: 15% review rate, 0 hours weekly\\nThe tech stack:\\nn8n for workflow orchestration\\nWhatsApp Business API for messaging\\nGoogle Sheets for customer database\\nWebhook triggers for real-time updates\\nSmart conditional logic for customer segmentation\\nThis system has generated 500+ authentic reviews for my clients while saving 25+ hours weekly per business.\\nWant the complete n8n workflow JSON?\\nLike + Comment \\\"REVIEW SYSTEM\\\" and I'll DM you the ready-to-import template 👇\",\n  \"image_prompt\": \"Professional graphic for a LinkedIn post about automation. A central glowing 5-star icon, with data streams connecting icons for WhatsApp, Google Sheets, and a clock. Clean, technical, dark background with orange and blue highlights. Integrate the bold white text 'AUTOMATED 5-STAR REVIEWS' prominently in the top center, using a modern sans-serif font like 'Inter' or 'Montserrat'. High-detail, corporate tech aesthetic, digital art, high resolution.\",\n  \"style_used\": \"Builder\",\n  \"image_filename\": \"automated-google-review-system.png\",\n  \"dm_message\": \"REVIEW SYSTEM\"\n}\n\n### Example Output for Style 2 ('Strategist'):\n{\n  \"post_text\": \"Unpopular Opinion: Asking for Google Reviews is Killing Your Business 💀\\nEveryone's begging customers for reviews.\\nBut here's what actually works:\\nGive value FIRST, then ask.\\nI built a WhatsApp automation that turns every customer interaction into a review opportunity WITHOUT being pushy.\\nThe secret? Timing + Value Exchange\\nInstead of: \\\"Please leave us a review 🙏\\\"\\nI do this: \\\"Here's your exclusive 5% discount → [6 hours later] → How was your experience?\\\"\\nThe psychology behind it:\\nCustomers feel valued (discount first)\\nPerfect timing (6-hour delay = peak satisfaction)\\nNon-intrusive (WhatsApp vs email spam)\\nReciprocity principle (they got value, want to give back)\\nMy n8n workflow handles:\\n✅ Automatic customer detection\\n✅ Smart duplicate prevention\\n✅ Personalized discount delivery\\n✅ Perfectly timed review requests\\n✅ Follow-up for non-responders\\n✅ Complete analytics tracking\\nResult: 15% review rate vs industry average of 2%\\nThe best part? It runs completely automatically.\\nNo manual work. No pushy sales tactics. No spam.\\nJust value-first automation that customers actually appreciate.\\nReady to stop begging for reviews?\\nComment \\\"VALUE FIRST\\\" and I'll share the complete system 🔥\",\n  \"image_prompt\": \"Conceptual digital art for a business strategy post. A balanced scale. On one side, a small glowing gift box icon labeled 'Value First'. On the other side, a much larger pile of 5-star review icons. The theme is reciprocity and smart business. Minimalist, professional, sophisticated color palette, dark background. Integrate the bold white text 'GIVE VALUE, GET REVIEWS' prominently centered at the top, using an elegant, clean sans-serif font. High resolution.\",\n  \"style_used\": \"Strategist\",\n  \"image_filename\": \"value-first-review-strategy.png\",\n  \"dm_message\": \"VALUE FIRST\"\n}\n\n## FINAL TASK ##\nNow, analyze the following real n8n workflow JSON. Choose one of the two post styles ('Builder' or 'Strategist') to write the post. **Alternate which style you use for each new request to test which performs better.** Generate the final JSON output, including the detailed image prompt, a unique filename, and the `dm_message`.\n\n\n## Important Note: The CTA or the keyword should always be a relevant single word and not complex ones with multiple words or special characters of any type. "
            },
            {
              "content": "=n8n workflow in JSON:\n{{ JSON.stringify($json.data) }}"
            }
          ]
        }
      },
      "credentials": {
        "googlePalmApi": {
          "id": "3QMblcxz1YIoMjSA",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 2000
    },
    {
      "id": "51910b8c-f726-462d-8b33-9233a0196cad",
      "name": "Analizar salida de Gemini",
      "type": "n8n-nodes-base.code",
      "position": [
        944,
        192
      ],
      "parameters": {
        "jsCode": "// This new code outputs ONE item with all the data combined.\n\nconst aiNodeOutput = items[0].json;\nconst rawText = aiNodeOutput.content.parts[0].text;\nconst cleanedJsonString = rawText.replace(/^```json\\n/, '').replace(/\\n```$/, '').trim();\nconst parsedData = JSON.parse(cleanedJsonString);\n\n// Return a single item containing the post_text, image_headline, and style_used\nreturn [{\n  json: parsedData\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "d6cfe1a0-d9e6-4aa9-8e03-e945782c3aea",
      "name": "Registrar contenido en hoja Google",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1136,
        368
      ],
      "parameters": {
        "columns": {
          "value": {
            "Keyword": "={{ $json.dm_message }}",
            "Style Used": "={{ $json.style_used }}",
            "Image Prompt": "={{ $json.image_prompt }}"
          },
          "schema": [
            {
              "id": "Keyword",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Keyword",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Github Repo Link",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Github Repo Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image Prompt",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Image Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Style Used",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Style Used",
              "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/15mWZ28bis89i-7mLY8EU39OxoYPQ0L7LeY4eqwq01Cs/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "15mWZ28bis89i-7mLY8EU39OxoYPQ0L7LeY4eqwq01Cs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/15mWZ28bis89i-7mLY8EU39OxoYPQ0L7LeY4eqwq01Cs/edit?usp=drivesdk",
          "cachedResultName": "LinkedIn Keywords for DM Automation"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "9jbOpr1QoJsk9P2J",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "19a6fc45-55f1-4870-b6f7-220c7bcd77b9",
      "name": "Establecer parámetros de generación de imagen",
      "type": "n8n-nodes-base.set",
      "position": [
        1136,
        192
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3f7d5020-0710-4f3c-858f-0485a2bd2963",
              "name": "width",
              "type": "number",
              "value": "={{ $json.width || 1024 }}"
            },
            {
              "id": "39b906fa-3e0b-45b9-9c1b-95cbc51e195d",
              "name": "prompt",
              "type": "string",
              "value": "={{ $json.image_prompt }}"
            },
            {
              "id": "3f8593d2-cfb3-437a-a9fc-4430995cb78f",
              "name": "height",
              "type": "number",
              "value": "={{ $json.height || 1024 }}"
            },
            {
              "id": "065181ef-404a-4860-9019-976e6e8391e0",
              "name": "seed",
              "type": "number",
              "value": "={{ Math.floor(Math.random() * 100000000) }}"
            },
            {
              "id": "2c131da3-e708-4468-bb09-d400e7e5f28c",
              "name": "steps",
              "type": "number",
              "value": 4
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "75c3d30b-3444-4cc2-82fa-29c4dc2607a0",
      "name": "Validar dimensiones de imagen",
      "type": "n8n-nodes-base.if",
      "position": [
        1344,
        192
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f6e30a82-76cd-4bfd-9bc5-b7fffb15e35c",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.width * $json.height > 1048576 }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e8a67bda-7a40-402a-9b0f-8c8b69abb40c",
      "name": "Cloudflare: Obtener ID de cuenta",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1600,
        192
      ],
      "parameters": {
        "url": "https://api.cloudflare.com/client/v4/accounts",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "97V45YZYPuR8LUd4",
          "name": "CloudFare"
        },
        "httpHeaderAuth": {
          "id": "gUe8q2vCgewIcQPz",
          "name": "Cloudfare header auth"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "6bcebec4-2f24-4d50-b6b1-f25db62cb765",
      "name": "Cloudflare: Generar imagen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1792,
        192
      ],
      "parameters": {
        "url": "=https://api.cloudflare.com/client/v4/accounts/{{ $json.result[0].id }}/ai/run/@cf/black-forest-labs/flux-1-schnell",
        "method": "POST",
        "options": {},
        "jsonBody": "={{ \n\nJSON.stringify(\n  {\n    prompt: $('Set Image Generation Parameters').item.json.prompt,\n    seed: $('Set Image Generation Parameters').item.json.seed,\n    \"width\": $('Set Image Generation Parameters').item.json.width,\n    \"height\": $('Set Image Generation Parameters').item.json.height,\n    \"steps\": $('Set Image Generation Parameters').item.json.steps\n  }\n) \n\n}}",
        "sendBody": true,
        "specifyBody": "=json",
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {}
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "97V45YZYPuR8LUd4",
          "name": "CloudFare"
        },
        "httpHeaderAuth": {
          "id": "gUe8q2vCgewIcQPz",
          "name": "Cloudfare header auth"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "27cfe056-9e2a-410c-8cad-d12d47f088e0",
      "name": "Convertir imagen a binario",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        1984,
        192
      ],
      "parameters": {
        "options": {},
        "operation": "toBinary",
        "sourceProperty": "result.image"
      },
      "typeVersion": 1.1
    },
    {
      "id": "4a701ff4-6dec-4e90-b2d1-b228c701a97f",
      "name": "Enviar contenido para verificación",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1136,
        0
      ],
      "webhookId": "3820f391-f78e-49c5-b911-48bfe4566fea",
      "parameters": {
        "text": "={{ $json.post_text }}",
        "chatId": "={{ $('Receive n8n JSON').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "EXE6014whXdKZuv3",
          "name": "Linked In Post Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "4a7204b9-4a8e-4fa4-97c1-a682e5c31a8b",
      "name": "Enviar imagen y prompt al usuario",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2192,
        192
      ],
      "webhookId": "a6a4b316-9bed-4539-82d1-44851ed29d73",
      "parameters": {
        "chatId": "={{ $('Receive n8n JSON').item.json.message.chat.id }}",
        "operation": "sendPhoto",
        "binaryData": true,
        "additionalFields": {
          "caption": "={{ $('Parse Gemini Output').item.json.image_prompt }}"
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "rsiac7CZm9xv74tf",
          "name": "Linked In (JSON) Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "decd0dc3-5f3d-4c25-9df7-ece684c25d7e",
      "name": "Trigger: Responder a imagen de publicación",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        960,
        640
      ],
      "webhookId": "34db5442-de08-4a27-91af-73ffebb7eac3",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "EXE6014whXdKZuv3",
          "name": "Linked In Post Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c82cb7dd-f097-4942-be23-3faf7dd19a2d",
      "name": "Obtener imagen desde respuesta",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1168,
        640
      ],
      "webhookId": "1a1cae12-cca1-448b-b5cb-ae31f9fea8ef",
      "parameters": {
        "fileId": "={{ $json.message.reply_to_message.photo[$json.message.reply_to_message.photo.length - 1].file_id }}",
        "resource": "file",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "EXE6014whXdKZuv3",
          "name": "Linked In Post Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "223e88f1-85d3-4f33-b2cc-01f1a022a41f",
      "name": "Publicar en LinkedIn",
      "type": "n8n-nodes-base.linkedIn",
      "position": [
        1376,
        640
      ],
      "parameters": {
        "text": "={{ $('Trigger: Reply to Post Image').item.json.message.text }}",
        "person": "-vNmfGJ-HL",
        "additionalFields": {
          "title": "Instagram DM Automation",
          "visibility": "CONNECTIONS"
        },
        "shareMediaCategory": "IMAGE"
      },
      "credentials": {
        "linkedInOAuth2Api": {
          "id": "4QoqhVOPLpvWgFxN",
          "name": "LinkedIn account"
        }
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "Receive n8n JSON": [
      {
        "message": {
          "chat": {
            "id": 1250983224,
            "type": "private",
            "last_name": "A",
            "first_name": "Anirudh"
          },
          "date": 1760019290,
          "from": {
            "id": 1250983224,
            "is_bot": false,
            "last_name": "A",
            "first_name": "Anirudh",
            "language_code": "en"
          },
          "document": {
            "file_id": "BQACAgUAAxkBAAMOaOfDWqq9vDNM2iarFZyNiWfYWtcAAl4ZAAK7ujlXFOKuGtuE_tA2BA",
            "file_name": "code1.json",
            "file_size": 7629,
            "mime_type": "application/json",
            "file_unique_id": "AgADXhkAAru6OVc"
          },
          "message_id": 14
        },
        "update_id": 354524577
      }
    ],
    "Trigger: Reply to Post Image": [
      {
        "message": {
          "chat": {
            "id": 1250983224,
            "type": "private",
            "last_name": "A",
            "first_name": "Anirudh"
          },
          "date": 1760593151,
          "from": {
            "id": 1250983224,
            "is_bot": false,
            "last_name": "A",
            "first_name": "Anirudh",
            "language_code": "en"
          },
          "text": "Unpopular Opinion: Manually answering every Instagram DM is not sustainable personal branding 💀\n\nEveryone talks about 'authenticity' and 'personal connection' on Instagram. But what happens when your DMs explode? Most influencers and businesses either:\n\n❌ Get overwhelmed and miss opportunities\n❌ Send generic, uninspired replies that feel anything but 'personal'\n❌ Spend hours every day just trying to keep up\n\nMeanwhile, I've built an n8n workflow that changes the game.\n\nThe secret? AI-powered 'ghost' engagement that feels 100% authentic and on-brand, 24/7.\n\nThis isn't about replacing you. It's about scaling your unique voice and ensuring every follower feels heard, instantly. It’s about automating for authenticity, not away from it.\n\nThe psychology behind this approach:\n✅ Instant Gratification: Followers get immediate replies, fostering a sense of responsiveness.\n✅ Consistent Voice: Your brand persona is maintained across every interaction, building trust.\n✅ Personalized Experience: AI-driven replies are tailored to the conversation context, not just canned responses.\n✅ Effortless Engagement: You build deeper connections without the constant manual grind.\n\nMy n8n + ManyChat + AI system intelligently handles:\n✅ Real-time Instagram DM capture via ManyChat\n✅ Dynamic AI persona definition (e.g., your unique influencer style)\n✅ Context-aware responses with intelligent conversation memory\n✅ Consistent, on-brand messaging, reflecting your previous posts' tone\n✅ 24/7 personalized engagement with your audience, effortlessly\n\nKey Result: Scaled personalization, round-the-clock engagement, and a consistent, authentic brand voice across all your DMs – completely hands-free. You gain hours back, and your community feels more connected than ever.\n\nThe best part? You can be creating your next viral reel, filming a new course, or simply living your life, while your n8n bot expertly handles the influx, building deeper connections with your community.\n\nReady to redefine your Instagram strategy and turn your DMs into a powerful growth engine?\nComment \"INSTA-DM-AI\" and I'll share the complete system 🔥",
          "entities": [
            {
              "type": "bold",
              "length": 3,
              "offset": 60
            },
            {
              "type": "bold",
              "length": 3,
              "offset": 707
            }
          ],
          "message_id": 7,
          "reply_to_message": {
            "chat": {
              "id": 1250983224,
              "type": "private",
              "last_name": "A",
              "first_name": "Anirudh"
            },
            "date": 1760593003,
            "from": {
              "id": 1250983224,
              "is_bot": false,
              "last_name": "A",
              "first_name": "Anirudh",
              "language_code": "en"
            },
            "photo": [
              {
                "width": 90,
                "height": 47,
                "file_id": "AgACAgUAAxkBAAMEaPB98Ld1rnxfjZm6AktAWF9WBFkAAhMNaxvuGYBXReis1pAh8FsBAAMCAANzAAM2BA",
                "file_size": 746,
                "file_unique_id": "AQADEw1rG-4ZgFd4"
              },
              {
                "width": 320,
                "height": 168,
                "file_id": "AgACAgUAAxkBAAMEaPB98Ld1rnxfjZm6AktAWF9WBFkAAhMNaxvuGYBXReis1pAh8FsBAAMCAANtAAM2BA",
                "file_size": 7642,
                "file_unique_id": "AQADEw1rG-4ZgFdy"
              },
              {
                "width": 800,
                "height": 421,
                "file_id": "AgACAgUAAxkBAAMEaPB98Ld1rnxfjZm6AktAWF9WBFkAAhMNaxvuGYBXReis1pAh8FsBAAMCAAN4AAM2BA",
                "file_size": 29660,
                "file_unique_id": "AQADEw1rG-4ZgFd9"
              },
              {
                "width": 1280,
                "height": 674,
                "file_id": "AgACAgUAAxkBAAMEaPB98Ld1rnxfjZm6AktAWF9WBFkAAhMNaxvuGYBXReis1pAh8FsBAAMCAAN5AAM2BA",
                "file_size": 53542,
                "file_unique_id": "AQADEw1rG-4ZgFd-"
              }
            ],
            "message_id": 6
          }
        },
        "update_id": 670476625
      }
    ],
    "Gemini: Generate Post & Image Prompt": [
      {
        "index": 0,
        "content": {
          "role": "model",
          "parts": [
            {
              "text": "```json\n{\n  \"post_text\": \"Unpopular Opinion: Manually replying to every Instagram DM is killing your growth (and your sanity) 💀\\n\\nMost influencers and businesses are still trying to keep up with DMs one-by-one, or worse – ignoring them. That's a recipe for burnout and missed opportunities.\\n\\nThe secret? Scalable, *authentic* engagement through AI.\\n\\nYour audience craves connection. They DM for advice, questions, or just to say hi. Leaving them on read, or with generic responses, erodes trust. But providing instant, personalized, *on-brand* replies? That builds a loyal community, turning casual followers into super-fans.\\n\\nI've built an n8n automation that acts as your AI Instagram assistant, handling all your DMs with your unique voice:\\n\\n✅ Instantly captures every Instagram message via ManyChat.\\n✅ Learns your unique voice and style from your past posts.\\n✅ Crafts personalized, human-like responses using advanced AI.\\n✅ Remembers conversation history for seamless, context-aware follow-ups.\\n✅ Delivers answers back to Instagram, 24/7, hands-free.\\n\\nImagine engaging consistently with thousands of followers, building deeper relationships, all without typing a single reply yourself. No more late-night replies. No more inconsistent messaging.\\n\\nThis entire system runs on n8n, completely on autopilot. It's like having an AI personal assistant for your Instagram DMs – ensuring every follower feels seen and valued, around the clock.\\n\\nWant to stop drowning in DMs and start scaling your Instagram engagement?\\n\\nComment \\\"INSTABOT\\\" and I'll share the complete n8n system 🔥\",\n  \"image_prompt\": \"Futuristic, conceptual digital art for a LinkedIn post about AI and social media automation. A stylized glowing smartphone screen is central, displaying an Instagram direct message chat interface where the AI is typing a response. Surrounding the phone, subtle, interconnected data streams flow towards abstract representations of an AI brain and a network graph, symbolizing learning and connection. The overall aesthetic is clean, professional, and slightly ethereal, using a color palette of deep blues, purples, and vibrant digital greens/oranges, on a dark, sophisticated background. Integrate the bold white text 'AI INSTAGRAM INFLUENCER' prominently centered at the top of the image, using a modern, easily readable sans-serif font like 'Montserrat' or 'Lato'. High resolution, dramatic lighting.\",\n  \"style_used\": \"Strategist\",\n  \"image_filename\": \"ai-instagram-dm-automation.png\",\n  \"dm_message\": \"INSTABOT\"\n}\n```"
            }
          ]
        },
        "finishReason": "STOP"
      }
    ]
  },
  "connections": {
    "8c9aa345-6cde-4f50-b886-bb4e05df0d8f": {
      "main": [
        [
          {
            "node": "32db6359-fcf5-4b5c-aa53-abf8c6298efd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "51910b8c-f726-462d-8b33-9233a0196cad": {
      "main": [
        [
          {
            "node": "d6cfe1a0-d9e6-4aa9-8e03-e945782c3aea",
            "type": "main",
            "index": 0
          },
          {
            "node": "19a6fc45-55f1-4870-b6f7-220c7bcd77b9",
            "type": "main",
            "index": 0
          },
          {
            "node": "4a701ff4-6dec-4e90-b2d1-b228c701a97f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dda73ea8-6f9c-4a1a-8cbe-a5403986728e": {
      "main": [
        [
          {
            "node": "dd2d0e0b-fe4b-4b1a-b821-565cf6a42e50",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c82cb7dd-f097-4942-be23-3faf7dd19a2d": {
      "main": [
        [
          {
            "node": "223e88f1-85d3-4f33-b2cc-01f1a022a41f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "27cfe056-9e2a-410c-8cad-d12d47f088e0": {
      "main": [
        [
          {
            "node": "4a7204b9-4a8e-4fa4-97c1-a682e5c31a8b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "75c3d30b-3444-4cc2-82fa-29c4dc2607a0": {
      "main": [
        [
          {
            "node": "18081731-dc14-4c27-9cf0-a74aa3ad30cd",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "e8a67bda-7a40-402a-9b0f-8c8b69abb40c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6bcebec4-2f24-4d50-b6b1-f25db62cb765": {
      "main": [
        [
          {
            "node": "27cfe056-9e2a-410c-8cad-d12d47f088e0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e8a67bda-7a40-402a-9b0f-8c8b69abb40c": {
      "main": [
        [
          {
            "node": "6bcebec4-2f24-4d50-b6b1-f25db62cb765",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "32db6359-fcf5-4b5c-aa53-abf8c6298efd": {
      "main": [
        [
          {
            "node": "dda73ea8-6f9c-4a1a-8cbe-a5403986728e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "decd0dc3-5f3d-4c25-9df7-ece684c25d7e": {
      "main": [
        [
          {
            "node": "c82cb7dd-f097-4942-be23-3faf7dd19a2d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "19a6fc45-55f1-4870-b6f7-220c7bcd77b9": {
      "main": [
        [
          {
            "node": "75c3d30b-3444-4cc2-82fa-29c4dc2607a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dd2d0e0b-fe4b-4b1a-b821-565cf6a42e50": {
      "main": [
        [
          {
            "node": "51910b8c-f726-462d-8b33-9233a0196cad",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿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

¿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.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos21
Categoría-
Tipos de nodos13
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Anirudh Aeran

Anirudh Aeran

@anirudhaeran

I'm An Oracle Certified Developer specializing in intelligent and scalable business solutions. With expertise in n8n and a range of modern web technologies, I build dynamic systems that streamline operations, save time, and drive innovation.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34