회의록에서 프로젝트 요약 생성
중급
이것은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)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
VEXA, OpenAI 및 Mem0를 사용한 회의 인텔리전스 분석 자동화
VEXA, OpenAI 및 Mem0를 사용한 자동화된 회의 대화 인사이트 분석
Set
Code
Merge
+
Set
Code
Merge
26 노드Stephan Koning
문서 추출
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타
리드 생성 및 이메일 워크플로
Google 지도, SendGrid 및 AI를 사용한 B2B 잠재 고객 개발 및 이메일 마케팅 자동화
If
Set
Code
+
If
Set
Code
141 노드Ezema Kingsley Chibuzo
리드 생성
Fireflies 회의 녹취 및 요약 자동화
Gemini 및 Gmail을 사용하여 Fireflies 트랜스크립트에서 자동화된 회의 요약
Set
Code
Gmail
+
Set
Code
Gmail
26 노드Davide
문서 추출
AI 및 Gmail을 사용하여 YNAB 내 Amazon 거래 메모 자동 업데이트
AI 및 Gmail을 사용하여 YNAB의 Amazon 거래 메모 자동 업데이트
If
Set
Wait
+
If
Set
Wait
30 노드Angel Menendez
문서 추출
Facebook 페이지 댓글 관리 봇: 답글, 삭제, 차단 및 알림
AI 기반 Facebook 댓글 관리: 자동 답글, 삭제, 차단 및 알림
If
Set
Code
+
If
Set
Code
59 노드SpaGreen Creative
소셜 미디어