PDFドキュメントアシスタント2.0

上級

これはAI Summarization, Multimodal AI分野の自動化ワークフローで、18個のノードを含みます。主にCode, Gmail, Webhook, GoogleSheets, Agentなどのノードを使用。 GPTとo4-miniを使って法律文書を分析し、GmailとGoogle Sheetsと連携する

前提条件
  • Googleアカウント + Gmail API認証情報
  • HTTP Webhookエンドポイント(n8nが自動生成)
  • Google Sheets API認証情報
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "Xbp4biTknbF4qzQn",
  "meta": {
    "instanceId": "01315f1c846bfd70e3e2583db51235f2f99644f5668e2fe5a10753a63b05a8a7",
    "templateCredsSetupCompleted": true
  },
  "name": "PDF Document Assistant 2.0",
  "tags": [],
  "nodes": [
    {
      "id": "cacbb1dc-cb5b-4d1f-b9ea-ce113a6e73f4",
      "name": "ファイルから抽出",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -380,
        340
      ],
      "parameters": {
        "options": {},
        "operation": "pdf",
        "binaryPropertyName": "=data"
      },
      "typeVersion": 1
    },
    {
      "id": "5ac09271-d72b-43c4-95f1-101cf54d2397",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -660,
        180
      ],
      "webhookId": "b840eb14-cc32-4158-a31c-5ab47fb6b0e3",
      "parameters": {
        "path": "upload-pqx92oa",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "d93476b3-aafd-450e-8a75-06514af95530",
      "name": "AIエージェント",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1000,
        340
      ],
      "parameters": {
        "text": "=You are an advanced AI document review assistant embedded in an automated workflow. A user has submitted a PDF for structured review. Your role is to help the user fully understand the document by performing a detailed, insightful analysis and delivering a polished, professional response via email.\n\nYour output should reflect **expert-level comprehension**, not surface-level summaries. Aim for **depth, precision, and clarity** throughout. Treat each section of the document as if preparing a report for a legal, compliance, or business-critical audience.\n\nYou are provided with:\n- Name: {{ $json.name }}\n- Email: {{ $json.email }}\n- Extracted PDF Text: {{ $json.full_summary }}\n- Name of File in Subject Title:\n\nYour response must be:\n- Addressed directly to the user (by name)\n- Professionally written and ready for email delivery\n- Fully structured, richly formatted, and highly detailed\n\n---\n\n## 🔍 Your Tasks:\n\n### 1. Identify and Classify the Document Type\n\nBegin with a short section titled **“Document Type”**.\n\n- Analyze the content, language, and structure to determine the specific type of document, such as:  \n  **contract**, **employment agreement**, **project proposal**, **policy document**, **business plan**, **financial report**, **technical manual**, etc.\n  \n- Do **not** simply say \"Legal\" or \"Non-legal.\" Instead, **state the actual document category** and its apparent purpose.\n\n- If it is a legal document, explicitly state:  \n  > “This appears to be a legal document: [type]”  \n  and proceed to the legal clause analysis.\n\n- If it is not a legal document, still identify and state the exact type and purpose clearly. Example:  \n  > “This appears to be a business strategy document focused on product launch planning.”\n\nBe confident but not speculative — only classify based on what’s clearly supported by the content.\n\n\n---\n\n### 2. Chapter-by-Chapter Summary and Deep Analysis\n\nReview the document **in structured order**, chapter by chapter, section by section (or by major headings if chapters are not explicitly labeled).\n\nFor each chapter or major section:\n\n- Begin with a bold heading in this format:  \n  > **Chapter 1: [Section Title]**\n\n- Provide a **thorough multi-paragraph analysis** covering:\n  - The **main ideas or arguments** expressed\n  - Any **supporting evidence, examples, or rationale**\n  - The **intent or strategic purpose** behind the section\n  - How the section contributes to or supports the overall goals of the document\n\n- Expand on:\n  - Any **assumptions**, **biases**, or **limitations** in the content\n  - Key **stakeholders** referenced or implied\n  - What the section **means for the reader** or decision-maker\n\n- Highlight any:\n  - 🟨 Inconsistencies or contradictions\n  - ⚠️ Risks or red flags (if applicable)\n  - 💡 Strategic or operational insights\n\nApproach each section as if you are writing a standalone **mini-report** — not a surface-level summary. Provide context, clarity, and insight. Be analytical, not just descriptive.\n\n---\n\n### 3. If Legal, Perform Legal-Specific Review\n\nIf the document is legal in nature, begin this section with:\n\n> _“This appears to be a legal document.”_\n\nThen conduct a structured legal analysis with the following breakdown:\n\n---\n\n- 🧾 **Key Clauses**  \n  Identify and briefly explain the most important clauses, grouped by category where applicable:\n  - **Parties & Scope**\n  - **Rights and Responsibilities**\n  - **Payment Terms**\n  - **Termination & Exit Clauses**\n  - **Liability & Indemnity**\n  - **Confidentiality / IP Ownership**\n  - Any other key legal mechanisms\n\n---\n\n- 🚩 **Red Flags or Areas of Concern**  \n  List any elements that could introduce risk, confusion, or legal exposure, such as:\n  - Ambiguous or undefined terms\n  - One-sided obligations or power imbalance\n  - Vague or missing exit terms\n  - Loopholes or conflicting provisions\n  - Unusual penalty structures\n\n---\n\n- 🧠 **Inferred Conclusions**  \n  Based on the document’s tone, structure, and content:\n  - What is the **true strategic purpose** or intent behind the document?\n  - What risks, responsibilities, or long-term obligations are implied — even if not explicitly stated?\n  - What **assumptions** does the document appear to make?\n  - Is the document **balanced**, or does it favor one party?  \n    - If imbalanced, explain **how** and **in whose favor** (e.g., language favoring employer, vendor, landlord, etc.)\n  - Does the document reflect a **standard template**, or something tailored and possibly aggressive?\n\nConclude this section with a brief opinion:  \n> “Overall, this document appears [balanced/imbalanced], leaning in favor of [Party A/Party B], with [low/moderate/high] legal risk exposure based on the language and structure.”\n\n---\n\n### 4. If Not Legal, Provide Business/Contextual Insights\n\nIf the document is not legal in nature, continue with a detailed, chapter-by-chapter analysis.\n\nAlso extract and summarize the following:\n\n- 📌 **Actionable Insights**  \n  Identify any suggestions, decisions, or next steps the reader or organization should consider.\n\n- 📊 **Themes, Trends, or Conclusions**  \n  Highlight key messages, repeated patterns, overall direction, or stated conclusions.\n\n- 🔍 **Strategic Implications**  \n  What does the document imply about the organization’s goals, priorities, risks, or competitive position?\n\n- 🧱 **Operational Notes**  \n  Extract any timelines, deliverables, roles/responsibilities, or execution plans.\n\n- 💡 **Assumptions or Unspoken Context**  \n  Point out any implicit assumptions, missing data, or background context the reader should be aware of.\n\n- ❓ **Questions or Ambiguities**  \n  Identify unclear sections, vague terms, or places where clarification may be needed.\n\nThe goal is to help the user **understand not just what the document says, but what it means and why it matters.**\n\n---\n\n### 5. **Finish with a Professional Closing Message**\n- Thank the user by name\n- Inform them this analysis is automatically generated\n- Encourage follow-up review if the document is critical or sensitive\n\n---\n\n## 🧾 Tone & Format Guidelines:\n- Professional, helpful, and articulate\n- Use section headers, bullet points, and bold formatting to structure your output\n- Avoid legal speculation outside the text’s content\n- Write as though this is being sent to a C-suite executive, legal advisor, or stakeholder\n\n---\n\n## 📬 Final Output Format:\nOutput **only the email-style response** to the user. Do not include prompts, commentary, or instruction headers. Begin directly with content. Your structure should include the following:\n\n- **Document Type**\n- **Chapter-by-Chapter Summary**\n- **Key Clauses** (if legal)\n- **Red Flags / Observations**\n- **Inferred Conclusions**\n- **Recommendations / Next Steps**\n- **Professional Closing**\n- **Disclaimer**\n\n---\n\n### ⚠️ Include this disclaimer at the bottom of the email:\n\n> _Disclaimer: This review has been automatically generated by an AI document assistant. It is intended to provide insight and aid understanding, but does not constitute legal or professional advice. For high-stakes or binding decisions, we strongly recommend consulting with a qualified professional._\n\n\nNow begin your response.\n\n \n\n“You are responding via an HTML email using the Gmail node in n8n. Format all output in clean, professional HTML using:\n\n<strong> for bold.</strong>\"\n\n##this is an exact sample to use below##:\n\n<p>Dear {{ $json.name }},</p>\n\n<p>Thank you for submitting your document for analysis. Below is a detailed, AI-generated review based on the contents provided.</p>\n\n<p><strong>📘 Document Type:\n[Clearly state only what kind of document, e.g., contract, policy, NDA, report, etc.]\n</p>\n\n<p><strong>🧾 Chapter-by-Chapter Summary:</strong></p>\n<ul>\n  <li><strong>Chapter 1: [Title]</strong><br>\n  [Detailed explanation of this chapter’s contents, its intent, key ideas, implications, and how it fits the overall document.]</li>\n  <li><strong>Chapter 2: [Title]</strong><br>\n  [Continue same structure with depth, clarity, and professional interpretation.]</li>\n  <!-- Add more chapters as needed -->\n</ul>\n\n<p><strong>📑 Key Clauses Identified:</strong></p>\n<ul>\n  <li><strong>Confidentiality:</strong> [Summarize how confidential information is defined and protected]</li>\n  <li><strong>Termination:</strong> [Conditions under which the agreement can be ended]</li>\n  <li><strong>Liability:</strong> [Limits of responsibility and potential exposures]</li>\n  <!-- Add more if relevant -->\n</ul>\n\n<p><strong>🚩 Red Flags or Areas of Concern:</strong></p>\n<ul>\n  <li>[Example: Unilateral termination clauses that may favor one party disproportionately]</li>\n  <li>[Example: Vague definitions that could create legal loopholes]</li>\n</ul>\n\n<p><strong>🧠 Inferred Conclusions:</strong></p>\n<ul>\n  <li>This document is structured to legally formalize [insert purpose, e.g., a service relationship, IP transfer, etc.]</li>\n  <li>Language suggests [potential drafting bias / strategic intent]</li>\n  <li>The agreement may pose [insert type of risk: financial, legal, operational] due to [insert reasoning]</li>\n</ul>\n\n<p><strong>✅ Recommendations:</strong></p>\n<ul>\n  <li>Consider having a legal expert review clauses marked as high-risk</li>\n  <li>Seek clarification on any undefined or ambiguous terms before signing</li>\n  <li>Ensure all business-critical terms (IP, termination, liability) align with your goals</li>\n</ul>\n\n<p>Best regards,<br>\n<strong>Swot AI - Your Smart PDF Assistant</strong></p>\n<p></p>\n<p style=\"margin-top: 1.5rem;\">\n  <a href=\"mailto:swot.ai25@gmail.com\" style=\"background: #cb1b2c; color: white; padding: 0.6rem 1rem; text-decoration: none; border-radius: 6px; font-weight: bold;\">\n    💬 Want to leave a quick comment?\n  </a>\n</p>\n\n<p></p>\n<p></p>\n\n<p style=\"font-size: 0.8rem; color: #555; line-height: 1.4; margin-top: 2rem;\">\n<em><strong>Disclaimer:</strong> This review was automatically generated by an AI document assistant. It is intended to provide insights and aid understanding but does not constitute legal or professional advice. For critical decisions or binding interpretations, we strongly recommend consulting with a qualified legal or subject matter expert.</em></p>\n",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "5704b0f7-6f96-44b9-b804-b8d42043f0dd",
      "name": "OpenAI チャットモデル",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1100,
        620
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "o4-mini-2025-04-16",
          "cachedResultName": "o4-mini-2025-04-16"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "fUHNT1hC50OnGEAO",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "6eb4a414-e654-43ae-8193-e4935db5e5ba",
      "name": "Gmail1",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1460,
        340
      ],
      "webhookId": "9c995f46-1437-46a3-a156-9d08665a3010",
      "parameters": {
        "sendTo": "={{ $('Code1').item.json.email }}",
        "message": "={{ $json.output }}",
        "options": {
          "senderName": "Swot AI",
          "appendAttribution": false
        },
        "subject": "=Summary of your attached Document- {{ $('Code1').item.json.title }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "iy7pzUaLse5xLXbV",
          "name": "Gmail account 3"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "d0541618-d148-4f89-9dd1-9576fe6102d0",
      "name": "コード",
      "type": "n8n-nodes-base.code",
      "position": [
        -140,
        340
      ],
      "parameters": {
        "jsCode": "const chunkSize = 4000; // characters per chunk\n\nconst text = $input.first().json.text ?? \"\";\nconst name = $(\"Webhook\").first().json.body.name;\nconst email = $(\"Webhook\").first().json.body.email;\nconst title = $input.first().json.info.Title;\n\nconst chunks = [];\n\nfor (let i = 0; i < text.length; i += chunkSize) {\n  chunks.push({\n    chunk: text.slice(i, i + chunkSize),\n    chunkIndex: i / chunkSize + 1,\n    name,\n    email,\n    title,\n  });\n}\n\nreturn chunks.map((c) => ({ json: c }));\n"
      },
      "typeVersion": 2
    },
    {
      "id": "64daaffc-b164-4812-8581-af0122001500",
      "name": "OpenAI チャットモデル1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        260,
        580
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-3.5-turbo",
          "cachedResultName": "gpt-3.5-turbo"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "fUHNT1hC50OnGEAO",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "59619b79-7428-4dea-9e3c-e13648f30064",
      "name": "基本LLMチェーン",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        200,
        340
      ],
      "parameters": {
        "text": "=Summarize the following section of a document. Retain legal terms, obligations, or business meaning.\n\n{{ $json.chunk }}\n",
        "batching": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "3f2ec94f-7b26-4088-98db-f15a737b9c86",
      "name": "コード1",
      "type": "n8n-nodes-base.code",
      "position": [
        660,
        340
      ],
      "parameters": {
        "jsCode": "const summaries = items.map(item => item.json.text || item.json.output || item.json.chunk || \"\");\n\nreturn [{\n  json: {\n    full_summary: summaries.join(\"\\n\\n\"),\n    name: $('Code').first().json.name,\n    email: $('Code').first().json.email,\n    title: $('Code').first().json.title\n  }\n}];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "1c4a2473-afaa-4e9b-844e-847eaa4f89ae",
      "name": "Webhook へ返信",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        -280,
        -60
      ],
      "parameters": {
        "options": {
          "responseCode": 302,
          "responseHeaders": {
            "entries": [
              {
                "name": "Content-Type",
                "value": "text/html"
              }
            ]
          }
        },
        "redirectURL": "https://swot-ai25.github.io/pdf-document-assistant/success.html",
        "respondWith": "redirect"
      },
      "typeVersion": 1.3
    },
    {
      "id": "a970c4d6-36f2-4387-93d3-1d52de3dcd2d",
      "name": "Google スプレッドシート",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1880,
        340
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ $now.toFormat('dd-LL-yyyy') }}",
            "Time": "={{ $now.toFormat('HH:mm') }}",
            "Name ": "={{ $('Code1').item.json.name }}",
            "Email ": "={{ $('Code1').item.json.email }}",
            "Status": "={{ $json.labelIds[0] }}",
            "Filename": "={{ $('Code1').item.json.title }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Time",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Name ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Filename",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Filename",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Size",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Size",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Number of Pages",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Number of Pages",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "threadId",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "threadId",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "labelIds",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "labelIds",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16eDhxjB3ZEpb9-zWaBxAX0z4xhsb-aQfTWqeGvQaNI0/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "16eDhxjB3ZEpb9-zWaBxAX0z4xhsb-aQfTWqeGvQaNI0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16eDhxjB3ZEpb9-zWaBxAX0z4xhsb-aQfTWqeGvQaNI0/edit?usp=drivesdk",
          "cachedResultName": "SwotAI_Users"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "3xlliaCfqO7W8sCV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "7a523ce5-cb91-401d-93b4-aa62fec739d3",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -760,
        0
      ],
      "parameters": {
        "height": 380,
        "content": "## Entry point — \n**receives uploaded PDF via POST request.** "
      },
      "typeVersion": 1
    },
    {
      "id": "e3b6121a-45bb-44ae-9169-0dd4126ad675",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        200
      ],
      "parameters": {
        "width": 320,
        "height": 320,
        "content": "## 🟨 Code (pre-processing)\n**Clean/format the extracted text (remove line breaks, non-text content, etc.)**"
      },
      "typeVersion": 1
    },
    {
      "id": "3f9a3e21-7d9a-48d3-b66a-c0f83159c0bb",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        60
      ],
      "parameters": {
        "height": 560,
        "content": "## 🟨 AI Agent\n****📌 Central intelligence. Handles prompts, memory, and reasoning.\n\n📌 Uses OpenAI Chat Model for deeper analysis.\n\n📌 Configurable to extract clauses, answer questions, or generate insights.** to edit me."
      },
      "typeVersion": 1
    },
    {
      "id": "424540ff-40d1-4c75-9b84-35d5c5366e3e",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        140
      ],
      "parameters": {
        "width": 300,
        "height": 640,
        "content": "## 🟨 Basic LLM Chain \n* First AI pass: summarization / restructuring of document content.*\n\n Connected to OpenAI Chat Model1 for text understanding.**"
      },
      "typeVersion": 1
    },
    {
      "id": "2d1e46b9-f72a-40f7-87f5-1a3aaacd3db0",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        920,
        60
      ],
      "parameters": {
        "width": 380,
        "height": 700,
        "content": "##🟨 AI Agent\n\n**📌 Central intelligence. Handles prompts, memory, and reasoning.\n📌 Uses OpenAI Chat Model for deeper analysis.\n📌 Configurable to extract clauses, answer questions, or generate insights.** to edit me.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "62d5aae6-e7d0-41a6-98a1-0eb95aa89ac9",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -240
      ],
      "parameters": {
        "width": 400,
        "height": 340,
        "content": "## 🟨 Respond to Webhook\n\n**📌 Sends immediate acknowledgment back to the client after upload.** to edit me."
      },
      "typeVersion": 1
    },
    {
      "id": "8643df4f-0146-4aac-9177-be2a69b370ed",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        120
      ],
      "parameters": {
        "width": 360,
        "height": 460,
        "content": "## 🟨 Gmail\n\n**📌 Sends formatted results to the user (summary, clauses, flagged risks, etc.).\n"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1"
  },
  "versionId": "9a8282dd-88c0-4535-8427-662d9c25118e",
  "connections": {
    "d0541618-d148-4f89-9dd1-9576fe6102d0": {
      "main": [
        [
          {
            "node": "59619b79-7428-4dea-9e3c-e13648f30064",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3f2ec94f-7b26-4088-98db-f15a737b9c86": {
      "main": [
        [
          {
            "node": "d93476b3-aafd-450e-8a75-06514af95530",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6eb4a414-e654-43ae-8193-e4935db5e5ba": {
      "main": [
        [
          {
            "node": "a970c4d6-36f2-4387-93d3-1d52de3dcd2d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5ac09271-d72b-43c4-95f1-101cf54d2397": {
      "main": [
        [
          {
            "node": "cacbb1dc-cb5b-4d1f-b9ea-ce113a6e73f4",
            "type": "main",
            "index": 0
          },
          {
            "node": "1c4a2473-afaa-4e9b-844e-847eaa4f89ae",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d93476b3-aafd-450e-8a75-06514af95530": {
      "main": [
        [
          {
            "node": "6eb4a414-e654-43ae-8193-e4935db5e5ba",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "59619b79-7428-4dea-9e3c-e13648f30064": {
      "main": [
        [
          {
            "node": "3f2ec94f-7b26-4088-98db-f15a737b9c86",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cacbb1dc-cb5b-4d1f-b9ea-ce113a6e73f4": {
      "main": [
        [
          {
            "node": "d0541618-d148-4f89-9dd1-9576fe6102d0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5704b0f7-6f96-44b9-b804-b8d42043f0dd": {
      "ai_languageModel": [
        [
          {
            "node": "d93476b3-aafd-450e-8a75-06514af95530",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "64daaffc-b164-4812-8581-af0122001500": {
      "ai_languageModel": [
        [
          {
            "node": "59619b79-7428-4dea-9e3c-e13648f30064",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

上級 - AI要約, マルチモーダルAI

有料ですか?

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

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

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

作成者
Swot.AI

Swot.AI

@swotai

Automation consultant with over 5 years experience helping Individuals and teams to streamline their processes. Use my link to book an initial consultation for custom n8n work.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34