8
n8n 中文网amn8n.com

使用GPT-4 nano、Telegram和Google Sheets的订阅跟踪与提醒

高级

这是一个AI Chatbot, Multimodal AI领域的自动化工作流,包含 20 个节点。主要使用 If, Set, Telegram, Aggregate, GoogleSheets 等节点。 使用GPT-4 nano、Telegram和Google Sheets的订阅跟踪与提醒

前置要求
  • Telegram Bot Token
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "53e7d453f0122e212e3eadfde50ecd9231ec4ed88ed4216674fd95139eb53a2e",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "918d0148-72d9-422b-8244-0fdd0ce8952e",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "notes": "Provides the Language Model (GPT-4) for the AI Agent to process natural language requests.",
      "position": [
        -528,
        -592
      ],
      "parameters": {
        "model": "gpt-4.1-nano",
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "XdQA83y4u3bVVMy9",
          "name": "OpenAi: Rdavid"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e2e40de5-fa69-4e31-b01d-9e08121de5d8",
      "name": "窗口缓冲记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "notes": "Maintains conversation context for each Telegram user session.",
      "position": [
        -400,
        -592
      ],
      "parameters": {
        "sessionKey": "={{ $('Telegram Message Received').item.json.message.from.id }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "59e67ec9-c85a-4cc3-a48b-df60516ee52c",
      "name": "格式化响应",
      "type": "n8n-nodes-base.set",
      "notes": "Formats the AI Agent's response for sending back to Telegram.",
      "position": [
        320,
        -816
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "cc903946-9e57-402a-bf4e-a001c17c4776",
              "name": "response",
              "type": "string",
              "value": "={{ $json.output }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e44c63e1-2f8b-4047-8588-5d58a7a44b52",
      "name": "发送 Telegram 响应",
      "type": "n8n-nodes-base.telegram",
      "notes": "Sends the AI Agent's response back to the user via Telegram.",
      "position": [
        544,
        -816
      ],
      "webhookId": "9fa4f7c8-c8ee-413c-a7af-0910c4732a43",
      "parameters": {
        "text": "={{ $json.response }}",
        "chatId": "={{ $('Telegram Message Received').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "tTsN7Fkg5oCMQvQ0",
          "name": "Bill Manager AI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f79cf394-4029-48a9-8e04-abcbf436691f",
      "name": "每日早上 8 点检查",
      "type": "n8n-nodes-base.scheduleTrigger",
      "notes": "Triggers daily at 8:00 AM to check for subscriptions due within 3 days.",
      "position": [
        -624,
        -384
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 8 * * *"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f7f610d1-4e3d-4855-848a-3adcf7af7dda",
      "name": "读取订阅信息",
      "type": "n8n-nodes-base.googleSheets",
      "notes": "Reads all subscription data from Google Sheets to check for upcoming due dates.",
      "position": [
        -400,
        -288
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1746035543,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11vm37DMVePdThULjlGatsfhp41wpW_RjbatoHwaQpgI/edit#gid=1746035543",
          "cachedResultName": "Dashboard"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "11vm37DMVePdThULjlGatsfhp41wpW_RjbatoHwaQpgI",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11vm37DMVePdThULjlGatsfhp41wpW_RjbatoHwaQpgI/edit?usp=drivesdk",
          "cachedResultName": "Bill Manager AI"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "dOnNjkbUqtV2fPfA",
          "name": "Sheets: RDavid"
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "aa2e2070-8b10-4e86-98cf-96f66edc7885",
      "name": "AI Agent 核心部分",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1232,
        -1088
      ],
      "parameters": {
        "color": 5,
        "width": 2248,
        "height": 638,
        "content": "# 🤖 账单助手"
      },
      "typeVersion": 1
    },
    {
      "id": "e8c004e4-607a-4d07-b10e-ea3f64ffb6ca",
      "name": "每日提醒部分",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1232,
        -448
      ],
      "parameters": {
        "color": 3,
        "width": 2256,
        "height": 448,
        "content": "# 📅 每日提醒系统"
      },
      "typeVersion": 1
    },
    {
      "id": "5e533f04-197e-4969-977e-b72d4bd45d44",
      "name": "是否有订阅即将到期?",
      "type": "n8n-nodes-base.if",
      "notes": "Checks if there are any subscriptions due within 3 days that need email notification.",
      "position": [
        -176,
        -288
      ],
      "parameters": {
        "options": {
          "looseTypeValidation": true
        },
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "c1a1e734-3e9c-4b1a-9c8e-5f4f3f2f1f0f",
              "operator": {
                "type": "number",
                "operation": "lte"
              },
              "leftValue": "={{ $('Read Subscriptions').item.json['Due In'] }}",
              "rightValue": 3
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "b8c19d79-609e-4ab7-84c2-e35fefea7e9c",
      "name": "在 Google Sheets 中获取行",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        -272,
        -592
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('values0_Value', ``, 'string') }}",
              "lookupColumn": "Bill Name"
            },
            {
              "lookupValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('values1_Value', ``, 'string') }}",
              "lookupColumn": "Billing Cycle"
            },
            {
              "lookupValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('values3_Value', ``, 'string') }}",
              "lookupColumn": "Due In"
            },
            {
              "lookupValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('values4_Value', ``, 'string') }}",
              "lookupColumn": "Status"
            },
            {
              "lookupValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('values5_Value', ``, 'string') }}",
              "lookupColumn": "Card Used (Last 4 Digits)"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1746035543,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11vm37DMVePdThULjlGatsfhp41wpW_RjbatoHwaQpgI/edit#gid=1746035543",
          "cachedResultName": "Dashboard"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "11vm37DMVePdThULjlGatsfhp41wpW_RjbatoHwaQpgI",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11vm37DMVePdThULjlGatsfhp41wpW_RjbatoHwaQpgI/edit?usp=drivesdk",
          "cachedResultName": "Bill Manager AI"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "dOnNjkbUqtV2fPfA",
          "name": "Sheets: RDavid"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "23e6fb89-4afa-4868-990c-e85224ae4ae3",
      "name": "计算器",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        -144,
        -592
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7c61599e-8eac-4e12-8cf6-cb9e8804db2f",
      "name": "SerpAPI",
      "type": "@n8n/n8n-nodes-langchain.toolSerpApi",
      "position": [
        -16,
        -592
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "serpApi": {
          "id": "ey39lLPp9QIAftFl",
          "name": "SerpAPI account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0e583a94-c150-499e-8de9-9820eb22840e",
      "name": "发送 Telegram 响应1",
      "type": "n8n-nodes-base.telegram",
      "notes": "Sends the AI Agent's response back to the user via Telegram.",
      "position": [
        624,
        -288
      ],
      "webhookId": "9fa4f7c8-c8ee-413c-a7af-0910c4732a43",
      "parameters": {
        "text": "={{ $json.message.content.message }}",
        "chatId": "=7707872097",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "tTsN7Fkg5oCMQvQ0",
          "name": "Bill Manager AI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a46a906d-7c7d-4f19-ae69-68dd38f8c29a",
      "name": "当点击\"执行工作流\"时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -624,
        -192
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "40ca68c5-2970-4d93-ba93-2f2b3f28e413",
      "name": "消息模型",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        272,
        -288
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-nano",
          "cachedResultName": "GPT-4.1-NANO"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are a subscription reminder assistant. Format the following subscription bills into a clear, concise Telegram message.\n\nInclude:\n- Total number of bills due\n- Each bill's name, amount in Peso, plan type, and exact due date\n- Use emojis for better readability\n- Keep it under 400 characters for Telegram\n\nFormat example:\n🚨 BILLS DUE SOON (3 bills)\n\n💳 Netflix Pro - ₱890.45\n📅 Due: Jan 26, 2025 (2 days)\n\n🎵 Spotify Premium - ₱556.45  \n📅 Due: Jan 28, 2025 (4 days)\n\nMake it urgent but friendly."
            },
            {
              "content": "={{ JSON.stringify($json.data) }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "XdQA83y4u3bVVMy9",
          "name": "OpenAi: Rdavid"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "d7152ed6-db29-4f59-ad94-2552dc9cb951",
      "name": "聚合",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        48,
        -288
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "13f93efc-89ca-4e5a-8175-69ac8a811d03",
      "name": "智能账单管理器",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "notes": "The core AI Agent that processes user requests and manages subscription data through natural language.",
      "position": [
        -288,
        -816
      ],
      "parameters": {
        "text": "={{ $json.message.text }}",
        "options": {
          "systemMessage": "=ROLE: Smart Bill Manager\nYou are an efficient subscription billing assistant that collects complete information in a single interaction to save tokens and time.\n\nCORE DATA REQUIREMENTS (Collect ALL 6 fields)\nWhen a user mentions ANY subscription/bill, immediately extract and collect:\n\n1. Bill Name: Extract service name only (e.g., \"YouTube\" from \"YouTube Premium\")\n2. Amount: ONLY convert if NOT in USD. USD amounts go directly through.\n3. Plan: Extract plan/tier (e.g., \"Premium\", \"Family\", \"Pro\", \"Basic\")\n4. Start Date: When subscription began (YYYY-MM-DD format)\n5. Billing Cycle: \"Monthly\", \"Yearly\", or \"Weekly\"\n\nOPTIONAL:\n6. Status: Always  to \"Active\" unless user specifies \"Inactive\"\n7. Card Used: Only collect if user mentions (last 4 digits)\n\nCRITICAL RULES\n\nCurrency Conversion (SMART LOGIC)\n- IF amount contains \"$\" OR \"USD\" → Use directly, NO search needed\n- IF amount contains ₱, €, £, ¥, etc. → THEN search for conversion\n- Examples:\n  ✅ \"$15.99\" → Use directly as \"$15.99\"\n  ✅ \"15.99 USD\" → Use directly as \"$15.99\"\n  🔍 \"₱189\" → Search \"189 PHP to USD\" → \"$3.45\"\n  🔍 \"€12\" → Search \"12 EUR to USD\" → \"$13.20\"\n\nEfficient Data Collection\n- Extract ALL available information from first message\n- Only ask for missing required fields\n- If user provides partial info, intelligently extract what you can and ask for the rest\n\nBill Name Intelligence\n- Extract service name from plan names:\n  - \"YouTube Premium\" → Bill Name: \"YouTube\", Plan: \"Premium\"\n  - \"Netflix Family Plan\" → Bill Name: \"Netflix\", Plan: \"Family\"\n  - \"Spotify Free\" → Bill Name: \"Spotify\", Plan: \"Free\"\n\nCONVERSATION EXAMPLES\n\nInput: \"$15.99/mo. Next due 13 of august. Youtube premium plan\"\n\nYour Response:\n✅ **YouTube Premium - Ready to Add!**\n\nFrom your message, I have:\n✅ Bill Name: YouTube\n✅ Plan: Premium  \n✅ Amount: $15.99 (already in USD)\n✅ Billing Cycle: Monthly (from \"/mo\")\n\nI need 2 more details:\n❓ **Start Date**: When did you first subscribe? (YYYY-MM-DD)\n❓ **Status**: Active or Inactive? (I'll assume Active)\n\nOnce you provide the start date, I'll add it immediately!\n\nInput: \"₱189/mo. Next due 13 of august. Youtube premium plan\"\n\nYour Response:\nI'll add YouTube Premium! Let me convert that amount first.\n\n[Use search: \"189 PHP to USD\"]\n\n✅ **YouTube Premium - Ready to Add!**\n\nFrom your message, I have:\n✅ Bill Name: YouTube\n✅ Plan: Premium  \n✅ Amount: $3.45 (converted from ₱189)\n✅ Billing Cycle: Monthly (from \"/mo\")\n\nI need 2 more details:\n❓ **Start Date**: When did you first subscribe? (YYYY-MM-DD)\n❓ **Status**: Active or Inactive? (I'll assume Active)\n\nPOST-UPDATE BEHAVIOR\nAfter EVERY successful addition/update, automatically show the 3 nearest due dates from their subscription list.\n\nSEARCH TOOL USAGE\nUse search ONLY for:\n- Non-USD currency conversions: \"189 PHP to USD converter\"\n- Pricing verification: \"YouTube Premium price 2025 USD\" (only if needed)\n- Plan confirmation: \"Netflix plans and pricing 2025\" (only if needed)\n\nERROR PREVENTION\n- Never search if amount is already in USD (contains $ or USD)\n- Never save incomplete records\n- Always confirm plan extraction is correct\n- Default Status to \"Active\" unless specified\n- Extract maximum data from first message to minimize back-and-forth"
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "917cc8ab-4bd5-4873-8ef0-8c7179477bb5",
      "name": "在 Google Sheets 中追加或更新行",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        112,
        -592
      ],
      "parameters": {
        "columns": {
          "value": {
            "Plan": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Plan', ``, 'string') }}",
            "Amount": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Amount', ``, 'string') }}",
            "Status": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Status', ``, 'string') }}",
            "Bill Name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Bill_Name__using_to_match_', ``, 'string') }}",
            "Start Date": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start_Date', ``, 'string') }}",
            "Last Updated": "={{ $now }}",
            "Billing Cycle": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Billing_Cycle', ``, 'string') }}",
            "Card Used (Last 4 Digits)": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Card_Used__Last_4_Digits_', ``, 'string') }}"
          },
          "schema": [
            {
              "id": "Bill Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Bill Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Amount",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Amount",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Plan",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Plan",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Start Date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Start Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Billing Cycle",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Billing Cycle",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Card Used (Last 4 Digits)",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Card Used (Last 4 Digits)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Updated",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Last Updated",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Bill Name"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11vm37DMVePdThULjlGatsfhp41wpW_RjbatoHwaQpgI/edit#gid=0",
          "cachedResultName": "Raw Data"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "11vm37DMVePdThULjlGatsfhp41wpW_RjbatoHwaQpgI",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11vm37DMVePdThULjlGatsfhp41wpW_RjbatoHwaQpgI/edit?usp=drivesdk",
          "cachedResultName": "Bill Manager AI"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "dOnNjkbUqtV2fPfA",
          "name": "Sheets: RDavid"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "87cd5ea3-b04f-4552-b6d3-25f30993d06d",
      "name": "收到 Telegram 消息",
      "type": "n8n-nodes-base.telegramTrigger",
      "notes": "Triggers when any message is received via Telegram bot",
      "position": [
        -752,
        -816
      ],
      "webhookId": "66f2a19c-e4c4-4f19-9764-75d0d60d1ae1",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "tTsN7Fkg5oCMQvQ0",
          "name": "Bill Manager AI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7481fe8f-508c-459a-8f2e-5f14ff0d191c",
      "name": "发送聊天动作",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -256,
        -1040
      ],
      "webhookId": "58d810d6-194e-4db5-b1bf-c5187edb7479",
      "parameters": {
        "chatId": "={{ $('Telegram Message Received').item.json.message.chat.id }}",
        "operation": "sendChatAction"
      },
      "credentials": {
        "telegramApi": {
          "id": "YwnHxt7Xi4qwvL8e",
          "name": "TG: Rockstar AI"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "pinData": {},
  "connections": {
    "SerpAPI": {
      "ai_tool": [
        [
          {
            "node": "Smart Bill Manager",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Message a model",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculator": {
      "ai_tool": [
        [
          {
            "node": "Smart Bill Manager",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Daily 8AM Check": {
      "main": [
        [
          {
            "node": "Read Subscriptions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Response": {
      "main": [
        [
          {
            "node": "Send Telegram Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model": {
      "main": [
        [
          {
            "node": "Send Telegram Response1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Smart Bill Manager",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Read Subscriptions": {
      "main": [
        [
          {
            "node": "Any Subscriptions Due?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Smart Bill Manager": {
      "main": [
        [
          {
            "node": "Format Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Window Buffer Memory": {
      "ai_memory": [
        [
          {
            "node": "Smart Bill Manager",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Any Subscriptions Due?": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Telegram Message Received": {
      "main": [
        [
          {
            "node": "Smart Bill Manager",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send a chat action",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet in Google Sheets": {
      "ai_tool": [
        [
          {
            "node": "Smart Bill Manager",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Read Subscriptions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet in Google Sheets": {
      "ai_tool": [
        [
          {
            "node": "Smart Bill Manager",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - AI 聊天机器人, 多模态 AI

需要付费吗?

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

工作流信息
难度等级
高级
节点数量20
分类2
节点类型16
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

外部链接
在 n8n.io 查看

分享此工作流