AI および Gmail を使って YNAB 内の Amazon 取引の備考を自動更新

上級

これはDocument Extraction, AI Summarization分野の自動化ワークフローで、30個のノードを含みます。主にIf, Set, Wait, Gmail, Webhookなどのノードを使用。 AIとGmailを使ってYNABのAmazon取引コメントを自動更新

前提条件
  • Googleアカウント + Gmail API認証情報
  • HTTP Webhookエンドポイント(n8nが自動生成)
  • ターゲットAPIの認証情報が必要な場合あり
  • OpenAI API Key

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "03e9d14e9196363fe7191ce21dc0bb17387a6e755dcc9acc4f5904752919dca8",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "6ee18fe3-405a-49a3-8f86-11ccefda3548",
      "name": "「Test workflow」クリック時",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -864,
        160
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5571fbfd-9c84-445a-9972-792dcb2a9e42",
      "name": "次の取引を確認",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2752,
        32
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d5b14c55-eac1-4bbb-9e94-42a4ebd641e1",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -864,
        16
      ],
      "webhookId": "1c756ff4-2cf9-4570-b633-b2d8d193475b",
      "parameters": {
        "path": "1c756ff4-2cf9-4570-b633-b2d8d193475b",
        "options": {},
        "authentication": "basicAuth"
      },
      "credentials": {
        "httpBasicAuth": {
          "id": "xxrkmwLKTSvujNH4",
          "name": "n8n internal"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "3bd820de-86fe-4ddf-a876-fc7756cd0162",
      "name": "スケジュールトリガー",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -864,
        -128
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2810da77-72ac-4ee3-b563-ef0a71d0a5f7",
      "name": "電卓",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        2112,
        -48
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "70f26d90-fffb-491b-9895-32bdd9d29ed5",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1920,
        -48
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "jQgIuototc3X8Idi",
          "name": "n8n Marketing Open AI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7df5e6bf-e3b9-41a5-a406-285ff502f665",
      "name": "付箋メモ",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        -400
      ],
      "parameters": {
        "color": 7,
        "width": 720,
        "height": 768,
        "content": "![YNAB](https://upload.wikimedia.org/wikipedia/commons/thumb/d/d4/YNAB_logo.svg/115px-YNAB_logo.svg.png)\n## Trigger and Get YNAB Transactions\nThis workflow can be triggered several different ways. Ideally, it runs on a schedule every hour, and when new transactions are found, the memo fields are automatically updated. "
      },
      "typeVersion": 1
    },
    {
      "id": "34f849a7-fb42-4eb8-951d-ede8d2102381",
      "name": "未承認取引を全て取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -352,
        48
      ],
      "parameters": {
        "url": "=https://api.ynab.com/v1/budgets/{{ $json.budgetid }}/transactions",
        "options": {},
        "sendQuery": true,
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "type",
              "value": "unapproved"
            }
          ]
        },
        "nodeCredentialType": "ynabApi"
      },
      "credentials": {
        "ynabApi": {
          "id": "LAMbpNc7ufRN2Yic",
          "name": "YNAB account"
        },
        "httpHeaderAuth": {
          "id": "8Yr1tAjoggYWKgcJ",
          "name": "YNAB Auth"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "79d3aa72-8fce-4367-a6c2-eb0cb59406e6",
      "name": "取引を分割",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -96,
        48
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "data.transactions"
      },
      "typeVersion": 1
    },
    {
      "id": "221a624e-815e-4a56-9096-7e9e3030a2d5",
      "name": "必要データを抽出",
      "type": "n8n-nodes-base.set",
      "position": [
        128,
        48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "24124c97-17e7-4468-a332-6831e86ea9fb",
              "name": "date",
              "type": "string",
              "value": "={{ $json.date }}"
            },
            {
              "id": "d73d6405-59d7-4b0a-ad73-9bb6aad9f111",
              "name": "amount",
              "type": "number",
              "value": "={{ ($json.amount / 1000).toFixed(2) }}"
            },
            {
              "id": "a9c66b70-5d1b-445c-a13e-64df994f7770",
              "name": "account_name",
              "type": "string",
              "value": "={{ $json.account_name }}"
            },
            {
              "id": "53eae7b8-c39c-4774-8240-856ba70cbb0b",
              "name": "payee_name",
              "type": "string",
              "value": "={{ $json.payee_name }}"
            },
            {
              "id": "da81f003-5597-4bd3-b303-96493bc20519",
              "name": "category_name",
              "type": "string",
              "value": "={{ $json.category_name }}"
            },
            {
              "id": "315e5b5c-aece-4988-b42f-0872d090e0c0",
              "name": "import_payee_name_original",
              "type": "string",
              "value": "={{ $json.import_payee_name_original }}"
            },
            {
              "id": "4bd06ea6-b7d7-411f-a402-cb31e56ad03c",
              "name": "approved",
              "type": "boolean",
              "value": "={{ $json.approved }}"
            },
            {
              "id": "9167c3ce-e2c6-4b30-a1e2-e29910aceebd",
              "name": "transaction_id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "ec4079ad-5aed-4bb7-9a06-97631f796ed3",
              "name": "account_id",
              "type": "string",
              "value": "={{ $json.account_id }}"
            },
            {
              "id": "ccdcc857-8465-4455-bd93-59d7d998dc22",
              "name": "memo",
              "type": "string",
              "value": "={{ $json.memo }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e9062f61-44e0-464f-ba76-8303650244a0",
      "name": "Amazon購入か確認",
      "type": "n8n-nodes-base.if",
      "position": [
        352,
        48
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "19aaf513-c93e-4895-8e16-7aef1e5ed2ba",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.payee_name.toLowerCase() }}",
              "rightValue": "amazon"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "467f2ece-bf82-4526-ab99-11ebce6e2662",
      "name": "メモ欄が空か確認",
      "type": "n8n-nodes-base.if",
      "position": [
        576,
        48
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "5330bad2-50b5-470d-8c5a-5a877ec481a5",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.memo }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "51438377-a3e4-4224-be1d-2d7b7fb0f63c",
      "name": "取引をループ処理",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        800,
        -16
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "062a5050-9e21-4e16-9126-9b84108a51d0",
      "name": "レート制限回避のため5秒待機",
      "type": "n8n-nodes-base.wait",
      "position": [
        2992,
        32
      ],
      "webhookId": "800d4979-691b-4c02-af75-467ee9e767ad",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "094e245a-ab4a-4b3d-b60c-bac5d23028e8",
      "name": "取引メモ欄を更新",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2560,
        -240
      ],
      "parameters": {
        "url": "=https://api.ynab.com/v1/budgets/{{ $('BudgetID').item.json.budgetid }}/transactions/{{ $('Loop Over Transactions').item.json.transaction_id }}",
        "method": "PUT",
        "options": {},
        "jsonBody": "={\n  \"transaction\": {\n    \"memo\": \"{{ ($json.output || '')\n    .replace(/[\\\\\\n\\r\\t\"]/g, ' ')   // remove backslashes, newlines, tabs, quotes\n    .replace(/\\s+/g, ' ')           // collapse extra spaces\n    .trim()\n    .slice(0, 499) }}\"\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "ynabApi"
      },
      "credentials": {
        "ynabApi": {
          "id": "LAMbpNc7ufRN2Yic",
          "name": "YNAB account"
        },
        "httpHeaderAuth": {
          "id": "8Yr1tAjoggYWKgcJ",
          "name": "YNAB Auth"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "c8db0869-a551-4e56-84bc-d3c99ccd8d83",
      "name": "エラーでメモを更新",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2528,
        32
      ],
      "parameters": {
        "url": "=https://api.ynab.com/v1/budgets/{{ $('BudgetID').item.json.budgetid }}/transactions/{{ $('Loop Over Transactions').item.json.transaction_id }}",
        "method": "PUT",
        "options": {},
        "jsonBody": "={\n  \"transaction\": {\n    \"memo\": \"No valid purchase information found.\"\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "ynabApi"
      },
      "credentials": {
        "ynabApi": {
          "id": "LAMbpNc7ufRN2Yic",
          "name": "YNAB account"
        },
        "httpHeaderAuth": {
          "id": "8Yr1tAjoggYWKgcJ",
          "name": "YNAB Auth"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3c1f3a54-c2ee-4a50-9cea-8ac85cce3bb3",
      "name": "取引金額でメールを検索",
      "type": "n8n-nodes-base.gmail",
      "notes": "Within 5 day range",
      "position": [
        1056,
        16
      ],
      "webhookId": "a2e46469-783f-4a8e-b079-0dd479b1f485",
      "parameters": {
        "simple": false,
        "filters": {
          "q": "={{ ($json.amount * -1).toFixed(2) }}",
          "receivedAfter": "={{ $json.date.toDateTime().minus(5,'day') }}",
          "receivedBefore": "={{ $json.date.toDateTime().plus(5,'day')  }}"
        },
        "options": {},
        "operation": "getAll"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "35",
          "name": "Angel Personal Gmail"
        }
      },
      "notesInFlow": true,
      "typeVersion": 2.1,
      "alwaysOutputData": true
    },
    {
      "id": "3bddaecc-ee49-4b66-bf29-4746385c892d",
      "name": "メールが見つかったか確認",
      "type": "n8n-nodes-base.if",
      "position": [
        1248,
        16
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "7a24b35c-682a-4e58-9538-8d8a46e0e502",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.id }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "9d6dc5c7-1a44-437d-b78f-deee027a8b75",
      "name": "メールを整形",
      "type": "n8n-nodes-base.set",
      "position": [
        1472,
        -224
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1be94e55-fe3b-4191-98f2-19982bdab5a1",
              "name": "message",
              "type": "string",
              "value": "={{ $json.headers.to }}\n{{ $json.headers.from }}\nDate: {{ $json.date }}\nSubject: {{ $json.subject }}\nText HTML: {{ $json.html }}\n"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "de8842de-e2e3-4ba7-99d2-0abfe8355e1e",
      "name": "メールを結合",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1696,
        -224
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "renameField": true,
              "outputFieldName": "messages",
              "fieldToAggregate": "message"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "dbd5a80a-207e-4bfc-9d4f-6f7f47bd5c79",
      "name": "メモAIエージェント",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1920,
        -224
      ],
      "parameters": {
        "text": "=Transaction Information:\nTransaction Date: {{ $('Loop Over Transactions').item.json.date }}\nAmount: {{ $('Loop Over Transactions').item.json.amount }}\nPayee: {{ $('Loop Over Transactions').item.json.payee_name }}\nPayee Line: {{ $('Loop Over Transactions').item.json.import_payee_name_original }}\n\nEmail Information:\n{{ $json.messages }}",
        "options": {
          "systemMessage": "=You are an intelligent parser and summarizer for purchase confirmation emails. You will receive one or more emails related to an Amazon purchase, including possible duplicates, shipping notices, delivery confirmations, or irrelevant messages.\n\nYour task:\n\n1. **Determine which email(s)** contain the most *complete and accurate purchase information* — that means product names and prices from the order confirmation or payment receipt, not shipping or delivery notices.\n2. **Extract all purchased items and their prices** from the most relevant email(s). If multiple emails contain overlapping information, deduplicate and keep the clearest version.\n3. **Summarize** the purchase in a single, concise line suitable for a YNAB transaction memo, with a strict limit of **499 characters**.\n4. Format your summary as:\n\n   ```\n   Item1 ($X), Item2 ($Y), Item3 ($Z) — Total $TOTAL\n   ```\n\n   Abbreviate item names as needed to fit within the limit while keeping them understandable.\n5. If the email set doesn’t contain a valid purchase receipt, respond with:\n\n   ```\n   No valid purchase information found.\n   ```\n\nGuidelines:\n\n* Prioritize **accuracy of prices** and **clarity of product names**.\n* Ignore shipping details, delivery updates, recommendations, or unrelated text.\n* Only include **items actually purchased**.\n* If multiple identical items were bought, include a count like `2x Charger ($15 each)`.\n* If an email contains multiple orders, only include details for the order in question, by figuring out what items in the email match the Transaction Information. Only output items above the Order Total that matches the transaction amount (even if there is no specific amount for each. If there is no specific amount for each item then just output the items without the price, but ensure to include the items).\n\nYou have the following tools to help with calculating values:\n{tools}\n\n\nOutput only the final summary line or no valid purchase line, nothing else.\n"
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "db7390de-f066-441f-bf54-e8960e69fbba",
      "name": "AIが項目を解析可能か確認",
      "type": "n8n-nodes-base.if",
      "position": [
        2304,
        -224
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "1837942d-4a55-4e7c-bc6c-cebee7d19648",
              "operator": {
                "type": "string",
                "operation": "notContains"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "No valid purchase information found."
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "8f7951b9-c3a1-4909-ad55-80b251461002",
      "name": "付箋メモ1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -160
      ],
      "parameters": {
        "color": 7,
        "width": 720,
        "height": 384,
        "content": "## Filter out unneeded Transactions\nThe workflow first extracts the transactions, then it extracts only the data needed to process the memo. Then it checks if it's an Amazon transaction, and if the memo field is up empty or not."
      },
      "typeVersion": 1
    },
    {
      "id": "1445b7c0-7691-416a-b794-593fb8cb7e36",
      "name": "付箋メモ2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        544,
        -176
      ],
      "parameters": {
        "color": 7,
        "height": 400,
        "content": "## Loop through Transactions\nFrom there, each of the transactions is processed individually. "
      },
      "typeVersion": 1
    },
    {
      "id": "7e62c4a0-d0e6-42bc-9a82-489c0e3fcc62",
      "name": "付箋メモ3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        -368
      ],
      "parameters": {
        "color": 7,
        "width": 848,
        "height": 592,
        "content": "## Analyze Emails for Transaction Data\nFirst, the email account is searched for emails from Amazon. It checks 5 days before and after the transaction ensure that it's not missed. From there the emails are smushed together into a single JSON object to pass along into the AI Agent. "
      },
      "typeVersion": 1
    },
    {
      "id": "1121b31a-268d-47af-841c-34ac45565cf5",
      "name": "付箋メモ4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2032,
        -416
      ],
      "parameters": {
        "color": 7,
        "width": 896,
        "height": 640,
        "content": "## Update Memo Field and Move on to next Transaction\nFrom there, the memo field is updated on each Transaction. If the AI was able to find the price data it needs, it uses that to update the memo field. The memo field is limited to around 500 characters, so it has to make the item names more concise. If items are not found, it updates the memo with a hardcoded message to let you know that you need to locate it yourself. This also prevents a transaction from constantly running through the AI agent. At the end we have a rate limiting wait to ensure the AI doesn't get overwhelmed with too many requests at once. Check your AI model API limits to set the wait value correctly. "
      },
      "typeVersion": 1
    },
    {
      "id": "f92b9e36-eae9-41bc-86cb-cf3bc70019bd",
      "name": "付箋メモ5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1664,
        -608
      ],
      "parameters": {
        "color": 7,
        "width": 352,
        "height": 832,
        "content": "## Use AI to Extract information\nThe AI agent then receives all the emails and the transaction information, and uses that to extract the information needed using the System Prompt. You can use any AI you wish, but your results may vary. \n- ChatGPT is currently best for this, however it's the most expensive. \n- Google Gemini has a free tier, however it's limited depending on your model.\n\n\n⚠️ _Warning: I am feeding the AI the most verbose emails to ensure items are found even in hidden HTML fields, but it can be updated to reduce cost by adding an html to markdown converter which may help reduce tokens at the cost of accuracy._"
      },
      "typeVersion": 1
    },
    {
      "id": "3559c8c5-e554-467e-9c28-ea05a2d0d02e",
      "name": "付箋メモ6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -656,
        -128
      ],
      "parameters": {
        "color": 3,
        "width": 256,
        "height": 352,
        "content": "### Update with your budget id\nTo get the budget ID, login to the app, and look in your url for the portion with Xs in my example. Update the URL with it: https://app.ynab.com/XXXXXXXX-XXX-XXX-XXX-XXXXXXX/budget"
      },
      "typeVersion": 1
    },
    {
      "id": "974d2930-8924-4ced-b818-0ff7e6ae2f31",
      "name": "メールが見つかりません",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1600,
        32
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "209cb59b-fa92-4695-9fcc-14a2d0c31483",
      "name": "BudgetID",
      "type": "n8n-nodes-base.set",
      "position": [
        -576,
        48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "33f4d69a-598d-4d78-8586-b8b2cd6e2d75",
              "name": "budgetid",
              "type": "string",
              "value": "XXXXX"
            }
          ]
        }
      },
      "typeVersion": 3.4
    }
  ],
  "pinData": {
    "When clicking ‘Test workflow’": [
      {}
    ]
  },
  "connections": {
    "d5b14c55-eac1-4bbb-9e94-42a4ebd641e1": {
      "main": [
        [
          {
            "node": "209cb59b-fa92-4695-9fcc-14a2d0c31483",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "209cb59b-fa92-4695-9fcc-14a2d0c31483": {
      "main": [
        [
          {
            "node": "34f849a7-fb42-4eb8-951d-ede8d2102381",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2810da77-72ac-4ee3-b563-ef0a71d0a5f7": {
      "ai_tool": [
        [
          {
            "node": "dbd5a80a-207e-4bfc-9d4f-6f7f47bd5c79",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "9d6dc5c7-1a44-437d-b78f-deee027a8b75": {
      "main": [
        [
          {
            "node": "de8842de-e2e3-4ba7-99d2-0abfe8355e1e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dbd5a80a-207e-4bfc-9d4f-6f7f47bd5c79": {
      "main": [
        [
          {
            "node": "db7390de-f066-441f-bf54-e8960e69fbba",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "974d2930-8924-4ced-b818-0ff7e6ae2f31": {
      "main": [
        [
          {
            "node": "c8db0869-a551-4e56-84bc-d3c99ccd8d83",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3bd820de-86fe-4ddf-a876-fc7756cd0162": {
      "main": [
        [
          {
            "node": "209cb59b-fa92-4695-9fcc-14a2d0c31483",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "70f26d90-fffb-491b-9895-32bdd9d29ed5": {
      "ai_languageModel": [
        [
          {
            "node": "dbd5a80a-207e-4bfc-9d4f-6f7f47bd5c79",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "221a624e-815e-4a56-9096-7e9e3030a2d5": {
      "main": [
        [
          {
            "node": "e9062f61-44e0-464f-ba76-8303650244a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "de8842de-e2e3-4ba7-99d2-0abfe8355e1e": {
      "main": [
        [
          {
            "node": "dbd5a80a-207e-4bfc-9d4f-6f7f47bd5c79",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3bddaecc-ee49-4b66-bf29-4746385c892d": {
      "main": [
        [
          {
            "node": "9d6dc5c7-1a44-437d-b78f-deee027a8b75",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "974d2930-8924-4ced-b818-0ff7e6ae2f31",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5571fbfd-9c84-445a-9972-792dcb2a9e42": {
      "main": [
        [
          {
            "node": "062a5050-9e21-4e16-9126-9b84108a51d0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "51438377-a3e4-4224-be1d-2d7b7fb0f63c": {
      "main": [
        [],
        [
          {
            "node": "3c1f3a54-c2ee-4a50-9cea-8ac85cce3bb3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "79d3aa72-8fce-4367-a6c2-eb0cb59406e6": {
      "main": [
        [
          {
            "node": "221a624e-815e-4a56-9096-7e9e3030a2d5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c8db0869-a551-4e56-84bc-d3c99ccd8d83": {
      "main": [
        [
          {
            "node": "5571fbfd-9c84-445a-9972-792dcb2a9e42",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e9062f61-44e0-464f-ba76-8303650244a0": {
      "main": [
        [
          {
            "node": "467f2ece-bf82-4526-ab99-11ebce6e2662",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "467f2ece-bf82-4526-ab99-11ebce6e2662": {
      "main": [
        [
          {
            "node": "51438377-a3e4-4224-be1d-2d7b7fb0f63c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "094e245a-ab4a-4b3d-b60c-bac5d23028e8": {
      "main": [
        [
          {
            "node": "5571fbfd-9c84-445a-9972-792dcb2a9e42",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "db7390de-f066-441f-bf54-e8960e69fbba": {
      "main": [
        [
          {
            "node": "094e245a-ab4a-4b3d-b60c-bac5d23028e8",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "c8db0869-a551-4e56-84bc-d3c99ccd8d83",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "34f849a7-fb42-4eb8-951d-ede8d2102381": {
      "main": [
        [
          {
            "node": "79d3aa72-8fce-4367-a6c2-eb0cb59406e6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6ee18fe3-405a-49a3-8f86-11ccefda3548": {
      "main": [
        [
          {
            "node": "209cb59b-fa92-4695-9fcc-14a2d0c31483",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3c1f3a54-c2ee-4a50-9cea-8ac85cce3bb3": {
      "main": [
        [
          {
            "node": "3bddaecc-ee49-4b66-bf29-4746385c892d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "062a5050-9e21-4e16-9126-9b84108a51d0": {
      "main": [
        [
          {
            "node": "51438377-a3e4-4224-be1d-2d7b7fb0f63c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - 文書抽出, AI要約

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
上級
ノード数30
カテゴリー2
ノードタイプ16
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

作成者
Angel Menendez

Angel Menendez

@djangelic

Angel Menendez is a Staff Developer Advocate at n8n.io, specializing in low-code tools for cybersecurity workflows. From Puerto Rico, Angel's tech journey began by helping his father translate technical books. He later started a web development business and transitioned from a career as a flight attendant to cybersecurity engineering. His workflows have saved companies significant time. Outside work, Angel enjoys time with his two sons, riding electric bikes, reading, and exploring new places.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34