松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第39回
打ち合わせの日程メールを生成AIに読ませ、自動でスケジュール登録してもらう
面倒なカレンダー登録作業を生成AIで自動化するワークフローを作ろう
2024年07月04日 11時00分更新
こんにちは、Microsoft MVP(Azure / Business Applications)の松本典子です。
前回の記事では、Power Automateの「AI Builder」コネクタを使って、受信したメールの内容をLLMのGPTモデルに読ませ、そこから必要な情報を抽出してTeamsに投稿させるフローを作成しました。
今回はもう少し高度な生成AIの活用にチャレンジしてみましょう。受け取ったメールの内容から、打ち合わせに関する情報を抽出して、自動的にOutlookカレンダーへスケジュールを登録するフローを作成します。
0. フロー全体図
今回、Power Automateで作成するワークフローの全体像は上図のとおりです。
件名に「打ち合わせ」という言葉が含まれるメールを受信したら、それをトリガーとして実行します。生成AIがメール本文を読み込み、「送信者」「会議日」「開始時間」「終了時間」「場所」を抽出して、Outlookのスケジュールに予定を自動入力します。最後にTeamsへ入力完了の投稿をするという流れです。
なお、今回はクラシックデザイナーの画面で説明していますが、フローはモダンデザイナーでも同じように作成できます。
1. カスタムプロンプトの作成
まずは、このフローで利用する「AI Builder」コネクタの「カスタムプロンプト」を作成します。具体的には、生成AIに「メール本文からを送信者、会議日、開始時間、終了時間、場所を抜き出す」ことを指示するプロンプトを書きます。
なお、Power PlatformでAI Builderのカスタムプロンプトを利用するには、事前に「生成AI機能」をオンにしておく必要があります。初めて利用する場合は、前回記事の「1. 事前準備」を参照して環境設定を行ってください。
左メニューの「… 詳細」をクリックすると「AIハブ」という項目が表示されるので選択します。上図の表示に切り替わったら「AIプロンプト」をクリックします。
今回は独自のプロンプト(カスタムプロンプト)を使うので「GPTでプロンプトを使用してテキストを作成する」をクリックします。
上図のような表示に変わったら、必要な項目を入力していきます。
(1)名前:カスタムプロンプトに名前を付けます。Power Automateのフローで利用する際にわかりやすい名前を入力します(今回は「打ち合わせ日時抽出」としました)
(2)プロンプト:生成AIに処理内容を指示するプロンプトを、日本語で記述します。今回は、以下に示す内容でプロンプトを作成しました。別の目的でカスタムプロンプトを作りたい場合は、これを参考にして書き替えるとよいでしょう。
打ち合わせの情報を文章から抽出してください。抽出する項目は、送信者、会議日、開始時間、終了時間、場所です。
項目名は日本語でお願いします。
抽出した項目の会議日はYYYY-MM-dd、開始時間、終了時間はDatetime形式で記載してください。
以下はサンプルです。
サンプルの場合、会議日は2024年7月2日、送信者は大分、開始時間は13:00、終了時間は14:00、場所は弊社会議室(福岡支店)です。
項目は実際の文章から抽出してください。
[sample start]
佐賀さん
お世話になっております。
株式会社九州の大分です。
打ち合わせの日時について、以下の通りご案内申し上げます。
日時: 2024年7月2日(火曜日) 13:00から14:00
場所: 弊社会議室(福岡支店)
何かご不明点やご質問がございましたら、お気軽にお知らせください。
よろしくお願いいたします。
大分
[sample end]
(3)入力:フロー内で利用するときに動的なコンテンツとして利用する部分です(今回は「メール」としました)
「プロンプトの設定」を下にスクロールすると「出力」の項目があるので「JSON(プレビュー)」にチェックを入れます。この設定にすることで、GPTモデルの出力形式がJSON形式になり、抽出したデータをフローの中で利用しやすくなります。
応答の生成に利用するモデルを選択します。デフォルトは「GPT3.5」ですが、今回は「GPT4(プレビュー)」に変更します。「温度」は0から1の間の数値で設定します。温度の数値を高くすると、生成AIはより独創的な応答をするようになります。今回の目的では“独創性”は必要ない(メール本文にある情報をそのまま応答してほしい)ので、ここは「0」を設定します。
プロンプトが設定できたら、前回記事の「2. カスタムプロンプトの作成」を参考にテストを行って、期待どおりの応答が得られるかどうかを確認してください。
テスト結果に問題がなければ、「カスタムプロンプトを保存」ボタンをクリックします。
以上で、AI Builderコネクタを使ってメール内容から打ち合わせに関する詳細情報を抽出する準備ができました。
2. トリガーの設定
ワークフローに組み込むカスタムプロンプトが完成したので、フローの作成に入ります。
トリガーには「Outlook」コネクタを利用します。検索窓に「Outlook」と入力して「Outlook」コネクタをクリックし、トリガー一覧から「新しいメールが届いたとき(V3)」を選択します。
トリガーの設定では「件名フィルター」の項目に「打ち合わせ」と入力します。これで、件名に「打ち合わせ」が含まれるメールを受信したときにトリガーが起動して、フローが自動実行されます。
この連載の記事
-
第44回
Team Leaders
契約書を確実に期限管理! SharePoint+Power Automateで期日通知を自動化 -
第43回
Team Leaders
社内からの質問に自動回答! AI Builder+ノーコードでQ&Aボットを作ろう -
第42回
Team Leaders
Power Automateで複数人の承認(多段階承認)ワークフローを簡単作成しよう -
第41回
Team Leaders
重要なTeamsメッセージの見失い/見落としを防ぐPower Autometeのフローを作ろう -
第40回
Team Leaders
クラウドフローからデスクトップフローを「Picture-in-Picture」で起動する -
第38回
Team Leaders
生成AIに日本語プロンプトで指示を出し、メールから情報を抽出してもらおう -
第37回
Team Leaders
フォルダー内のすべてのファイルを添付してメールを自動送信するフローを作ろう -
第36回
Team Leaders
ローカルPCのテキストファイルをPower Automateに読み込ませて活用しよう -
第35回
Team Leaders
受信メールの添付ファイルを種類に応じたフォルダに自動保存する -
第34回
Team Leaders
Power AutomateでTeamsのチーム全員にメンションを送る方法 - この連載の一覧へ