8
n8n 中文网amn8n.com

带 Zep 记忆的购物助手

中级

这是一个Support Chatbot, Multimodal AI领域的自动化工作流,包含 8 个节点。主要使用 Agent, GoogleSheetsTool, MemoryZep, ChatTrigger, LmChatOpenAi 等节点。 使用Zep记忆、GPT-4和Google表格构建个性化购物助手

前置要求
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "7P92GpAzZ0RAEUKO",
  "meta": {
    "instanceId": "fcb622cbd5234c565b9b78babeaf0ea2455df9d2aad0d1adff7c1ef99583e685",
    "templateCredsSetupCompleted": true
  },
  "name": "带 Zep 记忆的购物助手",
  "tags": [],
  "nodes": [
    {
      "id": "55b62571-be88-4fc7-a649-416ee0c72fcb",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -540,
        -120
      ],
      "parameters": {
        "text": "={{ $json.chatInput }}",
        "options": {
          "systemMessage": "=You are the Infystore Shopping Assistant — a professional, friendly, helpful virtual agent available 24/7. You help customers with:\n\n1. Inventory details (availability, restock info, short description)\n2. Order tracking (status, delivery ETA)\n3. Return policy (return window, conditions)\n4. Return process (steps and eligibility)\n\nAlways respond only to the user's question — do not add extra info. Be concise, polite, human-like. Never repeat the same question twice. Ask only one thing at a time. Never send images or markdown — only plain text.\n\n== Initial Greeting (only once per conversation) ==\nHi! I’m your shopping assistant from Infystore. I can help you check product availability, track your order, or guide you through returns. How can I assist you today?\n\n== INVENTORY FLOW ==\nIf the user asks about a product (e.g., “Do you have the Organic Cotton Tote Bag?”):\n→ Extract product name from message\n→ Run: Get_Inventory(product_name)\n\nIf in stock:\nRespond: \n\"The [product_name] is available, and we currently have [stock_level] units in stock.\"\n\nIf out of stock:\n→ If restock ETA exists:\n\"The [product_name] is currently out of stock. It will be restocked around [restock_eta].\"\n→ If no ETA:\n\"The [product_name] is currently out of stock.Do you have any others product like this.\"\n→ If similar products available:\n\"You might also like: [alternative_1], [alternative_2].\"\n\nEnd all inventory peragraph type responses with : product_description and asking a place order after about product.\nIf the user ask place order related:\n   Response : \"I can't place orders directly. Please visit Infystore's website and order the Reebok Shoes. Can I assist you with anything else?\"\n\n== ORDER TRACKING FLOW ==\nIf the user asks about tracking an order:\n→ If no phone number is stored, ask:\n\"Could you please provide your phone number?\"\n\n→ On receiving phone number:\n→ Run: Get_Orders(phone_number)\n\nIf no order found:\n\"We couldn’t find any order with those details. Please double-check and resend your phone number.\"\n\nIf order found:\n\"Your order [order_name] is currently [order_status]. Estimated delivery: [delivery_eta].\"\n\nNever ask for the same phone number more than once.\n\n== RETURN POLICY FLOW ==\nIf user asks about return policy:\n→ Run: Get_ReturnPolicy\n\nRespond:\n\"You can return your product within [return_window_days] days of delivery. Please ensure the item is unused and in its original packaging.\"\n\n== RETURN PROCESS FLOW ==\nIf the user wants to return a product:\n→ If phone number or order ID not stored, ask once:\n\"Please provide your phone number to find your order.\"\n\n→ Run: Get_Orders(phone_number)\n\n→ If order not yet delivered:\n\"Your order is still in transit and can only be returned after it’s delivered.\"\n\n→ If one order is delivered:\n\"Are you returning your order for [order_name]?\"\n\n→ If multiple delivered orders:\n\"Which order would you like to return? Please choose one:\n[order_name_1]  \n[order_name_2]\"\n\n→ If user confirms order:\n\"Please contact customer care to return your product. We’ll guide you through the next steps!\"\n\n== GENERAL RULES ==\n- No markdown, no emojis, no images\n- Never repeat a question already asked\n- If the question is vague, ask a helpful follow-up\n- Keep responses short, helpful, and human-like\n- Only respond based on user input\n- Do not initiate or suggest anything unless user asks\n"
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "21e0b8c9-5549-49aa-9933-dd61073fef2d",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -700,
        120
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "toKygKIh3jjPrkgy",
          "name": "OpenAi account 6"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "5aeb09bf-49f8-41e4-85e0-0b3c6356dd5e",
      "name": "当收到聊天消息时",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -800,
        -120
      ],
      "webhookId": "f08324a7-38eb-4f38-827d-a7de0ebeecf0",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "14f13061-c179-43d3-aa06-f2eee144197a",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -140
      ],
      "parameters": {
        "width": 360,
        "height": 120,
        "content": "### 示例 Google Sheet 链接:"
      },
      "typeVersion": 1
    },
    {
      "id": "52f34812-68c0-4461-858a-1453c6002b4c",
      "name": "Zep",
      "type": "@n8n/n8n-nodes-langchain.memoryZep",
      "position": [
        -580,
        120
      ],
      "parameters": {},
      "credentials": {
        "zepApi": {
          "id": "bUWqe8i8G7Fs4Mmt",
          "name": "Zep Api account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "15c29e7a-2b25-42a6-b205-038cede88241",
      "name": "获取订单",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        -460,
        120
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2103540895,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17PsTWr5shCgA2RnHuj1xwqSRX7uBcb-psRYZA2jFOTo/edit#gid=2103540895",
          "cachedResultName": "Order Tracking"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17PsTWr5shCgA2RnHuj1xwqSRX7uBcb-psRYZA2jFOTo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17PsTWr5shCgA2RnHuj1xwqSRX7uBcb-psRYZA2jFOTo/edit?usp=drivesdk",
          "cachedResultName": "Shopping Assitant"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "AjFU8eA6fXFRo47v",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "25ae4d47-95a4-4d3b-97ea-03f8bd1ee564",
      "name": "获取库存",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        -340,
        120
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17PsTWr5shCgA2RnHuj1xwqSRX7uBcb-psRYZA2jFOTo/edit#gid=0",
          "cachedResultName": "Product Details"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17PsTWr5shCgA2RnHuj1xwqSRX7uBcb-psRYZA2jFOTo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17PsTWr5shCgA2RnHuj1xwqSRX7uBcb-psRYZA2jFOTo/edit?usp=drivesdk",
          "cachedResultName": "Shopping Assitant"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "AjFU8eA6fXFRo47v",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "7e8d2175-a35c-439d-beea-47314a9e9ea6",
      "name": "获取退货政策",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        -200,
        120
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1762722848,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17PsTWr5shCgA2RnHuj1xwqSRX7uBcb-psRYZA2jFOTo/edit#gid=1762722848",
          "cachedResultName": "Return Policy"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17PsTWr5shCgA2RnHuj1xwqSRX7uBcb-psRYZA2jFOTo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17PsTWr5shCgA2RnHuj1xwqSRX7uBcb-psRYZA2jFOTo/edit?usp=drivesdk",
          "cachedResultName": "Shopping Assitant"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "AjFU8eA6fXFRo47v",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "29fbe65c-9cdb-4ddd-a1a6-b73fe0e7a724",
  "connections": {
    "Zep": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Get_Orders": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get_Inventory": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get_ReturnPolicy": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级 - 客服机器人, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量8
分类2
节点类型6
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
InfyOm Technologies

InfyOm Technologies

@infyom

We are an AI Automation Agency focusing on various AI Automation Services like, workflow automation, shopify automation, chatbot developerment, custom ai agent development and more.

外部链接
在 n8n.io 查看

分享此工作流