8
n8n 中文网amn8n.com

使用 Supabase 的每日订单报告 AI 代理

中级

这是一个AI领域的自动化工作流,包含 10 个节点。主要使用 Set, GmailTool, SupabaseTool, Agent, ScheduleTrigger 等节点,结合人工智能技术实现智能自动化。 使用 Supabase、GPT-4.1 和 Gmail 生成每日电商订单报告

前置要求
  • Google 账号和 Gmail API 凭证
  • Supabase URL 和 API Key
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "vlxb4BmzckG852jg",
  "meta": {
    "instanceId": "9219ebc7795bea866f70aa3d977d54417fdf06c41944be95e20cfb60f992db19",
    "templateCredsSetupCompleted": true
  },
  "name": "使用 Supabase 的每日订单报告 AI Agent",
  "tags": [],
  "nodes": [
    {
      "id": "e9e241a2-3963-4bc0-bcd8-3651840648ed",
      "name": "AI 代理",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        660,
        -60
      ],
      "parameters": {
        "text": "=You are an intelligent assistant tasked with generating a daily summary of recent e-commerce orders.\n\nYour Goal and Required Tool Usage:\n\nRetrieve Data from Supabase (Critical Tool Calls):\n\nTo get order item details, you MUST call the tool named Get Order Items.\nTo get client (user) details, you MUST call the tool named Get Clients.\nTo get order details, you MUST call the tool named Get Orders.\nTo get product details, you MUST call the tool named Get Products.\nAfter calling these tools, process the data they return to identify all necessary information for the summary.\nIdentify Recent Orders:\n\nFrom the data retrieved by the Get Orders tool, specifically filter for all orders that have been placed within the last 24 hours. Today is {{ $now }}\nGenerate Summary and Details (Strict Plain Text Formatting Required):\n\nUsing the data from the Get Order Items, Get Clients, Get Orders, and Get Products tools, create:\nA concise summary of these recent orders, including the total number of new orders and the total revenue generated.\nA detailed list of each individual new order. For each order, include its ID, placement date/time, the client's name, the total value, and a clear list of all products included in that order (product name, quantity, price per item).\nCRITICAL PLAIN TEXT FORMATTING INSTRUCTIONS:\nSeparate all lines and paragraphs with clear newlines.\nUse double newlines to create distinct paragraph breaks for readability.\nDo NOT use any special characters for bolding, italics, headings, or bullet points (e.g., no *, #, **). Just use plain text.\nIndent lists using spaces for clarity if possible.\nEnsure the output is a single, readable block of plain text suitable for an email body.\nSend Email (Critical Tool Call):\n\nTo send the generated summary and detailed list via email, you MUST call the tool named Send Gmail Summary.\nThe email subject should be \"Daily Order Summary - Last 24 Hours\".\nThe email body will contain the generated plain text content.\nExample of Desired Email Body Structure (Plain Text - Italian, Rome Timezone):\n\nRiepilogo Ordini Giornalieri (Ultime 24 Ore)\n\nTotale Nuovi Ordini: [Numero di ordini]\nFatturato Totale: [Importo fatturato totale]\n\n-----------------------------------\n\nDettagli Nuovi Ordini:\n\nID Ordine: [ID Ordine 1]\nData: 25/05/2025 20:03 CEST\nCliente: [Nome Cliente 1]\nValore Totale: [Valore Totale 1]\nArticoli:\n    - [Nome Prodotto A] (x[Quantità A]) - [Prezzo A]\n    - [Nome Prodotto B] (x[Quantità B]) - [Prezzo B]\n\nID Ordine: [ID Ordine 2]\nData: 25/05/2025 20:03 CEST\nCliente: [Nome Cliente 2]\nValore Totale: [Valore Totale 2]\nArticoli:\n    - [Nome Prodotto X] (x[Quantità X]) - [Prezzo X]\n    - [Nome Prodotto Y] (x[Quantità Y]) - [Prezzo Y]\n\n... (continua per tutti i nuovi ordini in un formato simile)",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "4dbac482-9efb-4e1f-a729-de640ecccb08",
      "name": "获取订单",
      "type": "n8n-nodes-base.supabaseTool",
      "position": [
        520,
        220
      ],
      "parameters": {
        "limit": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Limit', ``, 'number') }}",
        "tableId": "orders",
        "operation": "getAll",
        "descriptionType": "manual",
        "toolDescription": "Use this tool to get the data about the orders"
      },
      "credentials": {
        "supabaseApi": {
          "id": "uscY21INcS5uAakc",
          "name": "Supabase account PastaDemo"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "010dfe87-420b-4d6f-89f0-23c58aa6dbe3",
      "name": "获取订单项",
      "type": "n8n-nodes-base.supabaseTool",
      "position": [
        680,
        220
      ],
      "parameters": {
        "limit": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Limit', ``, 'number') }}",
        "tableId": "order_items",
        "operation": "getAll",
        "descriptionType": "manual",
        "toolDescription": "Use this tool to get the data for the order items"
      },
      "credentials": {
        "supabaseApi": {
          "id": "uscY21INcS5uAakc",
          "name": "Supabase account PastaDemo"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "88f69e97-dc76-4a4e-ab61-e52cf77dac35",
      "name": "获取客户",
      "type": "n8n-nodes-base.supabaseTool",
      "position": [
        800,
        220
      ],
      "parameters": {
        "limit": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Limit', ``, 'number') }}",
        "tableId": "users",
        "operation": "getAll",
        "descriptionType": "manual",
        "toolDescription": "Use this tool to get the data for the clients"
      },
      "credentials": {
        "supabaseApi": {
          "id": "uscY21INcS5uAakc",
          "name": "Supabase account PastaDemo"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "da6ec445-0035-4c74-9adb-6d63dc428f05",
      "name": "获取产品",
      "type": "n8n-nodes-base.supabaseTool",
      "position": [
        920,
        220
      ],
      "parameters": {
        "limit": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Limit', ``, 'number') }}",
        "tableId": "products",
        "operation": "getAll",
        "descriptionType": "manual",
        "toolDescription": "Use this tool to get the data about the products"
      },
      "credentials": {
        "supabaseApi": {
          "id": "uscY21INcS5uAakc",
          "name": "Supabase account PastaDemo"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2201f0c1-5abb-4a46-8aea-2ed5ea2ef220",
      "name": "发送 Gmail 摘要",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1100,
        220
      ],
      "webhookId": "8b8d8a36-744d-4716-a6cf-8d6a3b6fa67a",
      "parameters": {
        "sendTo": "={{ $json.toEmail }}",
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
        "emailType": "text",
        "descriptionType": "manual",
        "toolDescription": "Use this tool to send an email summary about the orders"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "q3P6IybvNdDiPZ52",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "12ba20e4-f768-4789-84cf-c9d2a746ca51",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        320,
        220
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1",
          "cachedResultName": "gpt-4.1"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "vupAk5StuhOafQcb",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2039bf49-833f-4d01-b415-594c4ab926a1",
      "name": "每日早上8点",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        180,
        -60
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 8
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ab399397-d687-48c5-81f0-99fed12c9c1d",
      "name": "设置发件人邮箱",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        -60
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0376e8ed-6c68-4bcd-9913-73486ac3dd69",
              "name": "toEmail",
              "type": "string",
              "value": "setEmailHere"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3565c51b-6cce-48aa-be41-4f9d0c40c40e",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        380,
        -200
      ],
      "parameters": {
        "width": 640,
        "height": 300,
        "content": "## 注意事项"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "timezone": "Europe/Madrid",
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": "qFOYM3IA9QZ7fMym",
    "executionOrder": "v1"
  },
  "versionId": "f2b1e3dc-0542-4523-831b-15e0b7c1da87",
  "connections": {
    "AI Agent": {
      "main": [
        []
      ]
    },
    "Daily 8am": {
      "main": [
        [
          {
            "node": "Set Sender Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Orders": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Clients": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Products": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Order Items": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Set Sender Email": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Send Gmail Summary": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

中级 - 人工智能

需要付费吗?

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

工作流信息
难度等级
中级
节点数量10
分类1
节点类型7
难度说明

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

作者
Aitor | 1node.ai

Aitor | 1node.ai

@aitoralonso

Hi, I’m Aitor. At 1 Node we help businesses integrate full-scale AI solutions that save time, cut costs, and increase revenue. Guaranteed. Need help implementing AI workflows?

外部链接
在 n8n.io 查看

分享此工作流