Supabase を使った 1 日ごとの注文報告 AI エージェント

中級

これはAI分野の自動化ワークフローで、10個のノードを含みます。主にSet, GmailTool, SupabaseTool, Agent, ScheduleTriggerなどのノードを使用、AI技術を活用したスマート自動化を実現。 Supabase、GPT-4.1、Gmail を使って 1 日ごとの EC オーダー報告書を自動生成

前提条件
  • Googleアカウント + Gmail API認証情報
  • Supabase URL と API Key
  • OpenAI API Key

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "vlxb4BmzckG852jg",
  "meta": {
    "instanceId": "9219ebc7795bea866f70aa3d977d54417fdf06c41944be95e20cfb60f992db19",
    "templateCredsSetupCompleted": true
  },
  "name": "Daily order report AI agent using Supabase",
  "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": "## Notes\n- Connect to your Supabase account to pull data from tables\n- Update the sender email\n- Customize the AI agent prompt to fit the use case"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "timezone": "Europe/Madrid",
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": "qFOYM3IA9QZ7fMym",
    "executionOrder": "v1"
  },
  "versionId": "f2b1e3dc-0542-4523-831b-15e0b7c1da87",
  "connections": {
    "e9e241a2-3963-4bc0-bcd8-3651840648ed": {
      "main": [
        []
      ]
    },
    "2039bf49-833f-4d01-b415-594c4ab926a1": {
      "main": [
        [
          {
            "node": "ab399397-d687-48c5-81f0-99fed12c9c1d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4dbac482-9efb-4e1f-a729-de640ecccb08": {
      "ai_tool": [
        [
          {
            "node": "e9e241a2-3963-4bc0-bcd8-3651840648ed",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "88f69e97-dc76-4a4e-ab61-e52cf77dac35": {
      "ai_tool": [
        [
          {
            "node": "e9e241a2-3963-4bc0-bcd8-3651840648ed",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "da6ec445-0035-4c74-9adb-6d63dc428f05": {
      "ai_tool": [
        [
          {
            "node": "e9e241a2-3963-4bc0-bcd8-3651840648ed",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "010dfe87-420b-4d6f-89f0-23c58aa6dbe3": {
      "ai_tool": [
        [
          {
            "node": "e9e241a2-3963-4bc0-bcd8-3651840648ed",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "ab399397-d687-48c5-81f0-99fed12c9c1d": {
      "main": [
        [
          {
            "node": "e9e241a2-3963-4bc0-bcd8-3651840648ed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "12ba20e4-f768-4789-84cf-c9d2a746ca51": {
      "ai_languageModel": [
        [
          {
            "node": "e9e241a2-3963-4bc0-bcd8-3651840648ed",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "2201f0c1-5abb-4a46-8aea-2ed5ea2ef220": {
      "ai_tool": [
        [
          {
            "node": "e9e241a2-3963-4bc0-bcd8-3651840648ed",
            "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で表示

このワークフローを共有

カテゴリー

カテゴリー: 34