8
n8n 한국어amn8n.com

회의록에서 프로젝트 요약 생성

중급

이것은Document Extraction, AI Summarization분야의자동화 워크플로우로, 10개의 노드를 포함합니다.주로 Set, Code, Markdown, GoogleDocs, HttpRequest 등의 노드를 사용하며. GPT-4와 Google 문서를 사용하여 회의록에서 프로젝트 요약 생성

사전 요구사항
  • 대상 API의 인증 정보가 필요할 수 있음
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "2HlbXBsdar2SqJK9",
  "meta": {
    "instanceId": "b50483b2122f6dc268662b45507d575d939570ea8e1e086601ebb3b6273c1cfd",
    "templateCredsSetupCompleted": true
  },
  "name": "Generate Project Summary from meeting transcript",
  "tags": [],
  "nodes": [
    {
      "id": "01d49932-017c-4afb-af33-5d6c85bfd7a0",
      "name": "CreateGoogleDoc",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        736,
        32
      ],
      "parameters": {
        "url": "https://www.googleapis.com/upload/drive/v3/files",
        "body": "={{ $json.rawData }}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendQuery": true,
        "contentType": "raw",
        "authentication": "predefinedCredentialType",
        "rawContentType": "multipart/related; boundary=divider",
        "queryParameters": {
          "parameters": [
            {
              "name": "uploadType",
              "value": "multipart"
            },
            {
              "name": "supportsAllDrives",
              "value": "true"
            }
          ]
        },
        "nodeCredentialType": "googleDriveOAuth2Api"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "NzErn7lDOwCSEPj5",
          "name": "Google Drive account - chzainali6363@gmail.com"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "2312d005-6930-4ad7-9043-dfae981c87b9",
      "name": "Markdown",
      "type": "n8n-nodes-base.markdown",
      "position": [
        256,
        32
      ],
      "parameters": {
        "mode": "markdownToHtml",
        "options": {
          "emoji": true,
          "tables": true
        },
        "markdown": "={{ $json.text }}",
        "destinationKey": "html_content"
      },
      "typeVersion": 1
    },
    {
      "id": "2cfbb626-c4a8-45d8-b278-5d8b3b83fc70",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -656,
        -144
      ],
      "parameters": {
        "width": 1792,
        "height": 544,
        "content": "## Create Project Summary from meeting transcript\n\nThis workflow will pick the transcript from the GoogleDocs file and generate project summary and store it in Google Docs with proper headings."
      },
      "typeVersion": 1
    },
    {
      "id": "4d39d4d7-0e66-498e-9784-70721ef27f4c",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        16,
        272
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "gpt-4.1-mini"
        },
        "options": {
          "timeout": 300000,
          "maxTokens": 32768,
          "maxRetries": 2
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "K8T7HIhpd7gMJG20",
          "name": "OpenAi account - Remap"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8a750e1d-88dc-47e6-8476-295fc480d884",
      "name": "워크플로우 실행 시",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -592,
        32
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "8976101d-0619-48b4-8440-bd5ddf47aecd",
      "name": "회의록 가져오기",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        -384,
        32
      ],
      "parameters": {
        "operation": "get",
        "documentURL": "1L05uM0Iovq4gySv6lIUUQhRBKoQzW_FnYr4YEfxu4y8"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "id": "QpLhhpFQnEmw6uPn",
          "name": "Google Docs account- chzainali6363@gmail.com"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "68d8121a-1f60-4c94-858a-3bc3c2d065b6",
      "name": "프로젝트 요약",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -96,
        32
      ],
      "parameters": {
        "text": "=You are a professional project manager and planner, your task is to provide a proper Client summary, you will given a structure of headings with a structure of an existing example of how a client summary would look like, and you will also be given a transcript from which you have to make all of this content from. Ensure everything is proper and take things step by step to ensure clearity. \n\nToday date is: {{ $today }}\n\nThis is an example of the project summary we are expecting you to give from a transcript that will be given to you:\n```\nProject Overview\nDescribe the client's current business or process, key goals, and overall vision discussed in the transcript. Summarize what they do and the context for the automation or technology intervention.\n\nKey Challenges\nHighlight specific issues, pain points, or bottlenecks the client is currently facing. Use direct examples from the transcript wherever possible.\n\nWhat [Your Automation Platform] Will Deliver\nDescribe what the platform/solution will deliver to address the client’s challenges. This section should be broken into specific deliverables (usually 2–4), clearly titled and explained under subheadings. These should reflect the solution areas mentioned in the transcript.\n\n1. [First Deliverable Name]\nExplain what this component is, how it works, and what it solves.\n\n2. [Second Deliverable Name]\nRepeat for additional components.\n\n(Add more sections like ### 3, ### 4 as needed, based on the transcript.)\n\nExpected Business Impact\nDescribe the measurable or expected benefits of this solution for the client. Focus on improvements in efficiency, scale, response time, conversion, cost, etc.\n\n🗓 Project Timeline & Rollout\nProvide a timeline broken down by project phases, using this format:\n\nPhase\tActivities\tDuration\nDiscovery & Planning\tDefine business rules, qualification flow, integration touchpoints\tX business days\n[Setup Phase]\tBuild and test the automation components\tX business days\n[Integration Phase]\tSet up any webhooks, 3rd-party connectors, or API touchpoints\tX business days\nTesting & Launch\tQA all flows and finalize for production use\tX business days\n\nTotal Duration: X Weeks\n```\n\nTranscript, make use of this to provide me the project summary in Markdown format without these ``` and ``` symbols:\n ``` {{ $json.content }} ```",
        "promptType": "define"
      },
      "typeVersion": 1.6
    },
    {
      "id": "509a03c3-24d1-484d-a9e0-dc774cdfab1e",
      "name": "set_fields",
      "type": "n8n-nodes-base.set",
      "position": [
        416,
        32
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e7ee03ac-13e3-4fca-a7bc-57c8fc56dc42",
              "name": "document_name",
              "type": "string",
              "value": "=Project Summary"
            },
            {
              "id": "f9703662-f8c1-4562-ac76-5514bada5439",
              "name": "google_drive_folder_id",
              "type": "string",
              "value": "driveFolderId"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 3.4
    },
    {
      "id": "3475c757-07cb-4ffb-9900-f53dd7ca8813",
      "name": "Prepare_Request",
      "type": "n8n-nodes-base.code",
      "position": [
        576,
        32
      ],
      "parameters": {
        "jsCode": "const boundary = 'divider';\nconst docName = $input.first().json.document_name;\nconst folderId = $input.first().json.google_drive_folder_id;\nconst htmlContent = $('Markdown').first().json.html_content;\n\nconst metadata = JSON.stringify({\n  name: docName,\n  mimeType: \"application/vnd.google-apps.document\",\n  parents: [folderId]\n});\n\nconst htmlWithStyles = `\n<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"UTF-8\">\n  <style>\n    /* Add bottom margin to block elements for spacing */\n    p,\n    ul,\n    ol,\n    table,\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6 {\n      margin-bottom: 10pt;\n    }\n\n    h2 {\n      margin-top: 20pt;\n    }\n\n    /* Prevent margin collapse issues or excessive space inside lists */\n    li {\n       margin-bottom: 2pt; /* Optional: small space between list items */\n    }\n\n    /* Remove margin from the last child within common containers if needed */\n    /* This might be overly aggressive, test without it first */\n    /*\n    body > *:last-child,\n    li > *:last-child {\n       margin-bottom: 0;\n    }\n    */\n  </style>\n</head>\n<body>\n  ${htmlContent}\n</body>\n</html>\n`;\n\n// Construct the body with literal \\r\\n ONLY\nlet body = `--${boundary}\\r\\n`;\nbody += `Content-Type: application/json; charset=UTF-8\\r\\n`;\nbody += `\\r\\n`; // Blank line\nbody += `${metadata}\\r\\n`;\nbody += `--${boundary}\\r\\n`;\nbody += `Content-Type: text/html\\r\\n`;\nbody += `\\r\\n`; // Blank line\nbody += `${htmlWithStyles}\\r\\n`; // Add the HTML content\nbody += `--${boundary}--\\r\\n`; // Final boundary\n\nreturn {\n  rawData: body \n};"
      },
      "typeVersion": 2
    },
    {
      "id": "0003d9a0-fcbe-4423-90e9-6583c9546f12",
      "name": "No Operation, 아무 작업 없음",
      "type": "n8n-nodes-base.noOp",
      "position": [
        944,
        32
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5773cc9b-6232-4ddb-b76f-3b7904c9b9fe",
  "connections": {
    "2312d005-6930-4ad7-9043-dfae981c87b9": {
      "main": [
        [
          {
            "node": "509a03c3-24d1-484d-a9e0-dc774cdfab1e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "509a03c3-24d1-484d-a9e0-dc774cdfab1e": {
      "main": [
        [
          {
            "node": "3475c757-07cb-4ffb-9900-f53dd7ca8813",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "01d49932-017c-4afb-af33-5d6c85bfd7a0": {
      "main": [
        [
          {
            "node": "0003d9a0-fcbe-4423-90e9-6583c9546f12",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3475c757-07cb-4ffb-9900-f53dd7ca8813": {
      "main": [
        [
          {
            "node": "01d49932-017c-4afb-af33-5d6c85bfd7a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "68d8121a-1f60-4c94-858a-3bc3c2d065b6": {
      "main": [
        [
          {
            "node": "2312d005-6930-4ad7-9043-dfae981c87b9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4d39d4d7-0e66-498e-9784-70721ef27f4c": {
      "ai_languageModel": [
        [
          {
            "node": "68d8121a-1f60-4c94-858a-3bc3c2d065b6",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "8976101d-0619-48b4-8440-bd5ddf47aecd": {
      "main": [
        [
          {
            "node": "68d8121a-1f60-4c94-858a-3bc3c2d065b6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8a750e1d-88dc-47e6-8476-295fc480d884": {
      "main": [
        [
          {
            "node": "8976101d-0619-48b4-8440-bd5ddf47aecd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급 - 문서 추출, AI 요약

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수10
카테고리2
노드 유형10
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Zain Ali

Zain Ali

@zain104

Software Engineer with over 3+ years of experience in full-stack development.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34