2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Makeと生成AIによる会議振り返りシステム構築ガイド

Posted at

はじめに

初心者である私が、ノーコードツールのMake(旧Integromat)と生成AIを組み合わせることで、会議のメモや議事録から自動で振り返りを作成し、次回の会議に活かせる仕組みを構築したので解説します。

この記事でわかる・できること

  • Makeと生成AIを連携させた自動化フローの全体像を理解できます。

  • Dropboxにアップロードされた会議メモを自動で処理するシナリオを構築できます。

  • 生成AIを活用した会議振り返りテキストの自動生成方法がわかります。

  • 生成された振り返りファイルをDropboxに自動保存する設定ができます。

この記事の対象者

  • ノーコードツールに興味があるビジネスパーソン

  • 会議の振り返りプロセスを効率化したいと考えている方

  • 生成AIの具体的なビジネス活用例を知りたい方

  • Make(旧Integromat)の基本的な使い方を学びたい方

動作環境・使用するツールや言語

  • OS バージョン: 任意のOS (Webブラウザベースのため)

  • ツール バージョン: Make (最新版), Dropbox (最新版), Google Cloud Console (Gemini API)

  • 言語 バージョン: なし (ノーコードツールのため、内部でAPI通信にJSONを使用)

  • フレームワーク バージョン: なし

1. システム概要

本章では、構築する会議振り返りシステムの全体像と、それを構成する要素について説明します。

1.1. 本システムの目的

本システムは、会議のメモや議事録をDropboxにアップロードするだけで、以下の内容を自動的に生成し、テキストファイルとしてDropboxに保存することを目的とします。

  • 前回討議の振り返り: アップロードした議事メモ等の内容から主要な議題を抜き出し、見出しにし、箇条書きで情報を記載
  • 振り返りの要約: 上記の内容を要約
  • 本日討議したいこと: 要約から次に討議すべき内容の示唆を箇条書きにまとめます。

1.2. システム構成要素

本システムは、以下の主要なツールを連携させることで実現

  • Make(旧Integromat): 各種クラウドサービス間の連携を自動化するノーコードプラットフォームです。

  • Dropbox: 会議メモや議事録の保管場所、および生成された振り返りファイルの保存先として使用

  • 生成AI(Gemini API): 会議メモの内容を分析し、指定された形式で振り返りテキストを生成する役割を担う。

1.3. 処理フロー

  1. ユーザーが会議メモや議事録のテキストファイルをDropboxの特定のフォルダにアップロードします。

  2. MakeがDropboxのファイルアップロードを検知します。

  3. Makeがアップロードされたファイルの内容を読み込みます。

  4. Makeが読み込んだファイルの内容をプロンプトとして生成AIに送信し、処理を依頼します。

  5. 生成AIがプロンプトに基づき、指定された形式で振り返りテキストを生成し、Makeに返信します。

  6. Makeが生成AIからの返信内容を新たなテキストファイルとしてDropboxの指定されたフォルダに保存します。

2. Makeシナリオ構築の準備

Makeでシナリオを構築する前に、いくつかの準備が必要です。

2.1. Makeアカウントの準備

Makeの公式ウェブサイトにアクセスし、アカウントを作成してください。無料プランでも本システムの構築は可能です。

2.2. Dropboxフォルダの準備

Dropbox内に、以下の2つのフォルダを作成することを推奨いたします。

  • 会議メモ(入力): 会議メモや議事録のテキストファイルをアップロードするフォルダです。

  • 会議振り返り(出力): 生成AIが作成した振り返りテキストファイルを保存するフォルダです。

このようにフォルダを分けることで、ファイルの管理が容易になります。

2.3. Gemini APIキーの取得

生成AI(Gemini API)を利用するためには、APIキーが必要となります。以下の手順でGoogle Cloud ConsoleからAPIキーを取得してください。

  1. Google Cloud Consoleにアクセス:
    https://console.cloud.google.com/ にアクセスします。

  2. プロジェクトの選択または作成:
    既存のプロジェクトを選択するか、新規にプロジェクトを作成します。

  3. APIとサービスの有効化:
    左側のナビゲーションメニューから「API とサービス」→「有効な API とサービス」をクリックし、「API とサービスの有効化」ボタンから「Generative Language API」を検索して有効にします。

  4. 認証情報(APIキー)の作成:
    左側のナビゲーションメニューで「API とサービス」の下にある「認証情報」をクリックします。「認証情報を作成」ボタンから「API キー」を選択し、生成されたAPIキーをコピーして安全な場所に保存します。

3. Makeシナリオの構築手順

ここから、Makeにおけるシナリオ(自動化ワークフロー)の具体的な構築手順をステップバイステップで解説いたします。

3.1. ステップ1: シナリオの新規作成

Makeにログインし、「Create a new scenario」をクリックします。

検索ボックスで「Dropbox」と入力し、Dropboxモジュールを選択します。

3.2. ステップ2: Dropboxトリガーの設定 (Watch files)

このモジュールは、Dropboxの指定フォルダへのファイルアップロードを検知するトリガーとなります。

  1. Dropboxモジュールの中から「Watch files」を選択します。

  2. Connection」でDropboxアカウントを接続します。初めて接続する場合は、Dropboxの認証画面が表示されますので、指示に従い認証を行ってください。

  3. Folder」で、会議メモや議事録をアップロードするDropbox内のフォルダ(例: /会議メモ(入力))を指定します。

image.png

  1. Limit」は、一度に処理するファイルの最大数を設定します。通常は「1」で問題ありません。

  2. 現在のMakeのインターフェースでは「File type」の設定項目は直接表示されません。Makeはデフォルトで様々なファイルタイプを監視します。

3.3. ステップ3: ファイル内容の取得 (Download a file)

このモジュールは、トリガーされたファイルの内容をMakeにダウンロードします。

  1. 「Watch files」モジュールの右にある「+」ボタンをクリックし、新しいモジュールを追加します。

  2. Dropboxモジュールの中から「Download a file」を選択します。

  • 重要: 「Get a file」や「Get a file request」ではなく、「Download a file」を選択してください。

3.「Connection」は、ステップ2で設定した既存の接続を選択します。

4.「File ID」には、前のモジュール(Watch files)から出力される「File ID」をマッピングします。

  • このモジュールの設定画面を開き、File IDの入力欄をクリックし、左側に表示される「Dropbox - Watch Files」モジュールからFile IDを選択してマッピングしてください。青いボックスで1. File IDが表示されれば成功です。

{F88F1B9F-CD46-4CBC-AE69-DD3373A4D725}.png

  • よくあるエラー: BundleValidationError: Missing value of required parameter 'id' や id did not match pattern が発生する場合、このマッピングが正しく行われていないか、モジュールが「Get a file request」など誤った種類になっている可能性があります。

5.「Download file」が「Yes」になっていることを確認します。

3.4. ステップ4: 生成AIへのリクエスト (HTTP: Make a request)

このモジュールは、ダウンロードしたファイルの内容をプロンプトとして生成AI(Gemini API)に送信し、応答を受け取ります。

  1. 「Download a file」モジュールの右にある「+」ボタンをクリックし、新しいモジュールを追加します。

  2. 「HTTP」モジュールの中から「Make a request」を選択します。

  3. 以下の設定を行います。

image.png

Body type: Raw

Content type: JSON (application/json)

Request content: 以下のJSON形式でプロンプトを記述します。

{
"contents": [
{
"role": "user",
"parts": [
{

"text": "以下の会議メモを基に、指定された形式で会議の振り返りを作成せよ。\n\n制約条件:\n・ビジネスにふさわしい言葉遣いを使用せよ。\n・「ですます」ではなく、「である」調で記載せよ。\n・「1.前回討議の振り返り」では、主要な議題を見出しとして箇条書きで情報を記載せよ。\n・「2.振り返りの要約」では、「1.前回討議の振り返り」の内容を要約せよ。\n・「3.本日討議したいこと」では、「2.振り返りの要約」から次に討議すべき内容の示唆を箇条書きにまとめよ。\n\n出力形式:\n【1.前回討議の振り返り】\n(主要な議題1)\n・情報1\n・情報2\n(主要な議題2)\n・情報1\n・情報2\n\n【2.振り返りの要約】\n(要約内容)\n\n【3.本日討議したいこと】 \n・討議事項1\n・討議事項2\n\n会議メモ:\n {{7.Data}} "
}
]
}
]
}

{{7.Data}} の部分は、現在のシナリオにおける「Download a file」モジュール(画像ではモジュール番号7)から出力されるファイルの内容(Data)をマッピングします。
{4420772E-9F58-45CF-B812-A86C6D39E564}.png

よくあるエラー: Module references non-existing module502 Bad Gateway が発生する場合、APIキーの誤り、JSON構文エラー、またはモジュール番号の参照ミスが考えられます。特に{{モジュール番号.text}}ではなく{{モジュール番号.Data}}を使用しているか確認してください。

3.5. ステップ5: 生成AIのレスポンス処理 (Set variable & Parse JSON)

生成AIからのレスポンスはJSON形式で返されますので、その内容を抽出します。

  1. 「Make a request」モジュールの右にある「+」ボタンをクリックし、新しいモジュールを追加します。

  2. 「Tools」モジュールの中から「Set variable」を選択します。

  • Variable name: ApiResponse (手動で入力してください)

  • Variable value: 「Make a request」モジュールから出力される「Data」をマッピングします。

3.「Set variable」モジュールの右にある「+」ボタンをクリックし、新しいモジュールを追加します。

4.「JSON」モジュールの中から「Parse JSON」を選択します。

  • JSON string: 前のモジュール(Set variable)で設定した変数ApiResponseをマッピングします。

  • Data structure: 「Add」をクリックし、生成AIのレスポンスの構造を定義します。「Generate」ボタンをクリックし、以下のJSON構造の例を貼り付けます。

{
"candidates": [
{
"content": {
"parts": [
{
"text": "string"
}
]
}
}
]
}

  • textの部分が生成AIの出力する振り返りテキストに該当します。
    {31CE5675-9D95-479C-9FAC-119B3A5DFE1E}.png
  • よくあるエラー: [502] のようなHTMLエラーが表示される場合、HTTPモジュールが正しくJSONレスポンスを受け取れていないため、ステップ4の設定を再確認してください。

3.6. ステップ6: 振り返りファイルのアップロード (Upload a file)

生成AIが作成した振り返りテキストを、Dropboxの指定フォルダに保存します。

  1. 「Parse JSON」モジュールの右にある「+」ボタンをクリックし、新しいモジュールを追加します。

  2. Dropboxモジュールの中から「Upload a file」を選択します。

  3. 「Connection」は、既存の接続を選択します。

  4. 「Target folder」で、生成された振り返りファイルを保存するDropbox内のフォルダ(例: /会議振り返り(出力))を指定します。

  5. 「File name」は、生成されるファイルの名前を設定します。元のファイル名に接尾辞を加え、必要に応じてタイムスタンプを追加することで、ユニークなファイル名にできます。

  • 元のファイル名(拡張子なし)を取得し、接尾辞を追加する:

{{replace(1.File Name; "." + split(1.File Name; ".")[length(split(1.File Name; ".")) - 1]; "")}}-振り返り.txt

{{1.File Name}}: Dropbox「Watch files」モジュール(モジュール番号1)から取得できる、拡張子を含む元のファイル名です。

  • replace(...): ファイル名から拡張子部分を削除するMakeの関数です。

  • この設定により、「会議メモ.txt」が「会議メモ-振り返り.txt」のように保存されます。

  • タイムスタンプを追加してユニークにする場合:

{{replace(1.File Name; "." + split(1.File Name; ".")[length(split(1.File Name; ".")) - 1]; "")}}-振り返り_{{formatDate(now; "YYYYMMDD_HHmmss")}}.txt

  • {{formatDate(now; "YYYYMMDD_HHmmss")}}: 現在の日時を YYYYMMDD_HHmmss 形式でフォーマットするMakeの関数です(例: 20250712_213000)。

  • これにより、「会議メモ.txt」が「会議メモ-振り返り_20250712_213000.txt」のように保存され、ファイル名が重複するのを防ぎます。
    {BF47BB1F-B0BA-4213-9694-4A204261E344}.png

6.「File content」には、「Parse JSON」モジュールから抽出した生成AIのテキスト出力(通常はcandidates[].content.parts[].text)をマッピングします。

7.「Overwrite file」は、必要に応じて設定します。通常は「No」で問題ありません。

4. プロンプト設計の重要性

生成AIが期待通りの出力を行うためには、ステップ4で設定したプロンプトの設計が極めて重要です。プロンプトには以下の要素を含めます。

  • 役割と目的: AIに何をしてほしいのかを明確に伝えます(例: 会議メモを基に振り返りを作成)。

  • 制約条件: 言葉遣い(ビジネス、である調)、出力の形式(見出し、箇条書き)など、具体的なルールを指示します。

  • 出力形式の例: 期待する出力の具体的なフォーマットを示すことで、AIの理解を深めます。

  • 入力データ: 処理対象となる会議メモのテキストを明確に指定します。

上記のプロンプト例は、これらの要素を網羅していますので、このまま使用することを推奨いたします。

5. シナリオの保存とテスト

シナリオが完成しましたら、以下の手順で保存とテストを行ってください。

  1. シナリオが完成しましたら、画面下部の「Save」ボタンをクリックして保存します。

  2. シナリオを有効にするには、画面右上のトグルスイッチを「ON」にします。

  3. シナリオの編集画面の左下にある「Run once」ボタンをクリックします。

  4. その後、新しいテキストファイルを、ステップ2で指定したDropboxの「会議メモ(入力)」フォルダにアップロードします。

  5. Makeのシナリオ画面で、各モジュールが緑色にハイライトされ、データが流れていくことを確認してください。最終的に「会議振り返り(出力)」フォルダに新しいテキストファイルが生成されていれば成功です。

  6. 期待通りの結果が得られない場合は、各モジュールの設定(特にエラーが出た箇所)やプロンプトの内容を見直し、調整を行ってください。

おわりに

本記事では、Makeと生成AIを組み合わせることで、会議の振り返りプロセスを自動化する仕組みの構築方法を解説いたしました。このシステムを導入することで、手作業による振り返りの負担を軽減し、より効率的に次回の会議準備を進めることが可能となります。ぜひ本ガイドを参考に、ご自身の業務に合わせた自動化を試みていただけますと幸いです

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?