会議サマリジェネレーター
中級
これはAI Summarization, Multimodal AI分野の自動化ワークフローで、12個のノードを含みます。主にCode, GoogleDrive, HttpRequest, GoogleDocsTool, Agentなどのノードを使用。 Google Drive、Gemini AI、Google Docsを使って会議の要約を自動化する
前提条件
- •Google Drive API認証情報
- •ターゲットAPIの認証情報が必要な場合あり
- •Google Gemini API Key
使用ノード (12)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "LRTza7My8IikYhSU",
"meta": {
"instanceId": "86b74eba715cda37acd36ddce700cd975f9e153aba76b42417c4c1f89dcd777e",
"templateCredsSetupCompleted": true
},
"name": "Meeting Summarizer",
"tags": [],
"nodes": [
{
"id": "1dcb61d9-0f7c-4b86-8b71-5f3140447b22",
"name": "要約ドキュメントの作成",
"type": "n8n-nodes-base.googleDocsTool",
"position": [
432,
144
],
"parameters": {
"title": "={{ $('Execute when new file created of meeting of audio/video').item.json.name.replace(/\\.mp4$/, '') }}",
"folderId": "default"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "0dKnfLHBs7hVSMo4",
"name": "Google Docs account"
}
},
"typeVersion": 2
},
{
"id": "dad59a23-6608-4b2c-8059-e324fd2bd5f5",
"name": "構造化出力パーサー",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
592,
224
],
"parameters": {
"jsonSchemaExample": "{\n \"summary_text\": \"Meeting Summary - August 31, 2025\\n\\n- Book club for \\\"Inspired\\\" scheduled for August 7th.\\n- New hires must read \\\"Inspired\\\" as part of onboarding.\\n- Customer interviews: Follow up with contacts from CS and Sales.\\n- Q3 engagement survey to be completed by all members.\",\n \"doc_id\": \"1-Ht71Q5_0Owh1NRApRn9b9uAqbciwVuWAL_3IvoHIkk\"\n}\n"
},
"typeVersion": 1.3
},
{
"id": "a2becdc5-fb1a-44de-9e01-3b4b95cf311d",
"name": "作成された会議ファイルのダウンロード",
"type": "n8n-nodes-base.googleDrive",
"position": [
-80,
-16
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": "={{ $json.webViewLink }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "MlBEh59DqIzyGlyS",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "34a20bdd-ed41-4af7-82c7-f6aa4705228d",
"name": "ファイルのテキストへの書き起こし",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
128,
-16
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/gemini-2.5-flash",
"cachedResultName": "models/gemini-2.5-flash"
},
"options": {},
"resource": "audio",
"inputType": "binary"
},
"typeVersion": 1
},
{
"id": "221e5fff-cc2a-4ffd-b739-7ac9722527ce",
"name": "テキストの要約",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
336,
-16
],
"parameters": {
"text": "={{ $json.content.parts[0].text }}",
"options": {
"systemMessage": "=You are an assistant that processes meeting transcripts. \n\nYour job is to: \n1. Read the meeting transcript provided. \n2. Extract the main discussion points. \n - Keep them short, clear, and action-oriented. \n - Focus only on decisions, tasks, or important updates. \n\nGoogle Docs Rules: \n- If the Google Doc for this project/meeting does not exist → **create a Summary Docs** with the formatted summary. \n\nGive summary and docs id Give both Seprately.\n\nFormatting rules:\n- Start with a title in this format: 📌 Meeting Summary – {{new Date().toLocaleDateString()}}\n- Use bold section headers like **✦ Key Discussions** and **✓ Action Items**.\n- Use ✦ bullets for general discussion points.\n- Use ✓ checkmarks for tasks or follow-ups.\n- Keep sentences short, clear, and actionable.\n- Add blank lines between sections for readability.\n- Avoid long paragraphs — use concise bullets only."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "e506c53d-b861-4f0d-81ae-bca14ad8aeb2",
"name": "音声/動画会議ファイルの新規作成時に実行",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-288,
-16
],
"parameters": {
"event": "fileCreated",
"options": {
"fileType": "all"
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1EongmFhQf1avt1jamhV6aO6MIORrzNvT",
"cachedResultUrl": "https://drive.google.com/drive/folders/1EongmFhQf1avt1jamhV6aO6MIORrzNvT",
"cachedResultName": "Speech of Meetings"
}
},
"typeVersion": 1
},
{
"id": "ae5f4fb0-a96b-44a5-b291-c92119508300",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
288,
224
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "Vn0WzAXggurbHNTb",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "765dd6e3-1d95-409e-b640-2162a15304be",
"name": "要約のフォーマット",
"type": "n8n-nodes-base.code",
"position": [
848,
-16
],
"parameters": {
"jsCode": "// Get text from previous node (adjust field if needed)\nconst input = $input.first().json.output.summary_text;\n\n// Step 1: Clean text (normalize line breaks)\nlet text = input.replace(/\\r\\n/g, \"\\n\");\n\n// Step 2: Parse into plain text + style spans\nlet plainText = \"\";\nlet styles = [];\nlet bullets = [];\nlet cursor = 1;\n\nconst lines = text.split(\"\\n\");\n\nfor (let line of lines) {\n if (!line.trim()) {\n plainText += \"\\n\";\n cursor++;\n continue;\n }\n\n let isBullet = false;\n if (line.trim().startsWith(\"✦\") || line.trim().startsWith(\"✓\") || line.trim().startsWith(\"-\")) {\n isBullet = true;\n line = line.trim().substring(1).trim();\n }\n\n const regex = /(\\*\\*([^*]+)\\*\\*|\\*([^*]+)\\*|([^*]+))/g;\n let match;\n while ((match = regex.exec(line)) !== null) {\n let raw = match[0];\n let clean = match[2] || match[3] || match[4] || \"\";\n const start = cursor;\n const end = cursor + clean.length;\n\n plainText += clean;\n\n if (raw.startsWith(\"**\")) {\n styles.push({\n range: { startIndex: start, endIndex: end },\n textStyle: { bold: true },\n fields: \"bold\"\n });\n } else if (raw.startsWith(\"*\")) {\n styles.push({\n range: { startIndex: start, endIndex: end },\n textStyle: { italic: true },\n fields: \"italic\"\n });\n }\n\n cursor = end;\n }\n\n plainText += \"\\n\";\n cursor++;\n\n if (isBullet) {\n bullets.push({\n range: {\n startIndex: cursor - line.length - 1,\n endIndex: cursor\n },\n bulletPreset: \"BULLET_DISC_CIRCLE_SQUARE\"\n });\n }\n}\n\n// Step 3: Build requests\nlet requests = [];\n\n// Insert everything at once\nrequests.push({\n insertText: {\n endOfSegmentLocation: {},\n text: plainText\n }\n});\n\n// Add styles\nfor (let s of styles) {\n requests.push({\n updateTextStyle: {\n range: s.range,\n textStyle: s.textStyle,\n fields: s.fields\n }\n });\n}\n\n// Add bullets\nfor (let b of bullets) {\n requests.push({\n createParagraphBullets: b\n });\n}\n\nreturn [\n {\n json: { requests }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "d9d69f04-139d-45c3-bdd2-15846639fe84",
"name": "作成されたドキュメントへの要約の送信",
"type": "n8n-nodes-base.httpRequest",
"position": [
1056,
-16
],
"parameters": {
"url": "=https://docs.googleapis.com/v1/documents/{{ $('Summerizer of that text').item.json.output.doc_id }}:batchUpdate",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "requests",
"value": "={{ $json.requests }}"
}
]
},
"nodeCredentialType": "googleDocsOAuth2Api"
},
"credentials": {
"googleDocsOAuth2Api": {
"id": "0dKnfLHBs7hVSMo4",
"name": "Google Docs account"
}
},
"typeVersion": 4.2
},
{
"id": "47cb35a1-691c-452d-a5a4-e5d463b60d93",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-352,
-128
],
"parameters": {
"color": 5,
"width": 1088,
"height": 528,
"content": "### Summary Generation\n"
},
"typeVersion": 1
},
{
"id": "91ae59b0-7399-451e-b05d-5b066801298b",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
752,
-96
],
"parameters": {
"color": 3,
"width": 528,
"height": 352,
"content": "### Docs Formatter & Sender\n"
},
"typeVersion": 1
},
{
"id": "dc392200-438b-4cb4-b057-e3803dbd21fe",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1744,
-544
],
"parameters": {
"width": 1328,
"height": 1264,
"content": "# 🎤 AI Meeting Summary Generator with Google Docs Integration\n## 📋 Overview\n- Automated system that takes meeting audio/video files from Google Drive, transcribes them, generates concise summaries with AI, and formats everything neatly into Google Docs.\n\n## 🔄 How It Works\n#### Real-Time Processing\n1. 🎥 Record Meeting Audio/Video → Capture your meeting and place the file into your chosen Google Drive folder.\n1. 📂 Google Drive Trigger → Watches that folder (e.g., “Speech of Meetings”) for new uploads.\n2. ⬇️ Download File → Fetches the newly uploaded file from Google Drive.\n3. 🎙 Transcribe File (Gemini Audio Model) → Converts meeting speech into raw text transcript.\n4. ✍️ Summarizer (Gemini Agent) → Reads transcript → extracts:\n - ✦ Key Discussions\n - ✓ Action Items\n - Adds title with date, structured bullets, and checkmarks.\n\n#### Document Creation & Structuring\n5. 📄 Create Summary Docs (Google Docs Tool) → Creates a new Google Doc if none exists for the meeting.\n6. 📊 Structured Output Parser → Ensures AI output is structured (summary_text + doc_id).\n7. 🎨 Format Summary (Code Node) → Applies formatting rules:\n- Bold/italic text\n- Bullet points (✦)\n- Checkmarks (✓)\n- Clean line spacing for readability\n\n#### Final Output\n8. 🚀 Send to Google Docs (BatchUpdate API) → Pushes formatted summary into the newly created Google Doc.\n\n## ⚙️ Configuration Required\n#### Credentials Needed:\n- 🔑 Google Drive OAuth2 → For file monitoring & downloads\n- 🔑 Google Docs OAuth2 → For creating & updating docs\n- 🔑 Google Gemini (PaLM) API → For transcription + summarization\n\n#### Settings:\n- Trigger: Every new file created in the specified Drive folder\n- AI Model: gemini-2.5-flash for transcription & summarization\n- Output: Google Docs with structured & styled meeting notes\n\n## 🎯 Key Features\n✅ Auto-transcription of meeting audio/video\n✅ Smart AI-generated summaries (Key Discussions + Action Items)\n✅ Google Docs integration with professional formatting\n✅ Structured JSON parsing for reliable updates\n✅ End-to-end automation (no manual intervention needed)\n\n## 📝 Notes\n- Works for both audio & video meeting files\n- Creates a new doc per meeting automatically\n- Uses batchUpdate API for fine formatting (bullets, bold, italics)\n- Keeps summaries short, clear, and action-oriented"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "c86cf8a3-6cb7-40f5-bddc-9181721cb0b4",
"connections": {
"765dd6e3-1d95-409e-b640-2162a15304be": {
"main": [
[
{
"node": "d9d69f04-139d-45c3-bdd2-15846639fe84",
"type": "main",
"index": 0
}
]
]
},
"1dcb61d9-0f7c-4b86-8b71-5f3140447b22": {
"ai_tool": [
[
{
"node": "221e5fff-cc2a-4ffd-b739-7ac9722527ce",
"type": "ai_tool",
"index": 0
}
]
]
},
"221e5fff-cc2a-4ffd-b739-7ac9722527ce": {
"main": [
[
{
"node": "765dd6e3-1d95-409e-b640-2162a15304be",
"type": "main",
"index": 0
}
]
]
},
"ae5f4fb0-a96b-44a5-b291-c92119508300": {
"ai_languageModel": [
[
{
"node": "221e5fff-cc2a-4ffd-b739-7ac9722527ce",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"dad59a23-6608-4b2c-8059-e324fd2bd5f5": {
"ai_outputParser": [
[
{
"node": "221e5fff-cc2a-4ffd-b739-7ac9722527ce",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"34a20bdd-ed41-4af7-82c7-f6aa4705228d": {
"main": [
[
{
"node": "221e5fff-cc2a-4ffd-b739-7ac9722527ce",
"type": "main",
"index": 0
}
]
]
},
"a2becdc5-fb1a-44de-9e01-3b4b95cf311d": {
"main": [
[
{
"node": "34a20bdd-ed41-4af7-82c7-f6aa4705228d",
"type": "main",
"index": 0
}
]
]
},
"e506c53d-b861-4f0d-81ae-bca14ad8aeb2": {
"main": [
[
{
"node": "a2becdc5-fb1a-44de-9e01-3b4b95cf311d",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - AI要約, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
顧客への請日の自動送付
OCR.Space、GPT-4、および Google Drive から Gmail への自動化
If
Set
Code
+
If
Set
Code
29 ノードMichael Taleb
AI要約
ノートと音声から構造化された Notion ワークスペースを Gemini と GPT で作成する
ノートと音声からGeminiとGPTで構造化されたNotionワークスペースを作成する
If
Set
Code
+
If
Set
Code
36 ノードAlex Huy
マルチモーダルAI
Gemini AIを使ってPDFから送付書データをGoogle Sheetsに抽出 📄
PDFからのインボイスデータをGemini AIでGoogle Sheetsへ抽出 📄
Code
Gmail
Limit
+
Code
Gmail
Limit
28 ノードLouis
コンテンツ作成
成分分析
TelegramとGemini 2.5 Flashを使用して製品の成分写真を分析する
If
Switch
Telegram
+
If
Switch
Telegram
17 ノードParth Pansuriya
コンテンツ作成
DecodoクロールAPIワークフローテンプレート(n8nによるアマゾン書籍購入レポート自動化)
DecodoスクレイピングとGPT 4.1 miniを使ってAmazonの本データを抽取し、購入レポートを生成
Set
Code
Slack
+
Set
Code
Slack
22 ノードTrung Tran
AI要約
AI履歴書最適化ツール
Gemini分析とメールレポートで履歴書を職位記述に一致させる
Set
Code
Gmail
+
Set
Code
Gmail
18 ノードMychel Garzon
AI要約
ワークフロー情報
難易度
中級
ノード数12
カテゴリー2
ノードタイプ10
作成者
Parth Pansuriya
@parthpansuriyaI build smart and scalable automation workflows using n8n to simplify tasks, connect apps, and boost productivity. From WhatsApp bots to AI-powered systems, I create seamless automations tailored for business and creators.
外部リンク
n8n.ioで表示 →
このワークフローを共有