1. ゴールと前提条件
このワークフローで実現すること
会議が終わるたびに「議事録を書かなきゃ…」と思いながらも、他の業務に追われて後回しになってしまう。そんな経験はありませんか?
このワークフローでは、会議終了と同時に議事録が自動生成され、関係者全員に共有される仕組みを構築します。具体的には以下を実現します:
- 会議音声の自動文字起こし
- AIによる要約とアクションアイテムの抽出
- Notionへの自動保存・整理
- Slackでの自動通知と共有
これにより、議事録作成にかかる時間を1会議あたり30分以上削減でき、記録漏れやフォローアップ漏れを防ぐことができます。
前提となる環境
このワークフローを実装するには、以下の環境が必要です:
- Notionのアカウント(議事録の保存・管理用)
- Makeの無料アカウント(ワークフロー自動化ツール)
- Slackのワークスペース(通知・共有用)
- OpenAI APIのアカウント(ChatGPT/Whisperによる文字起こしと要約)
- 会議の音声を録音できる環境(Zoom、Google Meet、またはボイスレコーダーアプリ)
特別な専門知識は不要です。各ツールの基本的な操作ができれば、30分〜1時間程度で構築できます。
2. 全体フローの俯瞰図
このワークフローは、以下の4つのステップで構成されています:
- トリガー:会議音声ファイルのアップロード
Google DriveまたはDropboxに会議の音声ファイル(mp3、m4a、wavなど)をアップロードします。これがワークフローの起動トリガーとなります。 - 文字起こし:OpenAI Whisper APIによる自動変換
Makeが音声ファイルを検知し、OpenAIのWhisper APIに送信。音声が高精度なテキストに変換されます。日本語、英語、混在した会議にも対応可能です。 - AI処理:ChatGPTによる要約とアクションアイテム抽出
文字起こしされたテキストをChatGPT APIに送り、以下を自動生成します:- 会議の要約(3〜5行)
- 主な議論ポイント(箇条書き)
- 決定事項
- アクションアイテム(担当者・期日付き)
- 保存と通知:NotionとSlackへの自動投稿
生成された議事録をNotionのデータベースに保存し、同時にSlackの指定チャンネルに通知。チーム全員が即座にアクセスできます。
このフローにより、会議終了後5分以内に整理された議事録が全員に共有される状態を実現できます。
3. 使用するツールと役割
各ツールがこのワークフローの中で担う役割を説明します。
Notion(議事録の一元管理)
Notionは、すべての議事録を保存・整理するハブとして機能します。
- 役割:議事録データベースの構築と保存
- 利用機能:データベース、プロパティ(日付、参加者、タグなど)
- ポイント:検索性が高く、過去の議事録からすぐに必要な情報を見つけられます。また、2025年にリリースされたNotion AIミーティングノート機能と併用することで、さらに効率化できます。
Make(ワークフロー自動化のエンジン)
Make(旧Integromat)は、各ツールを連携させる自動化プラットフォームです。
- 役割:トリガー検知、API連携、データの受け渡し
- 利用機能:Google Drive/Dropboxモジュール、HTTP モジュール(OpenAI API連携)、Notion モジュール、Slack モジュール
- ポイント:ノーコードでビジュアル的にワークフローを構築できます。無料プランでも月1,000回の実行が可能なため、中小規模のチームなら十分です。
OpenAI API(Whisper + ChatGPT)
OpenAI APIは、このワークフローのAIエンジンです。
- Whisper API:音声ファイルを高精度なテキストに変換(文字起こし精度95%以上)
- ChatGPT API(GPT-4またはGPT-4o):文字起こしテキストから要約とアクションアイテムを抽出
- コスト目安:1時間の会議音声で約50〜100円程度(Whisper:約30円、ChatGPT:約20〜70円)
Slack(リアルタイム通知と共有)
Slackは、議事録完成の通知と迅速な共有を担います。
- 役割:議事録生成完了の通知、要約内容のプレビュー表示
- 利用機能:Incoming Webhook、Block Kit(リッチな表示)
- ポイント:関係者がすぐに気づき、Notionへのリンクから詳細を確認できます。
4. 手順詳細(ステップバイステップ)
それでは、実際の構築手順を順を追って説明します。画面を見ながら一緒に進めていきましょう。
STEP 1:Notionで議事録データベースを作成
まず、議事録を保存するためのNotionデータベースを準備します。
- Notionを開き、新しいページを作成
- 「データベース – テーブルビュー」を選択
- タイトルを「議事録データベース」に変更
- 以下のプロパティを追加:
- 会議名(タイトル)
- 開催日(日付)
- 参加者(テキスト)
- 要約(テキスト – 長文)
- 主な議論ポイント(テキスト – 長文)
- 決定事項(テキスト – 長文)
- アクションアイテム(テキスト – 長文)
- 文字起こし全文(テキスト – 長文)
- タグ(マルチセレクト:例 営業、開発、人事など)
- データベースIDをメモ(URLの一部:
notion.so/xxxxx?v=yyyyyの「xxxxx」部分)
つまづきポイント:データベースIDは、ページのURLから取得できます。ブラウザのアドレスバーを確認してください。
STEP 2:Notion API統合の設定
- Notion Integrationsページにアクセス
- 「新しい統合を作成」をクリック
- 統合名を「議事録自動化」などに設定
- 関連付けるワークスペースを選択
- 「送信」をクリックして、Internal Integration Tokenをコピー(後で使用)
- 先ほど作成した議事録データベースのページを開き、右上の「…」→「接続」→作成した統合を選択して接続
STEP 3:OpenAI APIキーの取得
- OpenAI API Keysページにアクセス
- 「Create new secret key」をクリック
- 名前を「議事録自動化」などに設定
- 生成されたAPIキーをコピー(一度しか表示されないので注意)
- クレジットをチャージ($5〜$10程度で数十〜数百回の処理が可能)
STEP 4:Slackの Incoming Webhook URL取得
- Slack APIページで「Create New App」をクリック
- 「From scratch」を選択
- アプリ名を「議事録Bot」、ワークスペースを選択
- 「Incoming Webhooks」を選択し、有効化
- 「Add New Webhook to Workspace」をクリック
- 通知を投稿するチャンネルを選択(例:#議事録、#general)
- 生成されたWebhook URLをコピー
STEP 5:Makeでワークフローを構築
ここからが本番です。Makeで各ツールを連携させていきます。
5-1. 新しいシナリオを作成
- Makeにログインし、「Create a new scenario」をクリック
- シナリオ名を「議事録自動生成」に設定
5-2. トリガー設定(Google Drive)
- 「+」ボタンをクリックし、「Google Drive」モジュールを検索
- 「Watch Files」を選択
- Google Driveアカウントを接続
- 監視するフォルダを選択(例:「議事録_音声」フォルダを事前に作成)
- 「File Types」を「Audio」に設定
- 「Limit」を「1」に設定(一度に1ファイルずつ処理)
補足:Dropboxを使う場合は、「Dropbox」モジュールの「Watch Files」を選択してください。設定方法はほぼ同じです。
5-3. 音声ファイルのダウンロード
- 次のモジュールとして「Google Drive」→「Download a File」を追加
- 「File ID」に前のモジュールの出力「{{1.id}}」をマッピング
5-4. Whisper APIで文字起こし
- 「HTTP」モジュール→「Make a request」を追加
- 以下のように設定:
- URL:
https://api.openai.com/v1/audio/transcriptions - Method:POST
- Headers:
- Key:
Authorization/ Value:Bearer YOUR_OPENAI_API_KEY(先ほど取得したAPIキーを貼り付け)
- Key:
- Body type:Multipart/form-data
- Fields:
- Key:
file/ Value: {{2.data}}(ダウンロードしたファイルデータ) - Key:
model/ Value:whisper-1 - Key:
language/ Value:ja(日本語の場合。英語ならen)
- Key:
- URL:
- 「Parse response」を「Yes」に設定
つまづきポイント:音声ファイルが25MBを超える場合、Whisper APIはエラーを返します。その場合は、事前に音声を分割するか、圧縮してください。
5-5. ChatGPT APIで要約とアクションアイテム抽出
- 再び「HTTP」モジュール→「Make a request」を追加
- 以下のように設定:
- URL:
https://api.openai.com/v1/chat/completions - Method:POST
- Headers:
- Key:
Authorization/ Value:Bearer YOUR_OPENAI_API_KEY - Key:
Content-Type/ Value:application/json
- Key:
- Body type:Raw
- Request content:以下のJSONを貼り付け({{3.text}}は前のモジュールの文字起こし結果)
- URL:
{
"model": "gpt-4o",
"messages": [
{
"role": "system",
"content": "あなたは優秀な議事録作成アシスタントです。会議の文字起こしテキストから、以下の形式で議事録を作成してください:\n\n## 要約\n(3-5行で会議全体を要約)\n\n## 主な議論ポイント\n- (箇条書き)\n\n## 決定事項\n- (箇条書き)\n\n## アクションアイテム\n- [担当者名] 期日: (具体的なタスク)"
},
{
"role": "user",
"content": "{{3.text}}"
}
],
"temperature": 0.3
}
5-6. レスポンスからテキストを抽出
- 「Text parser」モジュール→「Match pattern」を追加(または、次のステップで直接使用)
- 変数として使いやすくするため、レスポンスの
{{4.data.choices[].message.content}}をメモ
5-7. Notionに議事録を保存
- 「Notion」モジュール→「Create a Database Item」を追加
- Notion接続を設定(Integration Tokenを使用)
- 「Database ID」にSTEP 1でメモしたIDを入力
- 各プロパティをマッピング:
- 会議名:{{1.name}}(音声ファイル名から自動取得)
- 開催日:{{now}}(現在日時)
- 参加者:(手動で入力するか、ファイル名に含める)
- 要約・主な議論ポイント・決定事項・アクションアイテム:{{4.data.choices[].message.content}}から該当部分を抽出
- 文字起こし全文:{{3.text}}
ポイント:ChatGPTの出力をセクションごとに分けて保存したい場合は、「Text parser」モジュールで正規表現を使って分割できます。
5-8. Slackに通知
- 「Slack」モジュール→「Create a Message」を追加(またはWebhooksモジュール)
- Webhook URLを入力(STEP 4で取得)
- メッセージ内容を設定:
{
"text": "📝 新しい議事録が作成されました",
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "📝 議事録:{{1.name}}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*開催日:* {{formatDate(now, 'YYYY年MM月DD日')}}\n\n*要約:*\n{{substring(4.data.choices[].message.content, 0, 200)}}..."
}
},
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Notionで全文を見る"
},
"url": "{{5.url}}"
}
]
}
]
}
5-9. テストと有効化
- 画面左下の「Run once」をクリック
- テスト用の音声ファイルをGoogle Driveの指定フォルダにアップロード
- 各モジュールが順番に実行されることを確認
- Notionに議事録が保存され、Slackに通知が来ることを確認
- 問題なければ、「Scheduling」をONにして自動実行を有効化(15分間隔がおすすめ)
つまづきポイント:エラーが出た場合は、各モジュールの出力データを確認してください。特にAPIキーやトークンの入力ミスが多いです。
5. 自動化前後でどう変わるか(ビフォーアフター)
実際にこのワークフローを導入した場合の効果を、具体的な数値で見てみましょう。
| 項目 | 自動化前 | 自動化後 |
|---|---|---|
| 議事録作成時間 | 30〜60分/会議 | 5分/会議(ほぼ自動) |
| 共有までの時間 | 翌日〜数日後 | 会議終了後5分以内 |
| 記録漏れ | メモを取り忘れることがある | 全発言が文字起こしされるため漏れゼロ |
| アクションのフォロー | 誰が何をやるか曖昧になりがち | AIが自動抽出し明確化 |
| 過去の議事録検索 | ファイルを探すのに時間がかかる | Notionで瞬時に検索可能 |
| 月間コスト | 人件費(作業時間×時給) | 約500〜2,000円(API利用料のみ) |
実際の効果(導入事例)
あるスタートアップ企業(社員15名)では、週5回の定例会議すべてでこのワークフローを導入したところ:
- 議事録作成時間:週10時間 → 週0.5時間(95%削減)
- 議事録の共有率:60% → 100%(全会議で確実に共有)
- アクション完了率:70% → 90%(明確化により改善)
- 月間コスト:人件費換算で約4万円 → API料金約1,500円
特に、「会議中はメモではなく議論に集中できるようになった」という声が多く聞かれました。
6. 応用・拡張アイデア
基本のワークフローができたら、以下のような拡張も可能です。
アイデア1:リアルタイム文字起こし(Notion AI活用)
2025年にリリースされたNotion AIミーティングノート機能を使えば、Notionのデスクトップアプリで会議中にリアルタイムで文字起こしができます。
- 会議終了と同時に要約が生成される
- 外部ツールを経由せず、直接Notionに保存される
- Make経由のワークフローと組み合わせれば、Slackへの通知も自動化可能
アイデア2:多言語対応
Whisper APIは100以上の言語に対応しているため、グローバルチームの会議にも使えます。
- Whisper APIの
languageパラメータを削除すると、自動言語検出が有効になります - ChatGPTのプロンプトに「日本語で要約してください」と追加すれば、英語の会議も日本語で要約可能
アイデア3:Googleカレンダー連携
Makeに「Google Calendar」モジュールを追加すれば、会議の開始時刻や参加者情報を自動取得できます。
- 会議名をカレンダーのイベント名から自動取得
- 参加者リストを自動で議事録に記載
- 次回会議のリマインダーを自動設定
アイデア4:スプレッドシートでタスク管理
抽出されたアクションアイテムをGoogle スプレッドシートに自動追加し、タスク管理ツールとして活用できます。
- 「Google Sheets」モジュールで新しい行を追加
- 担当者、期日、ステータスを列で管理
- 期日が近づいたらSlackで自動リマインド(別のシナリオで実装)
アイデア5:感情分析の追加
ChatGPT APIのプロンプトを工夫すれば、会議の雰囲気や懸念点も抽出できます。
- 「会議中に懸念や反対意見があった箇所を抽出してください」
- 「参加者の感情的なトーンを分析してください」
アイデア6:動画からの音声抽出
ZoomやGoogle Meetの録画から音声を抽出し、自動的にワークフローに投入できます。
- FFmpegなどのツールで動画から音声を抽出
- または、Zoomのクラウド録画APIと連携
7. よくある質問・つまづきポイントQ&A
Q1. Makeのシナリオが実行されない
A. 以下を確認してください:
- シナリオが「ON」になっているか(画面左下のトグル)
- Google Driveの監視フォルダに音声ファイルがアップロードされているか
- ファイル形式が対応しているか(mp3、m4a、wav、mp4など)
- Makeの無料プランの実行回数制限(月1,000回)を超えていないか
Q2. Whisper APIでエラーが出る
A. よくある原因:
- ファイルサイズが25MB超:音声を圧縮するか、分割してください
- APIキーが無効:OpenAIのダッシュボードでキーを確認
- クレジット不足:OpenAIアカウントに残高があるか確認
- 対応していない形式:mp3、mp4、wav、m4a、webm などに変換
Q3. ChatGPTの要約が不正確
A. プロンプトを調整してください:
- 「重要な発言を優先してください」
- 「技術的な詳細も含めてください」
- 「箇条書きは5つ以内にまとめてください」
また、モデルをgpt-4oまたはgpt-4-turboにすると精度が向上します(コストは上がります)。
Q4. Notionに保存されない
A. 以下を確認:
- Notion Integration Tokenが正しいか
- データベースに統合が接続されているか(データベースページの「…」→「接続」)
- データベースIDが正しいか(URLから確認)
- プロパティ名が一致しているか(大文字小文字も区別されます)
Q5. Slackに通知が来ない
A. Webhook URLが正しいか確認してください。また、Slackアプリがワークスペースに正しくインストールされているかも確認しましょう。
Q6. 日本語と英語が混在した会議の場合
A. Whisper APIのlanguageパラメータを削除(または空欄に)すると、自動言語検出が有効になり、混在した会議にも対応できます。
Q7. コストが心配
A. 目安として:
- 1時間の会議音声:約50〜100円
- 週5回の定例会議(各1時間):月1,000〜2,000円程度
OpenAIのダッシュボードで使用量をモニタリングでき、上限設定も可能です。
8. まとめ:まずどこから着手すべきか
このワークフローは一度構築すれば長く使える資産になりますが、いきなり完璧を目指す必要はありません。段階的に導入することをおすすめします。
ステップ1:まずは手動で試す(1週間)
最初の1週間は、Makeを使わず以下を手動で試してみましょう:
- 会議を録音
- OpenAI PlaygroundでWhisperを試す(ブラウザから音声ファイルをアップロード)
- 文字起こしテキストをChatGPTに貼り付けて要約を依頼
- 結果をNotionに手動でコピペ
これにより、各ツールの動作を理解でき、プロンプトの調整もしやすくなります。
ステップ2:Makeで基本フローを構築(1日)
手動での流れが確立したら、Makeで自動化します。最初は以下のシンプルな構成でOKです:
- Google Drive監視
- Whisperで文字起こし
- ChatGPTで要約
- Notionに保存
Slack通知は後から追加できます。
ステップ3:プロンプトを最適化(1週間)
実際の会議データで試しながら、ChatGPTのプロンプトを調整します:
- 要約の長さは適切か
- アクションアイテムが正しく抽出されているか
- 重要な議論が漏れていないか
ステップ4:拡張機能を追加(必要に応じて)
基本フローが安定したら、以下を追加検討:
- Slack通知
- Googleカレンダー連携
- スプレッドシートでのタスク管理
最初の一歩におすすめ
もし「どこから始めたらいいか迷う」という場合は、まず1つの定例会議だけでこのワークフローを試してみてください。
- 週次の営業会議
- プロジェクトの進捗会議
- 1on1ミーティング
1つの会議で効果を実感できたら、他の会議にも横展開していきましょう。
最後に
議事録作成は「誰かがやらなければいけないけど、誰もやりたくない」タスクの代表格です。このワークフローは、そんな時間をチームの創造的な議論や意思決定に振り向けるための仕組みです。
設定には多少の時間がかかりますが、一度構築すれば毎週数時間の時間が生まれます。ぜひ、できるところから始めてみてください。
質問や不明点があれば、各ツールの公式ドキュメントも参照しながら進めてください:
あなたのチームの議事録作成が、これをきっかけに劇的に効率化されることを願っています!