{
  "workflow": {
    "id": 4022,
    "name": "AI-optimized content posting to X, Discord & LinkedIn with OpenRouter",
    "views": 2396,
    "recentViews": 0,
    "totalViews": 2396,
    "createdAt": "2025-05-13T14:18:13.939Z",
    "description": "Amplify your social media presence with **BuzzBlast**, an n8n workflow designed to make your content go viral across X, Discord, and LinkedIn. By sending a single chat message, BuzzBlast leverages OpenRouter's AI to optimize your input for each platform’s unique audience—crafting punchy tweets for X, engaging messages for Discord, and professional posts for LinkedIn. With smart language detection, it ensures the output matches your input’s language for authentic engagement.\n\n## Key Features\n\n- 🚀 **Multi-Platform Posting**: Shares optimized content to X, Discord, and LinkedIn simultaneously.\n- 🧠 **AI Optimization**: Uses OpenRouter’s AI to tailor content for virality on each platform.\n- 🌐 **Language Detection**: Matches output to your input language for seamless engagement.\n- 🔄 **Smart Routing**: Automatically directs content to the right platform using a switch node.\n- 📱 **Chat Trigger**: Initiates posts via a simple chat message.\n- ⚡ **Zero Hassle**: No manual reformatting—BuzzBlast handles it all.\n\n## Ideal For\n\n- Social media managers looking to streamline cross-platform posting.\n- Content creators aiming to boost engagement with minimal effort.\n- Businesses seeking to maximize reach across diverse audiences.\n\n## Pre-Requirements\n\n- **[n8n instance](https://n8n.partnerlinks.io/khaisastudio)**: A running n8n instance (cloud or self-hosted).\n- **Credentials**:\n  - X account with OAuth2 API access.\n  - Discord Webhook API setup for your server.\n  - LinkedIn account with OAuth2 API access.\n  - OpenRouter account for AI language model access.\n- **Chat Trigger Setup**: A configured chat platform (e.g., Slack, Telegram) to send input messages to the workflow.\n\n## Setup Instructions\n\n1. **Import the Workflow**:\n   - Copy the provided workflow JSON and import it into your n8n instance via the \"Import Workflow\" option in the n8n editor.\n2. **Configure Credentials**:\n   - In the `Post to X` node, set up OAuth2 credentials for your X account.\n   - In the `Post to Discord` node, configure a Discord Webhook for your server.\n   - In the `Post to LinkedIn` node, add OAuth2 credentials for your LinkedIn account.\n   - In the `OpenRouter AI Model` node, provide API credentials for your OpenRouter account.\n3. **Set Up Chat Trigger**:\n   - In the `Chat Input Trigger` node, configure your preferred chat platform (e.g., Slack, Telegram) to send trigger messages.\n   - Ensure the webhook is active and correctly linked to your chat platform.\n4. **Test the Workflow**:\n   - Send a test message via your chat platform (e.g., \"Announcing our new product launch!\").\n   - Verify that the AI optimizes the content and posts it to X, Discord, and LinkedIn as expected.\n5. **Activate the Workflow**:\n   - Once tested, toggle the workflow to \"Active\" in n8n to enable automatic execution when chat messages are received.\n\n## Customization Guidance\n- **Changes Chat Trigger**: Adjust the chat trigger using your preference platform like telegram, discord, etc.\n- **Modify AI Prompt**: Adjust the prompt in the `AI Content Optimizer` node to change the tone or style (e.g., more professional for LinkedIn or conversational for Discord).\n- **Add New Platforms**: Extend the `Route to Platforms` node by adding conditions for additional platforms (e.g., Instagram or Facebook) and corresponding posting nodes.\n- **Change AI Model**: In the `OpenRouter AI Model` node, select a different OpenRouter model to optimize content quality or manage costs.\n- **Enhance Output Format**: Update the JSON schema in the `Parse AI Output` node to include additional fields like hashtags, emojis, or links for specific platforms.\n- **Add Error Handling**: Include an error-handling node after the `Route to Platforms` node to log failed posts or retry them automatically.\n\n## Why Choose BuzzBlast?\n\nBuzzBlast saves time, maximizes reach, and lets AI craft platform-perfect posts that resonate with your audience. Whether you're an influencer, marketer, or business, this workflow makes cross-platform posting effortless. Ready to make waves online? Grab BuzzBlast and start buzzing!\n\n*made by: [khmuhtadin](khmuhtadin.com)*\n**Need a custom?** contact me on **[LinkedIn](https://www.linkedin.com/in/khmuhtadin/)** or **[Web](khmuhtadin.com)**",
    "workflow": {
      "id": "eSPsRuvDjDKmvlRD",
      "meta": {
        "instanceId": "c2650793f644091dc80fb900fe63448ad1f4b774008de9608064d67294f8307c",
        "templateCredsSetupCompleted": true
      },
      "name": "BuzzBlast",
      "tags": [],
      "nodes": [
        {
          "id": "fd9460dc-62b8-42c2-b18f-5a37ef3cd2c3",
          "name": "Sticky - Chat Trigger",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -760,
            -340
          ],
          "parameters": {
            "color": "#FF0000",
            "width": 300,
            "content": "Receives the initial chat message that triggers the workflow. This node captures user input from a configured chat platform, which is then passed to the AI for optimization."
          },
          "typeVersion": 1
        },
        {
          "id": "2b5337cc-d674-49ea-8581-73acf70f3e87",
          "name": "Sticky - AI Optimizer",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -400,
            -340
          ],
          "parameters": {
            "color": "#FF0000",
            "width": 300,
            "content": "Uses OpenRouter's AI to optimize the input message for virality across X, Discord, and LinkedIn. Detects the input language and generates platform-specific content in the same language."
          },
          "typeVersion": 1
        },
        {
          "id": "f50c4cf5-ea73-428b-90ea-d4a3c195bf3a",
          "name": "Sticky - OpenRouter",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -520,
            80
          ],
          "parameters": {
            "color": "#FF0000",
            "width": 280,
            "height": 180,
            "content": "\n\n\n\n\nConfigures the OpenRouter AI model (LLaMA-4) to process the chat input and generate optimized content for each social media platform."
          },
          "typeVersion": 1
        },
        {
          "id": "d842efaf-291b-4c1a-8bc2-8434b6cfe9b0",
          "name": "Sticky - Parser",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -220,
            80
          ],
          "parameters": {
            "color": {},
            "width": 280,
            "height": 180,
            "content": "\n\n\n\n\nParses the AI-generated output into a structured JSON format, separating content for each platform (X, Discord, LinkedIn)."
          },
          "typeVersion": 1
        },
        {
          "id": "e3ae43d2-1dab-473a-bbf9-1bd35c6944ed",
          "name": "Sticky - Split",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -40,
            -340
          ],
          "parameters": {
            "color": "#FF0000",
            "width": 220,
            "content": "Splits the structured JSON output into individual items for each platform, enabling routing to the appropriate social media node."
          },
          "typeVersion": 1
        },
        {
          "id": "f8e2ab9d-f96a-4748-8bcb-d9dfa8a24ef1",
          "name": "Sticky - Switch",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            240,
            -340
          ],
          "parameters": {
            "color": "#FF0000",
            "content": "Routes the optimized content to the correct platform (X, Discord, or LinkedIn) based on the 'platform' field in the JSON output."
          },
          "typeVersion": 1
        },
        {
          "id": "024b6c38-65fd-4f1d-8dd6-31045c97088f",
          "name": "Sticky - Post to X",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            660,
            -540
          ],
          "parameters": {
            "color": "#FF0000",
            "content": "Posts the AI-optimized content to X, using the input message and the output tailored for X's character limits and style."
          },
          "typeVersion": 1
        },
        {
          "id": "7e24ed1a-4a6f-4f51-8afb-8239cb832bde",
          "name": "Sticky - Post to Discord",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            660,
            40
          ],
          "parameters": {
            "color": "#FF0000",
            "content": "Sends the AI-optimized content to a Discord server via a webhook, formatted for community engagement."
          },
          "typeVersion": 1
        },
        {
          "id": "3184d4bd-3f42-4284-918a-5344431ae9ae",
          "name": "Sticky - Post to LinkedIn",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            660,
            -260
          ],
          "parameters": {
            "color": "#FF0000",
            "content": "Shares the AI-optimized content on LinkedIn, formatted for professional tone and audience engagement."
          },
          "typeVersion": 1
        },
        {
          "id": "f56606cf-4fee-4037-8096-0083e6118f3e",
          "name": "Generate Content",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
          "position": [
            -360,
            0
          ],
          "parameters": {
            "model": "meta-llama/llama-4-maverick:free",
            "options": {}
          },
          "credentials": {
            "openRouterApi": {
              "id": "credential-id",
              "name": "openRouterApi Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "158d2322-527c-402a-a26d-87f74004ba7a",
          "name": "Output Parser",
          "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
          "position": [
            -200,
            0
          ],
          "parameters": {
            "jsonSchemaExample": "[\n  {\n    \"platform\": \"twitter\",\n    \"content\": \"tweet goes here\"\n  },\n  {\n    \"platform\": \"discord\",\n    \"content\": \"message goes here\"\n  }\n]"
          },
          "typeVersion": 1.2
        },
        {
          "id": "ff1097b0-b0cd-4c62-aa10-54fc2890b3f2",
          "name": "Sticky - Parser1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            200,
            80
          ],
          "parameters": {
            "color": 4,
            "width": 280,
            "height": 180,
            "content": "**Enjoy BuzzBlast for free!** Got ideas, feedback, or just wanna chat? Hit me up at [khmuhtadin.com](https://khmuhtadin.com).  \n\nFeeling generous? Buy me a coffee at [buymeacoffee.com/khmuhtadin](https://buymeacoffee.com/khmuhtadin) to keep the buzz going! ☕"
          },
          "typeVersion": 1
        },
        {
          "id": "eee77d13-62cc-43b7-be0b-6fccc9f82647",
          "name": "Split Platform Content",
          "type": "n8n-nodes-base.splitOut",
          "position": [
            20,
            -200
          ],
          "parameters": {
            "options": {},
            "fieldToSplitOut": "output"
          },
          "typeVersion": 1
        },
        {
          "id": "f418837e-a963-437b-9f11-7184b90c661a",
          "name": "Route to Platform",
          "type": "n8n-nodes-base.switch",
          "position": [
            260,
            -220
          ],
          "parameters": {
            "rules": {
              "values": [
                {
                  "outputKey": "Twitter",
                  "conditions": {
                    "options": {
                      "version": 2,
                      "leftValue": "",
                      "caseSensitive": true,
                      "typeValidation": "loose"
                    },
                    "combinator": "and",
                    "conditions": [
                      {
                        "id": "50e6b6e3-dba7-4a9c-bd87-e70cddd17f8a",
                        "operator": {
                          "type": "string",
                          "operation": "equals"
                        },
                        "leftValue": "={{ $json.platform }}",
                        "rightValue": "Twitter"
                      }
                    ]
                  },
                  "renameOutput": true
                },
                {
                  "outputKey": "Discord",
                  "conditions": {
                    "options": {
                      "version": 2,
                      "leftValue": "",
                      "caseSensitive": true,
                      "typeValidation": "loose"
                    },
                    "combinator": "and",
                    "conditions": [
                      {
                        "id": "0f14d2c8-74ab-4c19-8249-46d01fc9cbad",
                        "operator": {
                          "type": "string",
                          "operation": "equals"
                        },
                        "leftValue": "={{ $json.platform }}",
                        "rightValue": "Discord"
                      }
                    ]
                  },
                  "renameOutput": true
                },
                {
                  "outputKey": "LinkedIn",
                  "conditions": {
                    "options": {
                      "version": 2,
                      "leftValue": "",
                      "caseSensitive": true,
                      "typeValidation": "loose"
                    },
                    "combinator": "and",
                    "conditions": [
                      {
                        "id": "fae91576-c20a-47e2-b045-7bbc05e85f55",
                        "operator": {
                          "name": "filter.operator.equals",
                          "type": "string",
                          "operation": "equals"
                        },
                        "leftValue": "={{ $json.platform }}",
                        "rightValue": "LinkedIn"
                      }
                    ]
                  },
                  "renameOutput": true
                },
                {
                  "outputKey": "Linkedin",
                  "conditions": {
                    "options": {
                      "version": 2,
                      "leftValue": "",
                      "caseSensitive": true,
                      "typeValidation": "loose"
                    },
                    "combinator": "and",
                    "conditions": [
                      {
                        "id": "6f01c3d4-6d89-4223-9140-7fe2288e4375",
                        "operator": {
                          "name": "filter.operator.equals",
                          "type": "string",
                          "operation": "equals"
                        },
                        "leftValue": "={{ $json.platform }}",
                        "rightValue": "Linkedin"
                      }
                    ]
                  },
                  "renameOutput": true
                }
              ]
            },
            "options": {},
            "looseTypeValidation": true
          },
          "typeVersion": 3.2
        },
        {
          "id": "88b9267d-f9a7-4cd1-98a5-1c61ca803996",
          "name": "Post to X",
          "type": "n8n-nodes-base.twitter",
          "position": [
            660,
            -440
          ],
          "parameters": {
            "text": "=test automation: \ninput: {{ $('Chat Input Trigger').item.json.chatInput }}\n\noutput: {{ $json.content }}",
            "additionalFields": {}
          },
          "credentials": {
            "twitterOAuth2Api": {
              "id": "credential-id",
              "name": "twitterOAuth2Api Credential"
            }
          },
          "typeVersion": 2
        },
        {
          "id": "dc5f941f-5236-4aca-97ab-f619a3cb1a48",
          "name": "Post to LinkedIn",
          "type": "n8n-nodes-base.linkedIn",
          "position": [
            660,
            -160
          ],
          "parameters": {
            "text": "=test app buzzer LOL\ninput: {{ $('Chat Input Trigger').item.json.chatInput }}\n\noutput: {{ $json.content }}",
            "person": "XkhxgLp6zG",
            "additionalFields": {}
          },
          "credentials": {
            "linkedInOAuth2Api": {
              "id": "credential-id",
              "name": "linkedInOAuth2Api Credential"
            }
          },
          "typeVersion": 1
        },
        {
          "id": "4f7e82f3-003c-4fdc-8ed6-6adaab7e9a13",
          "name": "Post to Discord",
          "type": "n8n-nodes-base.discord",
          "position": [
            660,
            140
          ],
          "webhookId": "b00e2e50-81ad-4d96-8457-84d2518dc851",
          "parameters": {
            "content": "=test automation: \ninput: {{ $('Chat Input Trigger').item.json.chatInput }}\n\noutput: {{ $json.content }}",
            "options": {},
            "authentication": "webhook"
          },
          "credentials": {
            "discordWebhookApi": {
              "id": "credential-id",
              "name": "discordWebhookApi Credential"
            }
          },
          "typeVersion": 2
        },
        {
          "id": "4aaec093-6d34-4810-b297-6f1204bf7b4f",
          "name": "Chat Input Trigger",
          "type": "@n8n/n8n-nodes-langchain.chatTrigger",
          "position": [
            -580,
            -200
          ],
          "webhookId": "463358fb-2984-4e4f-be94-46a3e1365380",
          "parameters": {
            "options": {}
          },
          "typeVersion": 1.1
        },
        {
          "id": "d1f3a884-bcbb-4035-a52f-36b167bf9fd8",
          "name": "AI Content Optimizer",
          "type": "@n8n/n8n-nodes-langchain.chainLlm",
          "position": [
            -360,
            -200
          ],
          "parameters": {
            "text": "Do as instructed!",
            "messages": {
              "messageValues": [
                {
                  "message": "=you are a social media specialist, optimize this input ({{ $json.chatInput }}) for several platform like twitter, discord and linkedin\n\nthe main focus is to get viral!\n\ndetect the language input first. generate the output in the same language"
                }
              ]
            },
            "promptType": "define",
            "hasOutputParser": true
          },
          "typeVersion": 1.6
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "811ada06-e49b-4cea-a696-2b8eb40921fd",
      "connections": {
        "Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "AI Content Optimizer",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "Generate Content": {
          "ai_languageModel": [
            [
              {
                "node": "AI Content Optimizer",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "Route to Platform": {
          "main": [
            [
              {
                "node": "Post to X",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "Post to Discord",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "Post to LinkedIn",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "Post to LinkedIn",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Chat Input Trigger": {
          "main": [
            [
              {
                "node": "AI Content Optimizer",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "AI Content Optimizer": {
          "main": [
            [
              {
                "node": "Split Platform Content",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Split Platform Content": {
          "main": [
            [
              {
                "node": "Route to Platform",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 19,
      "nodeTypes": {
        "n8n-nodes-base.switch": {
          "count": 1
        },
        "n8n-nodes-base.discord": {
          "count": 1
        },
        "n8n-nodes-base.twitter": {
          "count": 1
        },
        "n8n-nodes-base.linkedIn": {
          "count": 1
        },
        "n8n-nodes-base.splitOut": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 10
        },
        "@n8n/n8n-nodes-langchain.chainLlm": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.chatTrigger": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.lmChatOpenRouter": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.outputParserStructured": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Khairul Muhtadin",
      "username": "khmuhtadin",
      "bio": "",
      "verified": true,
      "links": [
        "https://khmuhtadin.com"
      ],
      "avatar": "https://gravatar.com/avatar/5c05e658f8405977c4ff73ba225c5d0dbdcbf9aff6436e1c740bd86907a07a48?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 60,
        "icon": "file:discord.svg",
        "name": "n8n-nodes-base.discord",
        "codex": {
          "data": {
            "alias": [
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.discord/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/discord/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "Discord"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTk5IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzU4NjVGMiIgZD0iTTIxNi44NTYgMTYuNTk3QTIwOC41IDIwOC41IDAgMCAwIDE2NC4wNDIgMGMtMi4yNzUgNC4xMTMtNC45MzMgOS42NDUtNi43NjYgMTQuMDQ2cS0yOS41MzgtNC40NDItNTguNTMzIDBjLTEuODMyLTQuNC00LjU1LTkuOTMzLTYuODQ2LTE0LjA0NmEyMDcuOCAyMDcuOCAwIDAgMC01Mi44NTUgMTYuNjM4QzUuNjE4IDY3LjE0Ny0zLjQ0MyAxMTYuNCAxLjA4NyAxNjQuOTU2YzIyLjE2OSAxNi41NTUgNDMuNjUzIDI2LjYxMiA2NC43NzUgMzMuMTkzQTE2MSAxNjEgMCAwIDAgNzkuNzM1IDE3NS4zYTEzNi40IDEzNi40IDAgMCAxLTIxLjg0Ni0xMC42MzIgMTA5IDEwOSAwIDAgMCA1LjM1Ni00LjIzN2M0Mi4xMjIgMTkuNzAyIDg3Ljg5IDE5LjcwMiAxMjkuNTEgMGExMzIgMTMyIDAgMCAwIDUuMzU1IDQuMjM3IDEzNiAxMzYgMCAwIDEtMjEuODg2IDEwLjY1M2M0LjAwNiA4LjAyIDguNjM4IDE1LjY3IDEzLjg3MyAyMi44NDggMjEuMTQyLTYuNTggNDIuNjQ2LTE2LjYzNyA2NC44MTUtMzMuMjEzIDUuMzE2LTU2LjI4OC05LjA4LTEwNS4wOS0zOC4wNTYtMTQ4LjM2TTg1LjQ3NCAxMzUuMDk1Yy0xMi42NDUgMC0yMy4wMTUtMTEuODA1LTIzLjAxNS0yNi4xOHMxMC4xNDktMjYuMiAyMy4wMTUtMjYuMiAyMy4yMzYgMTEuODA0IDIzLjAxNSAyNi4yYy4wMiAxNC4zNzUtMTAuMTQ4IDI2LjE4LTIzLjAxNSAyNi4xOG04NS4wNTEgMGMtMTIuNjQ1IDAtMjMuMDE0LTExLjgwNS0yMy4wMTQtMjYuMThzMTAuMTQ4LTI2LjIgMjMuMDE0LTI2LjJjMTIuODY3IDAgMjMuMjM2IDExLjgwNCAyMy4wMTUgMjYuMiAwIDE0LjM3NS0xMC4xNDggMjYuMTgtMjMuMDE1IDI2LjE4Ii8+PC9zdmc+"
        },
        "displayName": "Discord",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "id": 112,
        "icon": "fa:map-signs",
        "name": "n8n-nodes-base.switch",
        "codex": {
          "data": {
            "alias": [
              "Router",
              "If",
              "Path",
              "Filter",
              "Condition",
              "Logic",
              "Branch",
              "Case"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
                  "icon": "☀️",
                  "label": "2021: The Year to Automate the New You with n8n"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/",
                  "icon": "👦",
                  "label": "Build your own virtual assistant with n8n: A step by step guide"
                },
                {
                  "url": "https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/",
                  "icon": "🏷️",
                  "label": "How to automatically manage contributions to open-source projects"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Flow"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Switch",
          "color": "#506000"
        },
        "iconData": {
          "icon": "map-signs",
          "type": "icon"
        },
        "displayName": "Switch",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 325,
        "icon": "file:x.svg",
        "name": "n8n-nodes-base.twitter",
        "codex": {
          "data": {
            "alias": [
              "Tweet",
              "Twitter",
              "X",
              "X API"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.twitter/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/twitter/"
                }
              ]
            },
            "categories": [
              "Marketing"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "X"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIzLjMxNzEgMTYuOTM3M0wzNy45MDI2IDBIMzQuNDQ2M0wyMS43ODE3IDE0LjcwNjRMMTEuNjY2NiAwSDBMMTUuMjk2MSAyMi4yMzg3TDAgNDBIMy40NTY0OEwxNi44MzA2IDI0LjQ2OTZMMjcuNTEyOSA0MEgzOS4xNzk1TDIzLjMxNjMgMTYuOTM3M0gyMy4zMTcxWk0xOC41ODMgMjIuNDM0NkwxNy4wMzMyIDIwLjIyMDFMNC43MDE5IDIuNTk5MzZIMTAuMDEwOEwxOS45NjIzIDE2LjgxOTlMMjEuNTEyMiAxOS4wMzQ0TDM0LjQ0NzkgMzcuNTE4OUgyOS4xMzlMMTguNTgzIDIyLjQzNTRWMjIuNDM0NloiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo="
        },
        "displayName": "X (Formerly Twitter)",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 27,
            "name": "Marketing"
          }
        ]
      },
      {
        "id": 367,
        "icon": "file:linkedin.svg",
        "name": "n8n-nodes-base.linkedIn",
        "codex": {
          "data": {
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.linkedin/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/linkedin/"
                }
              ]
            },
            "categories": [
              "Marketing",
              "Communication"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "LinkedIn"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjcgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9IjEiIHk9IjEiLz48c3ltYm9sIGlkPSJhIiBvdmVyZmxvdz0idmlzaWJsZSI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9Im5vbmUiPjxwYXRoIGZpbGw9IiMwMTc3YjUiIGQ9Ik01OS4yNiAwSDQuNzI0QzIuMTIgMCAwIDIuMDY2IDAgNC42MXY1NC43ODhjMCAyLjUzIDIuMTIgNC42IDQuNzI0IDQuNmg1NC41NGMyLjYxIDAgNC43MzYtMi4wNyA0LjczNi00LjZWNC42MUM2NCAyLjA2NiA2MS44NzQgMCA1OS4yNiAwIi8+PHBhdGggZD0iTTkuNDkgMjMuOTkySDE5djMwLjU0SDkuNDl6bTQuNzQ4LTE1LjJjMy4wMzQgMCA1LjUgMi40NjYgNS41IDUuNWE1LjUxIDUuNTEgMCAwIDEtNS40OTggNS41MDYgNS41MiA1LjUyIDAgMCAxLTUuNTA4LTUuNTA2IDUuNSA1LjUgMCAwIDEgNS41MDYtNS41bTEwLjcgMTUuMmg5LjEwNHY0LjE3NGguMTI2YzEuMjY4LTIuNCA0LjM2NC00LjkzMiA5LTQuOTMyIDkuNjEyIDAgMTEuMzg2IDYuMzI2IDExLjM4NiAxNC41NDh2MTYuNzUyaC05LjQ4NlYzOS42NzhjMC0zLjU0LS4wNjQtOC4xLTQuOTMyLTguMS00Ljk0IDAtNS43IDMuODYtNS43IDcuODR2MTUuMTA4aC05LjQ4NHYtMzAuNTR6Ii8+PC9nPjwvc3ltYm9sPjwvc3ZnPg=="
        },
        "displayName": "LinkedIn",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 27,
            "name": "Marketing"
          }
        ]
      },
      {
        "id": 565,
        "icon": "fa:sticky-note",
        "name": "n8n-nodes-base.stickyNote",
        "codex": {
          "data": {
            "alias": [
              "Comments",
              "Notes",
              "Sticky"
            ],
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Sticky Note",
          "color": "#FFD233"
        },
        "iconData": {
          "icon": "sticky-note",
          "type": "icon"
        },
        "displayName": "Sticky Note",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 1123,
        "icon": "fa:link",
        "name": "@n8n/n8n-nodes-langchain.chainLlm",
        "codex": {
          "data": {
            "alias": [
              "LangChain"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.chainllm/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Chains",
                "Root Nodes"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Basic LLM Chain",
          "color": "#909298"
        },
        "iconData": {
          "icon": "link",
          "type": "icon"
        },
        "displayName": "Basic LLM Chain",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1179,
        "icon": "fa:code",
        "name": "@n8n/n8n-nodes-langchain.outputParserStructured",
        "codex": {
          "data": {
            "alias": [
              "json",
              "zod"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Output Parsers"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Structured Output Parser"
        },
        "iconData": {
          "icon": "code",
          "type": "icon"
        },
        "displayName": "Structured Output Parser",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1239,
        "icon": "file:splitOut.svg",
        "name": "n8n-nodes-base.splitOut",
        "codex": {
          "data": {
            "alias": [
              "Split",
              "Nested",
              "Transform",
              "Array",
              "List",
              "Item"
            ],
            "details": "",
            "resources": {
              "generic": [],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Split Out"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjOUI2REQ1IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4MCAxNDhjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxNDZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCA5NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDMyMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE0NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTQ2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDM4IDc2YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjU2YzAgMjYuOTc4LTEwLjI3MiA1MS41NTctMjcuMTE5IDcwLjAzOS01LjA1NSA1LjU0NS01LjA1NSAxNC4zNzcgMCAxOS45MjIgMTYuODQ3IDE4LjQ4MiAyNy4xMTkgNDMuMDYxIDI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMySDQyNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtNDQuMTgzIDAtODAtMzUuODE3LTgwLTgwdi01NmMwLTMwLjkyOC0yNS4wNzItNTYtNTYtNTZhNS43ODMgNS43ODMgMCAwIDEtNS43ODMtNS43ODN2LTM2LjQzNGE1Ljc4MyA1Ljc4MyAwIDAgMSA1Ljc4My01Ljc4M2MzMC45MjggMCA1Ni0yNS4wNzIgNTYtNTZ2LTU2YzAtNDQuMTgzIDM1LjgxNy04MCA4MC04MEg0MjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzYgMjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01MTIgMEgwdjUxMmg1MTJ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+"
        },
        "displayName": "Split Out",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 1247,
        "icon": "fa:comments",
        "name": "@n8n/n8n-nodes-langchain.chatTrigger",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger/"
                }
              ]
            },
            "categories": [
              "Core Nodes",
              "Langchain"
            ]
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "When chat message received"
        },
        "iconData": {
          "icon": "comments",
          "type": "icon"
        },
        "displayName": "Chat Trigger",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1281,
        "icon": "file:openrouter.svg",
        "name": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenrouter/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Language Models",
                "Root Nodes"
              ],
              "Language Models": [
                "Chat Models (Recommended)"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "OpenRouter Chat Model"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjOTRBM0I4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjx0aXRsZT5PcGVuUm91dGVyPC90aXRsZT48cGF0aCBkPSJNMTYuODA0IDEuOTU3bDcuMjIgNC4xMDV2LjA4N0wxNi43MyAxMC4yMWwuMDE3LTIuMTE3LS44MjEtLjAzYy0xLjA1OS0uMDI4LTEuNjExLjAwMi0yLjI2OC4xMS0xLjA2NC4xNzUtMi4wMzguNTc3LTMuMTQ3IDEuMzUyTDguMzQ1IDExLjAzYy0uMjg0LjE5NS0uNDk1LjMzNi0uNjguNDU1bC0uNTE1LjMyMi0uMzk3LjIzNC4zODUuMjMuNTMuMzM4Yy40NzYuMzE0IDEuMTcuNzk2IDIuNzAxIDEuODY2IDEuMTEuNzc1IDIuMDgzIDEuMTc3IDMuMTQ3IDEuMzUybC4zLjA0NWMuNjk0LjA5MSAxLjM3NS4wOTQgMi44MjUuMDMzbC4wMjItMi4xNTkgNy4yMiA0LjEwNXYuMDg3TDE2LjU4OSAyMmwuMDE0LTEuODYyLS42MzUuMDIyYy0xLjM4Ni4wNDItMi4xMzcuMDAyLTMuMTM4LS4xNjItMS42OTQtLjI4LTMuMjYtLjkyNi00Ljg4MS0yLjA1OWwtMi4xNTgtMS41YTIxLjk5NyAyMS45OTcgMCAwMC0uNzU1LS40OThsLS40NjctLjI4YTU1LjkyNyA1NS45MjcgMCAwMC0uNzYtLjQzQzIuOTA4IDE0LjczLjU2MyAxNC4xMTYgMCAxNC4xMTZWOS44ODhsLjE0LjAwNGMuNTY0LS4wMDcgMi45MS0uNjIyIDMuODA5LTEuMTI0bDEuMDE2LS41OC40MzgtLjI3NGMuNDI4LS4yOCAxLjA3Mi0uNzI2IDIuNjg2LTEuODUzIDEuNjIxLTEuMTMzIDMuMTg2LTEuNzggNC44ODEtMi4wNTkgMS4xNTItLjE5IDEuOTc0LS4yMTMgMy44MTQtLjEzOGwuMDItMS45MDd6Ij48L3BhdGg+PC9zdmc+Cg=="
        },
        "displayName": "OpenRouter Chat Model",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 33,
        "name": "Social Media"
      },
      {
        "id": 51,
        "name": "Multimodal AI"
      }
    ],
    "image": []
  }
}