{
  "id": "Omy0yB9brMeeB2FE",
  "name": "Automate product creation from links to WordPress & WooCommerce using Telegram & BrowserAct",
  "tags": [],
  "nodes": [
    {
      "id": "3828d539-2520-4e35-b4dd-b199d1aa7fdf",
      "name": "Structured Output",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        416,
        592
      ],
      "parameters": {
        "autoFix": true,
        "jsonSchemaExample": "{\n  \"woocommerce_data\": {\n    \"title\": \"String\",\n    \"price\": \"String\",\n    \"short_description\": \"String\",\n    \"html_description\": \"String (Rich HTML)\"\n  },\n  \"blog_article\": {\n    \"headline\": \"String\",\n    \"html_content\": \"String (Rich HTML)\"\n  },\n  \"image_seo_list\": [\n    {\n      \"source_url\": \"String (Input URL)\",\n      \"alt_text\": \"String (Unique description)\",\n      \"file_name_suggestion\": \"String (keyword-slug.jpg)\"\n    }\n  ]\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "8a212ca9-ceaa-4c5e-b6bc-f807260e3f58",
      "name": "Check Ouput",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        416,
        704
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7485ce38-6230-4cca-b04e-ca436c27a360",
      "name": "Check Ouputs1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1136,
        944
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "23c22bf0-69f8-4455-9958-077dbd013f44",
      "name": "Structured Output3",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1136,
        816
      ],
      "parameters": {
        "autoFix": true,
        "jsonSchemaExample": "{\n  \"blog_headline\": \"A catchy, SEO-friendly headline for the article\",\n  \"blog_html\": \"The complete article HTML string with text, headers, AND embedded <img src...> tags.\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "5004c1f9-3be2-4153-821b-d552b4795b24",
      "name": "Generate Article",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1040,
        624
      ],
      "parameters": {
        "text": "=Product name : {{ $('Generate Product Data').item.json.output.woocommerce_data.title }},\nPrice : {{ $('Generate Product Data').item.json.output.woocommerce_data.price }},\nProduct Short description : {{ $('Generate Product Data').item.json.output.woocommerce_data.short_description }},\nBlog headline : {{ $('Generate Product Data').item.json.output.blog_article.headline }},\nBlog content : {{ $('Generate Product Data').item.json.output.blog_article.html_content }},\n\nimages URLs :\n{{ $json.output.image_seo_list }}",
        "options": {
          "systemMessage": "You are an expert Lifestyle Blog Editor and Web Content Specialist. Your goal is to take rough product notes and raw image URLs, and synthesize them into a highly engaging, magazine-style blog post.\n\n### INPUT EXPECTATION\nYou will receive a JSON input containing:\n1.  `product_name`: The name of the item.\n2.  `short_description`: A rough summary or context.\n3.  `draft_content`: Rough notes, bullet points, or basic HTML.\n4.  `image_urls`: An array of image URL strings (e.g., [\"url1.jpg\", \"url2.jpg\"]).\n\n### TASK 1: ARTICLE REFINEMENT (The \"Writer\")\nYou must write a cohesive, engaging blog article.\n- **Tone:** Enthusiastic, educational, and immersive (First-person \"Review\" style is best).\n- **Expansion:** If the input says \"It has blue lights,\" you write: \"The ambient blue lighting creates a futuristic atmosphere perfect for late-night gaming sessions.\"\n- **Structure:** Use `<h2>` for main sections and `<h3>` for sub-points. Use `<p>` for paragraphs.\n\n### TASK 2: VISUAL STORYTELLING (The \"Layout\")\nYou must embed the provided `image_urls` directly into the `blog_html` string using `<img>` tags.\n- **Hero Image:** Place the first image immediately after the opening paragraph to hook the reader.\n- **Body Images:** Distribute the remaining images evenly throughout the article to break up text walls.\n- **Syntax:** Use `<img src=\"URL\" alt=\"Descriptive SEO Text\" style=\"width:100%; height:auto; border-radius:8px; margin: 20px 0;\">`.\n\n### OUTPUT FORMAT (STRICT JSON)\nReturn ONLY a single valid JSON object. Do NOT use markdown blocks.\n\n{\n  \"blog_headline\": \"A catchy, SEO-friendly headline for the article\",\n  \"blog_html\": \"The complete article HTML string with text, headers, AND embedded <img src...> tags.\"\n}"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3
    },
    {
      "id": "03a3b498-4add-4cbb-a606-12fe5c9eac43",
      "name": "Create a product",
      "type": "n8n-nodes-base.wooCommerce",
      "position": [
        1104,
        400
      ],
      "parameters": {
        "name": "={{ $('Generate Product Data').first().json.output.woocommerce_data.title }}",
        "imagesUi": {},
        "resource": "product",
        "operation": "create",
        "metadataUi": {},
        "dimensionsUi": {},
        "additionalFields": {
          "sku": "=Random_Sku_{{ $now.toMillis() }}",
          "salePrice": "={{ $('Generate Product Data').first().json.output.woocommerce_data.price }}",
          "description": "={{ $('Generate Product Data').first().json.output.woocommerce_data.short_description }} \n\n\n{{ $('Generate Product Data').first().json.output.woocommerce_data.html_description }}"
        }
      },
      "credentials": {
        "wooCommerceApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "76db317c-1057-429d-acef-74dcbb99a57b",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        2000,
        480
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "9ad0b72f-7828-419d-81b0-aeeab56e1294",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -720,
        704
      ],
      "parameters": {
        "autoFix": true,
        "jsonSchemaExample": "{\"type\": \"generate\", \"link\": \"EXTRACTED_URL_HERE\"}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "e3965bdb-7f7a-49a6-8ec2-63402baeed49",
      "name": "Validate user Input",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -848,
        512
      ],
      "parameters": {
        "text": "={{ $json.message.text }}",
        "options": {
          "systemMessage": "# Role\nYou are an Intent Classifier and Data Extraction Router. Your job is to analyze user text and output a strict JSON object based on the user's intent and the presence of a URL.\n\n# Logic Rules\n\n1.  **CASE 1: Generate + Link**\n    * **Condition:** The user asks to generate content (product page, blog, post, etc.) **AND** the input contains a URL.\n    * **Action:** Extract the URL.\n    * **Output:** {\"type\": \"generate\", \"link\": \"EXTRACTED_URL_HERE\"}\n\n2.  **CASE 2: Generate + Missing Link**\n    * **Condition:** The user asks to generate content, but **NO** URL is found in the input.\n    * **Action:** Flag as missing data.\n    * **Output:** {\"type\": \"noData\", \"link\": null}\n\n3.  **CASE 3: Regular Chat**\n    * **Condition:** The user is just chatting, saying hello, or asking general questions (no specific product generation request).\n    * **Action:** Flag as chat.\n    * **Output:** {\"type\": \"chat\", \"link\": null}\n\n# Output Format\nReturn **ONLY** the JSON object. Do not include markdown formatting (like ```json) or any conversational text."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3
    },
    {
      "id": "f4646aa2-0a5f-46c5-b8f8-d8d19fb39cfd",
      "name": "Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -144,
        1040
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "cf90a9ea-9809-4821-94a0-2977b35b9c69",
      "name": "Validate user Inputs",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -848,
        704
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9e5e68ab-ae8d-4054-a7d4-42446960e654",
      "name": "Validation Type Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        -496,
        496
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 3,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "9e003f66-d011-459a-a313-b603c0e14551",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.output.Type }}",
                    "rightValue": "generate"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 3,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "2ebb24ec-bd32-4e96-a022-93d066fda17f",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.output.Type }}",
                    "rightValue": "chat"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 3,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "24d355dd-efec-4946-96fe-3d82f3ee4d71",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.output.Type }}",
                    "rightValue": "noData"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.4
    },
    {
      "id": "7a8a84e2-8997-4a64-83a9-53adc859cc3b",
      "name": "User Sends Message to Bot",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1008,
        512
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8c7442bb-a9be-4402-89e4-70c62625421d",
      "name": "Send Text Message to Telegram Bot",
      "type": "n8n-nodes-base.telegram",
      "position": [
        160,
        880
      ],
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "={{ $('User Sends Message to Bot').item.json.message.chat.id }}",
        "additionalFields": {
          "parse_mode": "HTML",
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "4e1834bc-c720-4dd2-8625-45a26906604c",
      "name": "Process Initialization Alert",
      "type": "n8n-nodes-base.telegram",
      "position": [
        64,
        336
      ],
      "parameters": {
        "text": "=Okay, give me a few minutes.",
        "chatId": "={{ $('User Sends Message to Bot').first().json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f0a9ee59-abe3-4c65-b4b5-d70084caf60a",
      "name": "Extract Product Details",
      "type": "n8n-nodes-browseract.browserAct",
      "position": [
        64,
        480
      ],
      "parameters": {
        "type": "WORKFLOW",
        "timeout": 7200,
        "workflowId": "70901224520175622",
        "workflowConfig": {
          "value": {
            "input-Product_Link": "= {{ $json.output.link }} "
          },
          "schema": [
            {
              "id": "input-Product_Link",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "description": "If left blank, the default value defined in BrowserAct will be used.",
              "displayName": "Product_Link",
              "defaultMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "input-Product_Link"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "open_incognito_mode": false
      },
      "credentials": {
        "browserActApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4d6ba4fa-44fd-4754-82d6-368df6cebdc5",
      "name": "Chat bot Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -144,
        880
      ],
      "parameters": {
        "text": "=Input type : {{ $json.output.Type }} | User Input : {{ $('User Sends Message to Bot').item.json.message.text }}",
        "options": {
          "systemMessage": "if the input type is \"Nodata\" ask the user to provide the Link to the Product or site.\n\nif the input type is chat, analyze the user input and generate single response\n\nsend the result out as a raw text.\navoid using any tags or notations like ```text ```"
        },
        "promptType": "define"
      },
      "typeVersion": 3
    },
    {
      "id": "6cf53bc1-5039-4ac6-8ad6-13f3cc2ce3a0",
      "name": "Generate Product Data",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        320,
        400
      ],
      "parameters": {
        "text": "={{ $json.output.string }}",
        "options": {
          "systemMessage": "# Role\nYou are a Senior Creative Copywriter and Product Strategist. Your job is NOT to simply copy-paste data. Your job is to **think**, **analyze**, and **sell**. You must transform raw, boring specs into unique, persuasive, and SEO-rich content that drives sales.\n\n# Context\nYou will receive raw product data (often messy) and a list of images. You must synthesize this information to create a distinct brand voice for the product.\n\n# Critical Thinking Instructions\nBefore writing, apply this logic:\n1.  **Analyze the User:** Who buys this? (e.g., For a PS5 controller, it's a gamer wanting a pro experience on a budget).\n2.  **Find the \"Why\":** Don't just list features. *Interpret* them. (e.g., \"6-axis motion\" = \"Pixel-perfect precision in racing games\").\n3.  **Unique Angle:** Avoid generic AI phrases like \"elevate your experience.\" Use punchy, active, magazine-style language.\n\n# Output Instructions\n\n## 1. WooCommerce Data (The Sales Pitch)\n-   **Title:** Create a clickable, SEO-optimized title. Identify the *main* keyword and place it first. Remove all spam/clutter.\n-   **Price: only add the number EUR38.19 - > 38.19.\n-   **Short Description:** Write a \"Hook.\" Identify the #1 pain point this product solves and hit it hard in 2 sentences.\n-   **HTML Description:** -   Write a full sales layout using HTML. \n    -   **Do not** just list specs. Group them into \"Benefit Clusters\" using `<h2>` headers (e.g., instead of \"Battery\", use \"Play All Night Without Interruption\").\n    -   Use `<ul>` for the technical specs but keep them clean.\n    -   **Mandatory:** Embed the *first* image URL at the bottom: `<img src='[URL_1]' alt='[Keyword Rich Alt]' class='product-main-image'>`.\n\n## 2. Blog Article (The Story)\n-   **Headline:** Clickbait-style but honest. (e.g., \"Why Gamers Are ditching Official Controllers for This $38 Alternative\").\n-   **Content:**\n    -   Write a narrative review (~300 words). \n    -   **Synthesize Reviews:** Look at the `reviews` data. If users say \"buttons feel good,\" you write: \"The tactile feedback rivals high-end gear...\"\n    -   **Tone:** Opinionated, expert, and trustworthy. \n    -   **Formatting:** Use `<h3>` for sub-points and `<p>` for text.\n\n## 3. Image SEO Strategy (The Array)\n-   Loop through **every** image URL provided in the input. \n-   For each image, generate a **unique** Alt Text describing what is visible + a keyword.\n-   Generate a clean, SEO-friendly file name.\n\n# Output Format (JSON ONLY)\nReturn raw JSON. No markdown blocks.\n\n{\n  \"woocommerce_data\": {\n    \"title\": \"String\",\n    \"price\": \"String\",\n    \"short_description\": \"String\",\n    \"html_description\": \"String (Rich HTML)\"\n  },\n  \"blog_article\": {\n    \"headline\": \"String\",\n    \"html_content\": \"String (Rich HTML)\"\n  },\n  \"image_seo_list\": [\n    {\n      \"source_url\": \"String (Input URL)\",\n      \"alt_text\": \"String (Unique description)\",\n      \"file_name_suggestion\": \"String (keyword-slug.jpg)\"\n    }\n    // Repeat for all images\n  ]\n}"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3
    },
    {
      "id": "66315ba1-4dc5-44f7-bf70-5ab5814feb2a",
      "name": "Create WordPress Post",
      "type": "n8n-nodes-base.wordpress",
      "position": [
        1424,
        624
      ],
      "parameters": {
        "title": "={{ $json.output.blog_headline }}",
        "additionalFields": {
          "content": "={{ $json.output.blog_html }}"
        }
      },
      "credentials": {
        "wordpressApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "76d2bd6c-6852-4525-9da8-77b755fc7b10",
      "name": "Split out the images",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1760,
        480
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "output.image_seo_list"
      },
      "typeVersion": 1
    },
    {
      "id": "00125d1b-f01f-4582-ae44-949cbb2230f0",
      "name": "Update Product Image",
      "type": "n8n-nodes-base.wooCommerce",
      "position": [
        2240,
        480
      ],
      "parameters": {
        "imagesUi": {
          "imagesValues": [
            {
              "alt": "={{ $json.alt_text }}",
              "src": "={{ $json.source_url }}",
              "name": "={{ $json.file_name_suggestion }}"
            }
          ]
        },
        "resource": "product",
        "operation": "update",
        "productId": "={{ $('Create a product').first().json.id }}",
        "metadataUi": {},
        "dimensionsUi": {},
        "updateFields": {}
      },
      "credentials": {
        "wooCommerceApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9f694eda-07dc-46a8-96ac-0ce798555c6c",
      "name": "Generate Product",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        320,
        592
      ],
      "parameters": {
        "model": "openai/gpt-4.1",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "21b94fbf-30e0-46c5-8851-bbf641925c44",
      "name": "Generate  Article",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        1040,
        816
      ],
      "parameters": {
        "model": "google/gemini-2.5-pro",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "33ad180c-e0ed-4009-85b3-2226a43a352e",
      "name": "Documentation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1408,
        -64
      ],
      "parameters": {
        "width": 380,
        "height": 520,
        "content": "## \u26a1 Workflow Overview & Setup\n\n**Summary:** This automation takes a product link from Telegram, scrapes the details using BrowserAct, and automatically creates a new WooCommerce product and a corresponding WordPress blog post, complete with SEO-optimized content.\n\n### Requirements\n* **Credentials:** Telegram, BrowserAct, OpenRouter, Google Gemini (PaLM), WordPress, WooCommerce.\n* **Mandatory:** BrowserAct API (Template: **WordPress & WooCommerce Product Management**)\n\n### How to Use\n1.  **Credentials:** Set up all required service credentials in n8n.\n2.  **BrowserAct Template:** Ensure you have the **WordPress & WooCommerce Product Management** template saved in your BrowserAct account.\n3.  **Operation:** Send a product link (e.g., AliExpress, Amazon) to your Telegram bot. The system will handle the rest, from scraping to publishing.\n\n### Need Help?\n[How to Find Your BrowserAct API Key & Workflow ID](https://docs.browseract.com)\n[How to Connect n8n to BrowserAct](https://docs.browseract.com)\n[How to Use & Customize BrowserAct Templates](https://docs.browseract.com)"
      },
      "typeVersion": 1
    },
    {
      "id": "80350922-6088-4ba7-a52c-51ce7733fffe",
      "name": "Step 1 Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1008,
        336
      ],
      "parameters": {
        "color": 7,
        "width": 700,
        "height": 124,
        "content": "### \ud83d\udd0d Step 1: Input Analysis & Extraction\n\nThe workflow intercepts Telegram messages to identify product links. An AI agent classifies the input, extracts the URL, and determines if the user wants to generate content or is just chatting."
      },
      "typeVersion": 1
    },
    {
      "id": "d2ca0e54-4719-4bf9-b564-2dfd9614dfe7",
      "name": "Step 2 Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        208
      ],
      "parameters": {
        "color": 7,
        "width": 812,
        "height": 108,
        "content": "### \ud83d\udecd\ufe0f Step 2: Product Scraping & AI Writing\n\nBrowserAct scrapes the product page for details. An AI Copywriter then transforms raw specs into persuasive sales copy for WooCommerce and a narrative blog post for WordPress, optimizing both for SEO."
      },
      "typeVersion": 1
    },
    {
      "id": "632ec302-b602-4b63-9dc2-0891de52b748",
      "name": "Step 3 Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        864,
        256
      ],
      "parameters": {
        "color": 7,
        "width": 716,
        "height": 108,
        "content": "### \ud83d\udce6 Step 3: Product & Post Creation\n\nThe system creates a new product in WooCommerce with the AI-generated title, price, and description. Simultaneously, it publishes the narrative blog post to WordPress, embedding product images strategically within the text."
      },
      "typeVersion": 1
    },
    {
      "id": "f35d8c88-b4a4-4b1d-b0e3-1c5109728625",
      "name": "Step 4 Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1696,
        320
      ],
      "parameters": {
        "color": 7,
        "width": 728,
        "height": 136,
        "content": "### \ud83d\uddbc\ufe0f Step 4: Image Management\n\nProduct images are processed and uploaded to the WooCommerce gallery. The workflow ensures each image has unique, SEO-friendly alt text before attaching it to the final product listing."
      },
      "typeVersion": 1
    },
    {
      "id": "c50fa502-5e38-400e-bb42-aa0a15ce86e7",
      "name": "Step 4 Explanation1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        1152
      ],
      "parameters": {
        "color": 7,
        "width": 820,
        "height": 120,
        "content": "### \ud83d\udcac Step 2-2: Conversational Fallback\n\nIf no Link is present in the user's message, this branch engages the user in natural conversation or prompts them to provide a Link for processing."
      },
      "typeVersion": 1
    },
    {
      "id": "ba99516a-dde8-4719-b92c-3227bf2a88d7",
      "name": "Await Synchronous Data Arrival",
      "type": "n8n-nodes-base.merge",
      "position": [
        1424,
        480
      ],
      "parameters": {
        "mode": "chooseBranch",
        "useDataOfInput": 2
      },
      "typeVersion": 3.2
    },
    {
      "id": "13cd12d2-085f-488f-a242-da46737f4dc9",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -992,
        -64
      ],
      "parameters": {
        "color": 6,
        "width": 640,
        "height": 368,
        "content": "@[youtube](euLP9xdv7J0)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5643d766-800b-40d3-973d-fc6b8446f64b",
  "connections": {
    "Check Ouput": {
      "ai_languageModel": [
        [
          {
            "node": "Structured Output",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Check Ouputs1": {
      "ai_languageModel": [
        [
          {
            "node": "Structured Output3",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini": {
      "ai_languageModel": [
        [
          {
            "node": "Chat bot Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Chat bot Agent": {
      "main": [
        [
          {
            "node": "Send Text Message to Telegram Bot",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Update Product Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a product": {
      "main": [
        [
          {
            "node": "Await Synchronous Data Arrival",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Article": {
      "main": [
        [
          {
            "node": "Create WordPress Post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Product": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Product Data",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate  Article": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Article",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output": {
      "ai_outputParser": [
        [
          {
            "node": "Generate Product Data",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output3": {
      "ai_outputParser": [
        [
          {
            "node": "Generate Article",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Validate user Input": {
      "main": [
        [
          {
            "node": "Validation Type Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split out the images": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Product Image": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate user Inputs": {
      "ai_languageModel": [
        [
          {
            "node": "Validate user Input",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Structured Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate Product Data": {
      "main": [
        [
          {
            "node": "Generate Article",
            "type": "main",
            "index": 0
          },
          {
            "node": "Await Synchronous Data Arrival",
            "type": "main",
            "index": 1
          },
          {
            "node": "Create a product",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validation Type Switch": {
      "main": [
        [
          {
            "node": "Extract Product Details",
            "type": "main",
            "index": 0
          },
          {
            "node": "Process Initialization Alert",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Chat bot Agent",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Chat bot Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Product Details": {
      "main": [
        [
          {
            "node": "Generate Product Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Validate user Input",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "User Sends Message to Bot": {
      "main": [
        [
          {
            "node": "Validate user Input",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Await Synchronous Data Arrival": {
      "main": [
        [
          {
            "node": "Split out the images",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}