{
  "id": "gl7ZRfiTi9tQX4nn",
  "meta": {
    "instanceId": "cbe443dad974471e0b4f8b19ab92782e168bbdef84a3d0b94f5f96a67e01c92c",
    "templateCredsSetupCompleted": true
  },
  "name": "ShopifyMCP",
  "tags": [],
  "nodes": [
    {
      "id": "936e5bea-347e-4a6e-b639-579dc932fdd6",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1376,
        32
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are an AI Commerce Assistant integrated with a Shopify MCP Server (via n8n).\nYour goal is to help users manage their Shopify store efficiently with minimal friction by intelligently using the available MCP tools.\n\n🔑 Core Principles\n\nMinimize Questions\n\nBefore asking the user for any detail, always attempt to retrieve it automatically using available MCP tools (e.g., fetch customer, product, order records).\n\nIf a detail can be derived from context (e.g., “latest order” → fetch most recent order), do so without asking.\n\nOnly ask the user if the information cannot be inferred or retrieved.\n\nContext-Aware Automation\n\nUse prior conversation history and Shopify data to fill in missing fields.\n\nWhen multiple matches are possible (e.g., two customers with similar names), suggest the best match and confirm only if needed.\n\nDefault to sensible values when options are ambiguous (e.g., if product variant unspecified, pick best-seller or default variation).\n\nUser Experience (UX) First\n\nRespond clearly, concisely, and in natural language.\n\nAvoid technical jargon unless explicitly requested.\n\nSummarize actions before execution only when they are irreversible (e.g., refunding an order).\n\nAction Orientation\n\nAlways try to take direct action rather than explaining how.\n\nFor requests like “create a coupon,” “add product,” “check stock,” or “get sales report,” immediately call the appropriate MCP tool and provide results.\n\nError & Fallback Handling\n\nIf a tool call fails, retry with adjusted parameters (e.g., fuzzy search for names).\n\nIf still unsuccessful, explain clearly what’s missing and ask the user only for that specific piece of info.\n\nNever overwhelm the user with multiple technical errors.\n⚙️ Available Capabilities (via MCP Server Tools)\n\nProduct Management: Create, update, fetch, and search products, categories, stock.\n\nOrder Management: Create, update, fetch, search, and refund orders.\n\nReports & Analytics: Fetch sales reports, top products, low-stock items, revenue insights.\n\nCoupons & Discounts: Create, fetch, and manage coupons.\n\nStore Settings: Fetch store details, currency, tax rates.\n\n📝 Behavioral Guidelines\n\nDefault to automation: Always use available MCP tools before asking for details.\n\nSmart filling: Auto-populate fields (e.g., customer email from prior orders).\n\nConcise responses: Provide clear, user-friendly summaries of results.\n\nProgressive disclosure: Share only the info relevant to the request; provide deeper details only if asked.\n\nConfirmation required for critical actions: Refunds, deletions, or bulk updates.\n\n✅ Example Behaviors\n\nUser: \"Create an order for John Doe for 2 T-shirts.\"\n\nAuto: Search customer → find John Doe’s ID.\n\nAuto: Search product “T-shirt” → resolve product ID + variation if default exists.\n\nAuto: Create order with quantity 2.\n\nRespond: “✅ Order #1234 created for John Doe (2 × T-shirt).”\n\nUser: \"Check today’s sales.\"\n\nAuto: Call sales report tool with today’s date.\n\nRespond: “📊 Today’s sales: $2,345 from 42 orders. Top product: Blue Hoodie.”\n\nUser: \"Add a new coupon.\"\n\nAuto: Ask only for missing details (e.g., discount percentage).\n\nDefault sensible values (expiry = 30 days, usage limit = unlimited).\n\nRespond: “🎟️ Coupon ‘SAVE10’ created: 10% off, valid for 30 days.”\n\n🔒 Final Rule: Always act as a proactive assistant—reduce friction, retrieve what you can, ask the minimum necessary, and deliver results efficiently."
        }
      },
      "typeVersion": 2
    },
    {
      "id": "c3dd8763-a88b-4e3e-800c-d7cc5c3ef29e",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1232,
        208
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini",
          "cachedResultName": "gpt-5-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PZKWI5QVcBWITAgc",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3295421a-95db-4343-842e-c378be8b884a",
      "name": "MCP Client",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "position": [
        1552,
        208
      ],
      "parameters": {
        "sseEndpoint": "http://localhost:5678/mcp/7295b0c9-19ab-4c39-b22c-570573cdd1df/sse"
      },
      "typeVersion": 1
    },
    {
      "id": "7ce13d4c-3772-4909-858b-cfbbb2a409fc",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        1392,
        208
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "810678d2-ac55-4459-a070-4523121831d1",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        1408,
        -176
      ],
      "webhookId": "0cba0e38-f794-47b3-bb25-e4b378fa6580",
      "parameters": {
        "public": true,
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "566caa63-f921-44a7-80ae-6b4a20c26386",
      "name": "Shopify Tool MCP Server",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        448,
        -224
      ],
      "webhookId": "7295b0c9-19ab-4c39-b22c-570573cdd1df",
      "parameters": {
        "path": "7295b0c9-19ab-4c39-b22c-570573cdd1df"
      },
      "typeVersion": 1
    },
    {
      "id": "1c23ae46-23af-41b7-8069-1939d07b93df",
      "name": "Create a product in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        64,
        32
      ],
      "parameters": {
        "title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}",
        "resource": "product",
        "authentication": "accessToken",
        "additionalFields": {
          "handle": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Handle', ``, 'string') }}",
          "body_html": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Body_HTML', ``, 'string') }}",
          "product_type": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Product_Type', ``, 'string') }}"
        }
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "023dd9d8-d248-4ada-bc33-7c1f6bcca583",
      "name": "Get a product in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        256,
        32
      ],
      "parameters": {
        "resource": "product",
        "operation": "get",
        "productId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Product_ID', ``, 'string') }}",
        "authentication": "accessToken",
        "additionalFields": {}
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "02c85f5d-c3e4-4730-944b-1fe3334ee712",
      "name": "Search products in Shopify by Title",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        448,
        32
      ],
      "parameters": {
        "resource": "product",
        "operation": "getAll",
        "returnAll": true,
        "authentication": "accessToken",
        "additionalFields": {
          "title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}"
        }
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e254d39b-fd0e-4a2c-a681-73f7590e005a",
      "name": "Get All products in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        704,
        32
      ],
      "parameters": {
        "resource": "product",
        "operation": "getAll",
        "returnAll": true,
        "authentication": "accessToken",
        "additionalFields": {}
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8ab3f661-64d6-47f2-bfb8-7f7a0b58e104",
      "name": "Update a product in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        896,
        32
      ],
      "parameters": {
        "resource": "product",
        "operation": "update",
        "productId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Product_ID', ``, 'string') }}",
        "updateFields": {
          "title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}",
          "handle": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Handle', ``, 'string') }}",
          "body_html": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Body_HTML', ``, 'string') }}"
        },
        "authentication": "accessToken"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d8428685-3e3e-4f80-af40-1ea53737299f",
      "name": "Delete a product in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        1088,
        32
      ],
      "parameters": {
        "resource": "product",
        "operation": "delete",
        "productId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Product_ID', ``, 'string') }}",
        "authentication": "accessToken"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6643b0d1-e02c-45c8-abb0-ebc4d0a407eb",
      "name": "Create an order in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        64,
        304
      ],
      "parameters": {
        "limeItemsUi": {
          "lineItemValues": [
            {
              "grams": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('lineItemValues0_Grams', ``, 'string') }}",
              "price": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('lineItemValues0_Price', ``, 'string') }}",
              "title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('lineItemValues0_Title', ``, 'string') }}",
              "quantity": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('lineItemValues0_Quantity', ``, 'number') }}",
              "productId": 9070405255407,
              "variantId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('lineItemValues0_Variant_ID', ``, 'string') }}"
            }
          ]
        },
        "authentication": "accessToken",
        "additionalFields": {
          "email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email', ``, 'string') }}",
          "fulfillmentStatus": "fulfilled",
          "sendFulfillmentReceipt": true
        }
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1ecc6cbc-ee04-4882-8c0e-a27eec72c6cd",
      "name": "Get an order in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        256,
        304
      ],
      "parameters": {
        "options": {},
        "orderId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Order_ID', ``, 'string') }}",
        "operation": "get",
        "authentication": "accessToken"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b241ac71-0a35-4211-ad01-e3f96369a253",
      "name": "Get fulfilled orders in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        448,
        304
      ],
      "parameters": {
        "options": {
          "fulfillmentStatus": "shipped"
        },
        "operation": "getAll",
        "returnAll": true,
        "authentication": "accessToken"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "07ec0ab5-9b26-4c95-9701-574da85c7d17",
      "name": "Get all orders in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        704,
        304
      ],
      "parameters": {
        "options": {},
        "operation": "getAll",
        "returnAll": true,
        "authentication": "accessToken"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "09b6b766-09f8-4a83-aec0-3f741211a7c9",
      "name": "Update an order in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        896,
        304
      ],
      "parameters": {
        "orderId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Order_ID', ``, 'string') }}",
        "operation": "update",
        "updateFields": {
          "note": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Note', ``, 'string') }}",
          "email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email', ``, 'string') }}"
        },
        "authentication": "accessToken"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "bb063604-7cc0-46b7-8376-9a1411ae8b3e",
      "name": "Delete an order in Shopify",
      "type": "n8n-nodes-base.shopifyTool",
      "position": [
        1088,
        304
      ],
      "parameters": {
        "orderId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Order_ID', ``, 'string') }}",
        "operation": "delete",
        "authentication": "accessToken"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "wGLcglrorG4cJBUZ",
          "name": "Shopify Access Token account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "64d5eddd-5369-4dbb-80fe-e80a070aa4e9",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        -256
      ],
      "parameters": {
        "width": 880,
        "height": 1360,
        "content": "## Step-by-Step Setup Guide\n\nFollow these steps to import and configure the Shopify MCP AI Agent workflow in n8n:\n\n### 1. Import the Workflow File\n\n- Download the workflow file from this Creator Hub listing.\n- In your n8n instance, go to **Workflows** > **Import from File** and upload the JSON.\n\n### 2. Prepare Shopify Access\n\n- Log in to your [Shopify admin](https://shopify.com/admin).\n- Create a **Custom App** or use an existing app and retrieve the Admin API Access Token.\n- **Storefront access:** Ensure your app has relevant permissions for Products, Orders, Discounts, and Store Settings.\n\n### 3. Set Up Credentials in n8n\n\n- In n8n, navigate to **Credentials** and add a new Shopify API credential using your Access Token.\n- Name it something memorable (e.g., `Shopify Access Token account`) to match the credential used in the workflow nodes.\n\n### 4. Configure the MCP Server Connection\n\n- Make sure your MCP Server is running and accessible with API endpoints for product/order management.\n- Update any relevant connection endpoints in the workflow if you run your MCP Server locally or in a different location.\n\n### 5. Connect OpenAI or Other LLM Provider\n\n- Provide your API key for OpenAI GPT or a compatible model.\n- Link the credential to the `OpenAI Chat Model` node (replace with other providers if required).\n\n### 6. (Optional) Customize for Your Needs\n\n- Tweak node logic, add new triggers, or extend memory features as required.\n- Add, remove, or restrain the AI’s capabilities to fit your operational needs.\n- Configure chat triggers for more personalized workflows.\n\n### 7. Testing\n\n- Use the **“When chat message received”** trigger or send http requests to the workflow’s endpoint.\n- Example: *“Create an order for Jane Doe, 3 Black T-shirts”* or *“Show today’s fulfilled orders”*.\n- The workflow and AI Agent will handle context, fetch/store data, and reply accordingly.\n\n### 8. Ready to Automate!\n\n- Begin leveraging conversational automation to manage your Shopify store.\n- For additional tips, consult the workflow’s internal documentation and n8n’s official guides.\n\n***\n\n## Additional Notes\n\n- This template includes all core Shopify product and order operations.\n- The AI agent auto-resolves context, making routine admin tasks simple and quick.\n- Extend or fork the workflow to suit niche scenarios—discounts, analytics, and more.\n- Visual thumbnail and schematic are included for easy reference.\n\n***"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7255c4e9-2da6-4f0d-a769-5973025046e3",
  "connections": {
    "MCP Client": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get an order in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get a product in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get all orders in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create an order in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Delete an order in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Update an order in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a product in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Delete a product in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get All products in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Update a product in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get fulfilled orders in Shopify": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Search products in Shopify by Title": {
      "ai_tool": [
        [
          {
            "node": "Shopify Tool MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}