{
  "name": "Create e-commerce listings from images with UploadToURL, GPT-4o, Shopify",
  "nodes": [
    {
      "id": "ae0639dc-3064-4489-99ce-34c7ae49c1ed",
      "name": "📋 Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        -656
      ],
      "parameters": {
        "width": 620,
        "height": 588,
        "content": "🛍️ AI Product Catalog Architect\nThe Problem: Manual product entry—uploading, resizing, and writing descriptions—is a bottleneck for e-commerce growth.\nThe Solution: A mobile-to-store pipeline that hos"
      }
    },
    {
      "id": "e1482d72-5e54-4f41-ad4a-776593008d19",
      "name": "Entry & Validation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        -80
      ],
      "parameters": {
        "width": 576,
        "height": 578,
        "content": "## 🚪 Entry & Validation\n**Nodes:** Webhook → Validate & Enrich → Has Remote URL?\n\n- Accepts `POST` with product metadata + either a `fileUrl` (remote) or binary file attachment\n- Validates required fi"
      }
    },
    {
      "id": "5d68e82d-7573-4d9c-9338-64f7d1371876",
      "name": "Upload + Vision AI",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1248,
        -144
      ],
      "parameters": {
        "width": 896,
        "height": 722,
        "content": "## ☁️ Upload to URL → Vision AI\n**Nodes:** Upload to URL (×2) → Extract URL → GPT-4o Vision → Parse AI Response\n\n- Native **Upload to URL** community node handles both URL-fetch and binary-upload path"
      }
    },
    {
      "id": "114fad13-8471-41da-9db2-8af369336a5d",
      "name": "Platform Routing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2160,
        -224
      ],
      "parameters": {
        "width": 592,
        "height": 770,
        "content": "## 🏪 Platform Routing & Product Creation\n**Nodes:** Route by Platform → Shopify Create → WooCommerce Create\n\n- Switch node reads `platform` field (`shopify` or `woocommerce`) — extend with more output"
      }
    },
    {
      "id": "b44b85fd-fe8f-4b18-b947-78d38570875c",
      "name": "Notification & Response",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2768,
        -208
      ],
      "parameters": {
        "width": 480,
        "height": 654,
        "content": "## 📣 Notification & Response\n**Nodes:** Build Response → Slack Notifier → Respond to Webhook\n\n- `Build Response` merges platform API reply with product metadata into a clean summary object\n- **Slack N"
      }
    },
    {
      "id": "016d11e3-a873-4796-806f-5d6f9b036420",
      "name": "Webhook - Receive Product",
      "type": "n8n-nodes-base.webhook",
      "position": [
        672,
        224
      ]
    },
    {
      "id": "14fe3281-67a8-4ce6-84c3-6fea8102a6e8",
      "name": "Validate & Enrich Payload",
      "type": "n8n-nodes-base.code",
      "position": [
        880,
        224
      ]
    },
    {
      "id": "7a2b2887-718f-4d76-820a-c5b452e706c5",
      "name": "Has Remote URL?",
      "type": "n8n-nodes-base.if",
      "position": [
        1104,
        224
      ]
    },
    {
      "id": "a760c1eb-3636-4acf-854f-fd995a00c5b7",
      "name": "Upload to URL - Remote",
      "type": "n8n-nodes-uploadtourl.uploadToUrl",
      "position": [
        1328,
        112
      ]
    },
    {
      "id": "1e27bcd3-29cb-41a6-acfb-ee74a10b6ef6",
      "name": "Upload to URL - Binary",
      "type": "n8n-nodes-uploadtourl.uploadToUrl",
      "position": [
        1328,
        352
      ]
    },
    {
      "id": "4117a58c-304e-4ac7-b5e2-3b0fbcbfbe6c",
      "name": "Extract Image URL",
      "type": "n8n-nodes-base.code",
      "position": [
        1552,
        224
      ]
    },
    {
      "id": "f0f9f546-2e0a-4ee1-a846-778aa59b4bc8",
      "name": "GPT-4o Vision - Analyse Product",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1760,
        224
      ]
    },
    {
      "id": "14f53b63-c22a-4030-989b-46b51475926f",
      "name": "Parse & Merge AI Product Data",
      "type": "n8n-nodes-base.code",
      "position": [
        2048,
        224
      ]
    },
    {
      "id": "2d70dfc8-89e8-4ef2-ba5e-d603d1131d33",
      "name": "Route by Platform",
      "type": "n8n-nodes-base.switch",
      "position": [
        2208,
        224
      ]
    },
    {
      "id": "14303dea-d4f1-49ac-8278-97d285f669b2",
      "name": "Shopify - Create Product",
      "type": "n8n-nodes-base.shopify",
      "position": [
        2432,
        112
      ]
    },
    {
      "id": "866f00db-805f-4884-b5ec-541651235f0a",
      "name": "WooCommerce - Create Product",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2432,
        352
      ]
    },
    {
      "id": "16ff0092-fdda-4675-aae9-594a12578d9d",
      "name": "Build Product Response",
      "type": "n8n-nodes-base.code",
      "position": [
        2640,
        224
      ]
    },
    {
      "id": "b247362f-8b43-4487-9055-714a9f21f04c",
      "name": "Slack - Notify Team",
      "type": "n8n-nodes-base.slack",
      "position": [
        2864,
        112
      ]
    },
    {
      "id": "2cbafe11-18db-4f5d-a02a-5c2b7c16376e",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        2864,
        320
      ]
    }
  ],
  "connections": {
    "Has Remote URL?": {
      "main": [
        [
          {
            "node": "Upload to URL - Remote",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Upload to URL - Binary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Image URL": {
      "main": [
        [
          {
            "node": "GPT-4o Vision - Analyse Product",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by Platform": {
      "main": [
        [
          {
            "node": "Shopify - Create Product",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "WooCommerce - Create Product",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Slack - Notify Team": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Product Response": {
      "main": [
        [
          {
            "node": "Slack - Notify Team",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to URL - Binary": {
      "main": [
        [
          {
            "node": "Extract Image URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to URL - Remote": {
      "main": [
        [
          {
            "node": "Extract Image URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Shopify - Create Product": {
      "main": [
        [
          {
            "node": "Build Product Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate & Enrich Payload": {
      "main": [
        [
          {
            "node": "Has Remote URL?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook - Receive Product": {
      "main": [
        [
          {
            "node": "Validate & Enrich Payload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WooCommerce - Create Product": {
      "main": [
        [
          {
            "node": "Build Product Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse & Merge AI Product Data": {
      "main": [
        [
          {
            "node": "Route by Platform",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GPT-4o Vision - Analyse Product": {
      "main": [
        [
          {
            "node": "Parse & Merge AI Product Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}