Usine à publications

Avancé

Ceci est unSocial Media, Multimodal AIworkflow d'automatisation du domainecontenant 22 nœuds.Utilise principalement des nœuds comme If, Gmail, Slack, Twitter, LinkedIn. 基于OpenAI、LinkedInetTwitter审批deautomatisationréseaux sociauxcontenu创作

Prérequis
  • Compte Google et informations d'identification Gmail API
  • Token Bot Slack ou URL Webhook
  • Informations d'identification Twitter API
  • Informations d'identification LinkedIn API
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Informations d'identification Google Sheets API
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "RUV5oY5uuXl1ZaFr",
  "meta": {
    "instanceId": "578fc7e756b9da92db58a74ab5ee45e4a0e9b01199926f9e27822bc90b3265c2",
    "templateId": "3066",
    "templateCredsSetupCompleted": true
  },
  "name": "The Post Factory",
  "tags": [],
  "nodes": [
    {
      "id": "02429ea7-be59-49e3-9d85-c1678ee64abd",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1568,
        16
      ],
      "parameters": {
        "color": 7,
        "height": 680,
        "content": "## STEP 2 : Send approval Email"
      },
      "typeVersion": 1
    },
    {
      "id": "9b6e2038-9f65-4e0f-b13d-6c09e8224ed6",
      "name": "Contenu pour Réseaux Sociaux",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1008,
        544
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"name\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\"description\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\"platform_posts\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"properties\": {\n\t\t\t\t\"LinkedIn\": {\n\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\"properties\": {\n                        \"image_suggestion\": {\n                  \t\t\t\"type\": \"string\"\n                  \t\t},\n\t\t\t\t\t\t\"post\": {\n\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"hashtags\": {\n\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"call_to_action\": {\n\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"X-Twitter\": {\n\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t\"properties\": {\n                        \"video_suggestion\": {\n                \t\t\t\"type\": \"string\"\n                \t\t},\n                        \"image_suggestion\": {\n\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"post\": {\n\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"hashtags\": {\n\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"character_limit\": {\n\t\t\t\t\t\t\t\"type\": \"integer\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"additional_notes\": {\n\t\t\t\"type\": \"string\"\n\t\t}\n\t}\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "14327277-1e66-401d-9c74-8fdb6d76445f",
      "name": "gpt-4o-mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1184,
        496
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {
          "responseFormat": "text"
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "KYtUAAABF1OLcIYH",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "56eb9c72-87fc-42b2-b576-be68b3a8c7d2",
      "name": "gpt-4o LLM",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        656,
        544
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {
          "responseFormat": "text"
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "KYtUAAABF1OLcIYH",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3a015f3f-a162-411a-85e8-e1f042d9c653",
      "name": "LinkedIn Post",
      "type": "n8n-nodes-base.linkedIn",
      "onError": "continueRegularOutput",
      "position": [
        2704,
        336
      ],
      "parameters": {
        "text": "={{ $('Social Media Content Factory').item.json.output.platform_posts.LinkedIn.post }}\n{{ $('Social Media Content Factory').item.json.output.platform_posts.LinkedIn.call_to_action }}\n{{ $('Social Media Content Factory').item.json.output.platform_posts.LinkedIn.hashtags }}\n{{ $('Social Media Content Factory').item.json.output.platform_posts.LinkedIn.call_to_action }}",
        "person": "VoJamciSbX",
        "additionalFields": {},
        "binaryPropertyName": "=data",
        "shareMediaCategory": "IMAGE"
      },
      "credentials": {
        "linkedInOAuth2Api": {
          "id": "uRLwZo2qsc95E41v",
          "name": "LinkedIn account 6"
        }
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "aaef70d7-6029-4fae-afc1-72a6a0019b03",
      "name": "Gmail User for Approval",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1632,
        336
      ],
      "webhookId": "c46cf421-ddb6-45a8-b83b-80b381666f0e",
      "parameters": {
        "sendTo": "=emailAddress",
        "message": "={{ $json.output }}",
        "options": {
          "limitWaitTime": {
            "values": {
              "resumeUnit": "minutes",
              "resumeAmount": 45
            }
          }
        },
        "subject": "=FOR YOUR APPROVAL {{ $('Social Media Content Factory').item.json.output.name }} - {{ $('Social Media Content Factory').item.json.output.description }}",
        "operation": "sendAndWait",
        "approvalOptions": {
          "values": {
            "approvalType": "double"
          }
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "wGZCoL5BBGTvQSIF",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "9732c12e-903e-49ac-8d29-ffc4d78c7ff8",
      "name": "Soumettre les Détails de la Publication",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        464,
        336
      ],
      "webhookId": "3e762442-715e-47e1-a65e-ae92085857ae",
      "parameters": {
        "options": {
          "buttonLabel": "Generate Social Media Content"
        },
        "formTitle": "What do you feel like posting about today?",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Topic",
              "placeholder": "What is the title or topic you want to write the post about?",
              "requiredField": true
            },
            {
              "fieldLabel": "Keywords or Hashtags (optional)",
              "placeholder": "Include any specific keywords or hashtags you'd like",
              "requiredField": "={{ false }}"
            },
            {
              "fieldLabel": "Link (optional)",
              "placeholder": "=Would you like to redirect your audience to a link? Add it here."
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Image",
              "fieldOptions": {
                "values": [
                  {
                    "option": "AI generated"
                  },
                  {
                    "option": "Image Link"
                  }
                ]
              }
            }
          ]
        },
        "formDescription": "=Welcome to your Social Media Assistant!\n\nJust provide the topic or title of your choice and an optional image, and the agent will generate platform-specific posts\n\nIf you're looking to grow your social media presence, this agent will save you time and make posting efficient."
      },
      "typeVersion": 2.2
    },
    {
      "id": "899f658f-4faa-4ba7-ae02-cc8fb1d22c71",
      "name": "Note adhésive10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        416,
        16
      ],
      "parameters": {
        "color": 7,
        "width": 1120,
        "height": 680,
        "content": "## STEP 1 : Generate social media post - text"
      },
      "typeVersion": 1
    },
    {
      "id": "a8075b2a-4cd0-4b0c-9b19-8bd58de449c0",
      "name": "Note adhésive11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1824,
        16
      ],
      "parameters": {
        "color": 7,
        "width": 668,
        "height": 684,
        "content": "## STEP 3:  Generate social media post - image or choose an existing image online"
      },
      "typeVersion": 1
    },
    {
      "id": "1da28ef3-9061-4e83-84e0-3502d254d63a",
      "name": "Note adhésive12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2528,
        16
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 684,
        "content": "## STEP 4:  Publish posts"
      },
      "typeVersion": 1
    },
    {
      "id": "6dc47749-eb49-4351-89aa-50f2b6c035bb",
      "name": "Usine de Contenu pour Réseaux Sociaux",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        768,
        336
      ],
      "parameters": {
        "text": "=You are a **content creation AI** for Saloni, a leading creator of **product management careers, growth, leadership** content.\n\nYour goal is to craft **engaging, platform-specific content** for LinkedIn, Twitter (X),. Each post must align with the platform’s audience preferences, tone, and style while reflecting Saloni's expertise. The content should provide **value-driven insights**, tutorials, reviews, and discussions that resonate with tech professionals, product managers, leaders, startup founders and more.\n\n### Key Objectives:\n1. **Platform Optimization**: Tailor content format, tone, and hashtags to suit each platform’s algorithm and audience engagement patterns.\n2. **SEO & Hashtags**: Use a mix of general automation hashtags and trending platform-specific hashtags to maximize reach.\n3. **Engagement Focus**: Create content that sparks interaction through tutorials, comparisons, reviews, or thought-provoking discussions.\n4. **Consistency**: Maintain a professional yet approachable tone across all platforms while adapting to audience needs.\n5. **Data-Driven Strategy**: Analyze trends and performance data to refine content strategy and hashtag usage.\n\n### General Hashtags:\n#WomenInTech #ProductManagement\n\n---\nYou have to generate content both for Linkedin and Twitter as mentioned below\n\n### Platform-Specific Guidelines:\n\n#### 1. LinkedIn\n   - **Style**: Professional and insightful.\n   - **Tone**: Business-oriented; focus on automation use cases, industry insights, and community impact.\n   - **Content Length**: 3-4 sentences; concise but detailed.\n   - **Hashtags**: #ProductManagement #WomenInTech\n   - **Call to Action (CTA)**: Follow Saloni Malhotra for everything Product.\n\n\n#### 2. Twitter (X)\n   - **Style**: Concise and impactful.\n   - **Tone**: Crisp and engaging\n   - **Hashtags**: #ProductManagement #WomenInTech\n   - **CTA**: Drive quick engagement through retweets or replies (e.g., “What’s your go-to n8n workflow?”).\n\n\n---\n\n### Content Creation Workflow:\nFor every post:\n1. Use the following input fields:\n    - Topic/About the Post: {{ $json.Topic }}\n    - Keywords/Focus Areas: {{ $json.formMode }}\n    - Link (optional): {{ $json['Link (optional)'] }}\n\t\n2. Adapt the tone/style given below for each post and Ensure every post reflects this tone\nThoughtful, yet Playful\nYou dive deep into product management, tech, and career stuff, but you make it digestible. Even heavy topics like supply chain systems or Gini coefficients come with a wink. You never talk down to the reader, but you don’t dumb things down either.\n\nHonest and Self-aware\nYou don’t pretend to have it all figured out. You’re open about things like burnout, privilege, career plateaus, or learning curves. That makes your content feel real, not performative.\n\nConfident without being boastful\nYou showcase your wins—leading a GenAI solution, shipping customer portals, launching Dot—but your tone says “Here’s what I learned”, not “Look how amazing I am.”\n\nConversational but Structured\nYour posts often follow a structure—hook, insight, story, takeaway—but you write like you talk: sharp, witty, humane. Even when you rant, it feels like a smart friend venting over chai, not noise for engagement.\n\n\nLinkedin post should be about 500 words and twitter post under 150 characters\n\nFollow the provided JSON schema for your reponse.\n",
        "options": {
          "systemMessage": "=Use the provided tools to research the topic based on latest information.  Todays date is {{ $now }}"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "retryOnFail": true,
      "typeVersion": 1.7
    },
    {
      "id": "88c548bf-40e5-4b89-aef0-9233c3f5bc9c",
      "name": "Préparer l'Email de Revue de Contenu",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1216,
        336
      ],
      "parameters": {
        "text": "=Generate clean, modern HTML email content from the provided JSON data with these requirements:\n- Use table-based layout with inline CSS for email compatibility\n- Create card sections for each platform containing:\n  • Title header (20px) \n  • Post content (16px) \n  • Video/image suggestions (italic 14px)\n  • Hashtag list (inline-block with # prefix)\n  • Emoji preservation where present\n  • Call-to-action (bold 14px)\n- Structure using:\n  • 600px max-width container\n  • 20px padding between cards\n  • Left-aligned text hierarchy\n  • Arial/sans-serif font stack\n  • Email-safe colors (#333 text, #555 secondary)\n- Include all platform-specific elements:\n  ▶ Video/image suggestions in italic\n  ▶ Hashtags as linked search terms\n  ▶ Emojis in original positions\n  ▶ Character limits for Twitter\n  ▶ Platform-specific CTAs\n  ▶ Visual quality reminders\n- Format hashtags as:\n  <span style=\"display: inline-block; background: #f0f0f0; padding: 2px 6px; margin: 2px; border-radius: 4px;\">#tag</span>\n\nInput data: {{ $json.output.toJsonString() }}\n\nRemove ALL code blocks and comments. Output ONLY the raw HTML with:\n- Platform cards in JSON order\n- All data elements represented\n- Mobile-responsive tables\n- W3C-valid markup\n\n## Example HTML:\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background-color:#fbfcfe;border:1px solid #dbdfe7;border-radius:8px\">\n  <tr>\n    <td align=\"center\" style=\"padding:24px 0\">\n      <table width=\"448\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:100%;max-width:448px;background-color:#ffffff;border:1px solid #dbdfe7;border-radius:8px;padding:24px\">\n        <tr>\n          <td style=\"text-align:center;padding-top:8px;font-family:Arial,sans-serif;font-size:14px;color:#7e8186\">\n            <p style=\"white-space:pre-line\"></p>\n            <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"max-width:600px;font-family:Arial,sans-serif;color:#333\">\n              <tr>\n                <td style=\"padding:20px\">\n                  \n                  <!-- LinkedIn Card -->\n                  <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background-color:#f9f9f9;margin-bottom:20px;padding:20px;border-radius:8px\">\n                    <tr>\n                      <td style=\"font-size:20px;font-weight:bold;padding-bottom:10px\">LinkedIn</td>\n                    </tr>\n                    <tr>\n                      <td style=\"font-size:16px;padding-bottom:10px\">Follow Saloni Malhotra on Linkedin for everything Product.</td>\n                    </tr>\n                    <tr>\n                      <td style=\"font-size:14px;font-style:italic;padding-bottom:10px\">Video/Image suggestion pending</td>\n                    </tr>\n                    <tr>\n                      <td style=\"padding-bottom:10px\">\n                        <span style=\"display:inline-block;background:#f0f0f0;padding:2px 6px;margin:2px;border-radius:4px\">#ProductManagement</span>\n                        <span style=\"display:inline-block;background:#f0f0f0;padding:2px 6px;margin:2px;border-radius:4px\">#WomenInTech</span>\n                      </td>\n                    </tr>\n                    <tr>\n                      <td style=\"font-size:14px;font-weight:bold\">Checkout my Linkedin profile https://www.linkedin.com/in/saloni-malhotra/ and follow my Instagram page at that_product_girl!</td>\n                    </tr>\n                  </table>\n\n                  <!-- Twitter Card -->\n                  <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background-color:#f9f9f9;margin-bottom:20px;padding:20px;border-radius:8px\">\n                    <tr>\n                      <td style=\"font-size:20px;font-weight:bold;padding-bottom:10px\">Twitter</td>\n                    </tr>\n                    <tr>\n                      <td style=\"font-size:16px;padding-bottom:10px\">Checkout my Linkedin profile https://www.linkedin.com/in/saloni-malhotra/ and follow my Instagram page at that_product_girl!</td>\n                    </tr>\n                    <tr>\n                      <td style=\"padding-bottom:10px\">\n                        <span style=\"display:inline-block;background:#f0f0f0;padding:2px 6px;margin:2px;border-radius:4px\">#WomenInTech</span>\n                        <span style=\"display:inline-block;background:#f0f0f0;padding:2px 6px;margin:2px;border-radius:4px\">#ProductManagement</span>\n                        <span style=\"display:inline-block;background:#f0f0f0;padding:2px 6px;margin:2px;border-radius:4px\">#VibeCoding</span>\n              \n                      </td>\n                    </tr>\n                  </table>\n\n                </td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n    </td>\n  </tr>\n</table>\n",
        "agent": "conversationalAgent",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "643b94c6-4535-4876-9660-d82ff69cbcf6",
      "name": "Le contenu est-il approuvé ?",
      "type": "n8n-nodes-base.if",
      "position": [
        1888,
        336
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "e32d270f-f258-4522-94e1-2cb7ee4e8d2a",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.data.approved }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7c0bd340-d442-405a-9da2-c8b67a57b423",
      "name": "Créer un Tweet",
      "type": "n8n-nodes-base.twitter",
      "position": [
        2704,
        144
      ],
      "parameters": {
        "text": "={{ $('Social Media Content Factory').item.json.output.platform_posts['X-Twitter'].post }}\n{{ $('Social Media Content Factory').item.json.output.platform_posts['X-Twitter'].hashtags}}",
        "additionalFields": {}
      },
      "credentials": {
        "twitterOAuth2Api": {
          "id": "EK8OloOWzk7d8te9",
          "name": "X account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "8ab03d75-b4c5-4271-8fa9-830f449a3a3c",
      "name": "Générer une image",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2304,
        192
      ],
      "parameters": {
        "prompt": "=Create a American modern style image for  {{ $('Submit Social Post Details').item.json.Topic }} and {{ $('Social Media Content Factory').item.json.output.description }}",
        "options": {},
        "resource": "image"
      },
      "credentials": {
        "openAiApi": {
          "id": "KYtUAAABF1OLcIYH",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8,
      "alwaysOutputData": true
    },
    {
      "id": "38915626-8b61-43d0-ab8f-cda80a26004a",
      "name": "Envoyer un message",
      "type": "n8n-nodes-base.slack",
      "position": [
        3104,
        480
      ],
      "webhookId": "752c9a45-e202-47ce-9b52-c297b8d9db53",
      "parameters": {
        "text": "=Linkedin post is live! {{ $('Social Media Content Factory').item.json.output.platform_posts.LinkedIn.post }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#social"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "qxoL4AtnxB0jQCxY",
          "name": "Slack account"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "e973f366-6fc8-4fcc-82f8-b9dada073ce5",
      "name": "Note adhésive13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2960,
        16
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 684,
        "content": "## STEP 5 : Update status via messaging app / sheets/ docs"
      },
      "typeVersion": 1
    },
    {
      "id": "684fc8dd-131e-4d8c-91db-05edae735ee7",
      "name": "Ajouter ou mettre à jour une ligne dans la feuille",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3104,
        240
      ],
      "parameters": {
        "columns": {
          "value": {
            "Post": "={{ $json.text }}"
          },
          "schema": [
            {
              "id": "Post",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Post",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Post"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1904412624,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1r1ltAbepwXWED84buQKNgRL3xxv-CZRUNCJPVw_BU9Q/edit#gid=1904412624",
          "cachedResultName": "Twitter posts"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1r1ltAbepwXWED84buQKNgRL3xxv-CZRUNCJPVw_BU9Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1r1ltAbepwXWED84buQKNgRL3xxv-CZRUNCJPVw_BU9Q/edit?usp=drivesdk",
          "cachedResultName": "Saloni Linkedin Posts"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "qh2adUWlUAqNMa4b",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "29211c5a-c037-44ee-8993-70771c004313",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2304,
        480
      ],
      "parameters": {
        "url": "imgUrl",
        "options": {
          "response": {
            "response": {}
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "99df0968-5340-4ebc-ba00-d363f9b62b84",
      "name": "Créer une publication",
      "type": "n8n-nodes-base.linkedIn",
      "position": [
        2704,
        528
      ],
      "parameters": {
        "text": "=This is a default post  {{ $('Social Media Content Factory').item.json.output.platform_posts.LinkedIn.post }}",
        "person": "VoJamciSbX",
        "additionalFields": {},
        "shareMediaCategory": "IMAGE"
      },
      "credentials": {
        "linkedInOAuth2Api": {
          "id": "uRLwZo2qsc95E41v",
          "name": "LinkedIn account 6"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "99731b72-6328-4a6d-947b-2ebe57b65cc4",
      "name": "Si",
      "type": "n8n-nodes-base.if",
      "position": [
        2112,
        320
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "d3af4b0c-9d5b-4c40-ba07-f23cae560155",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $('Submit Social Post Details').item.json.Image }}",
              "rightValue": "AI generated"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "486537a0-4c8f-4aba-925c-c4ec86bdaabc",
      "name": "Note adhésive6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        416,
        -384
      ],
      "parameters": {
        "color": 6,
        "width": 2944,
        "height": 352,
        "content": "\n## From Idea to Post: Social Media Automation in Action\n\n\nInstead of manually writing content, emailing for approval, designing creatives, and posting—this workflow does it all for you. It’s perfect for:\n\nFounders or marketers who want to save time\n\nTeams that need content approval before publishing\n\nEnsuring consistent quality and branding across posts"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d36334e2-617d-440f-b570-2f71102268ac",
  "connections": {
    "99731b72-6328-4a6d-947b-2ebe57b65cc4": {
      "main": [
        [
          {
            "node": "8ab03d75-b4c5-4271-8fa9-830f449a3a3c",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "29211c5a-c037-44ee-8993-70771c004313",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "56eb9c72-87fc-42b2-b576-be68b3a8c7d2": {
      "ai_languageModel": [
        [
          {
            "node": "6dc47749-eb49-4351-89aa-50f2b6c035bb",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "14327277-1e66-401d-9c74-8fdb6d76445f": {
      "ai_languageModel": [
        [
          {
            "node": "88c548bf-40e5-4b89-aef0-9233c3f5bc9c",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "7c0bd340-d442-405a-9da2-c8b67a57b423": {
      "main": [
        [
          {
            "node": "684fc8dd-131e-4d8c-91db-05edae735ee7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "29211c5a-c037-44ee-8993-70771c004313": {
      "main": [
        [
          {
            "node": "99df0968-5340-4ebc-ba00-d363f9b62b84",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "99df0968-5340-4ebc-ba00-d363f9b62b84": {
      "main": [
        [
          {
            "node": "38915626-8b61-43d0-ab8f-cda80a26004a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3a015f3f-a162-411a-85e8-e1f042d9c653": {
      "main": [
        [
          {
            "node": "38915626-8b61-43d0-ab8f-cda80a26004a",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "38915626-8b61-43d0-ab8f-cda80a26004a": {
      "main": [
        []
      ]
    },
    "8ab03d75-b4c5-4271-8fa9-830f449a3a3c": {
      "main": [
        [
          {
            "node": "3a015f3f-a162-411a-85e8-e1f042d9c653",
            "type": "main",
            "index": 0
          },
          {
            "node": "7c0bd340-d442-405a-9da2-c8b67a57b423",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "643b94c6-4535-4876-9660-d82ff69cbcf6": {
      "main": [
        [
          {
            "node": "99731b72-6328-4a6d-947b-2ebe57b65cc4",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "9b6e2038-9f65-4e0f-b13d-6c09e8224ed6": {
      "ai_outputParser": [
        [
          {
            "node": "6dc47749-eb49-4351-89aa-50f2b6c035bb",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "aaef70d7-6029-4fae-afc1-72a6a0019b03": {
      "main": [
        [
          {
            "node": "643b94c6-4535-4876-9660-d82ff69cbcf6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9732c12e-903e-49ac-8d29-ffc4d78c7ff8": {
      "main": [
        [
          {
            "node": "6dc47749-eb49-4351-89aa-50f2b6c035bb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "88c548bf-40e5-4b89-aef0-9233c3f5bc9c": {
      "main": [
        [
          {
            "node": "aaef70d7-6029-4fae-afc1-72a6a0019b03",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6dc47749-eb49-4351-89aa-50f2b6c035bb": {
      "main": [
        [
          {
            "node": "88c548bf-40e5-4b89-aef0-9233c3f5bc9c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

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.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds22
Catégorie2
Types de nœuds13
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34