松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第39回
打ち合わせの日程メールを生成AIに読ませ、自動でスケジュール登録してもらう
面倒なカレンダー登録作業を生成AIで自動化するワークフローを作ろう
2024年07月04日 11時00分更新
3-1. アクションの設定:GPT でプロンプトを使用してテキストを作成する
続いて、作成したカスタムプロンプトで生成AI(GPTモデル)にメール本文を読み取らせ、必要な情報を抽出するアクションの設定です。
検索窓に「GPT」と入力すると「AI Builder」コネクタが表示されるので選択します。アクション一覧から「GPT でプロンプトを使用してテキストを作成する」をクリックします。
(1)プロンプト:「1. カスタムプロンプトの作成」で作成した「打ち合わせ日時抽出」を選択
(2)メール:Outlookの動的なコンテンツ「本文」を選択
3-2. アクションの設定:イベントの作成 (V4)
カスタムプロンプトで抽出した打ち合わせの詳細情報を使い、Outlookのスケジュールを登録する部分です。
検索窓に「Outlook」と入力して「Outlook」コネクタを選択し、アクション一覧から「イベントの作成 (V4)」をクリックします。
(1)予定表ID:予定を入力したいカレンダー名をプルダウンで選択(今回は「Calendar」)
(2)件名:「新しいメールが届いたとき (V3)」の動的なコンテンツ「件名」と、「GPT でプロンプトを使用してテキストを作成する」の動的なコンテンツ「送信者」を選択。適宜カッコや「様」を書き加える
(3)開始時間:次の「式」を入力して、動的なコンテンツ「会議日」と「開始時間」が「2024-07-01T14:00」形式になるよう加工
concat(outputs('GPT_でプロンプトを使用してテキストを作成する')?['body/responsev2/predictionOutput/structuredOutput/_4F1A_8Bc14f465938d530d4cad3f5cb30123430'],'T',outputs('GPT_でプロンプトを使用してテキストを作成する')?['body/responsev2/predictionOutput/structuredOutput/_958B_590957b4266177147a017924badd254e42'])
(4)終了時間:次の「式」を入力して、動的なコンテンツ「会議日」と「終了時間」が「2024-07-01T14:00」形式になるよう加工
concat(outputs('GPT_でプロンプトを使用してテキストを作成する')?['body/responsev2/predictionOutput/structuredOutput/_4F1A_8Bc14f465938d530d4cad3f5cb30123430'],'T',outputs('GPT_でプロンプトを使用してテキストを作成する')?['body/responsev2/predictionOutput/structuredOutput/_7D42_4E6e542613c83c1fffe3129b5f6e9540ee'])
(5)タイムゾーン:「(UTC+09:00) Osaka, Sapporo, Tokyo」を選択
(6)場所:「詳細オプションを表示する」をクリックし、場所に「GPT でプロンプトを使用してテキストを作成する」の動的なコンテンツ「場所」を設定
3-3. アクションの設定:チャットまたはチャネルでメッセージを投稿する
Outlookカレンダーへのスケジュール登録が完了したら、Teamsにもその内容を通知します。
検索窓に「teams」と入力して「Microsoft Teams」コネクタを選択し、アクション一覧から「チャットまたはチャネルでメッセージを投稿する」をクリックします。
(1)投稿者:「ユーザー」を選択
(2)投稿先:「Channel」を選択
(3)Team:投稿先のチームを選択
(4)Channel:投稿先のチャネルを選択
(5)Message:Teamsに投稿する本文。「GPT でプロンプトを使用してテキストを作成する」の動的なコンテンツを利用し、わかりやすいように成形 (6)Subject:Teamsに投稿するメッセージの件名
以上でワークフローは完成です! 最後は忘れずに、ワークフローの名前を入力して「保存」ボタンをクリックします。
ただし、今回作成したフローを保存しようとすると、フローチェックに引っかかり「アクション 'GPT でプロンプトを使用してテキストを作成する' の後にコンテンツ承認アクションが存在しません。」という警告が表示されます。
前回も説明しましたが、生成AIが自動生成するテキストは、しばしば正しくない情報や適切ではない内容を含むことがあります。こうしたリスクを回避するため、Power Automateでは生成AIの出力した内容に対して、人間による「承認」のアクションを入れることが推奨されています。
今回は「承認」コネクタを設定していませんが、実務で活用する場合は適宜「承認」コネクタを設定してください。
4. 実行結果
さっそく作成したフローを実行して、Outlookカレンダーに予定が登録されることを確認してみます。
上図のような内容のテストメールを自分宛に送信し、受信しました。メールの送り主は「大分」さんで、打ち合わせの日時や場所の情報が入っています。
Outlookカレンダーを確認すると、きちんと予定が入力されていました。スケジュールのタイトルにメールの送り主(今回は「大分さん」)の名前を入れたことで、誰との打ち合わせなのかも分かりやすいですね。
続いてTeamsを確認すると、こちらにも打ち合わせの件名や送信者、日時、場所を含むメッセージが投稿されています。
最後に
今回は「AI Builder」コネクタの「カスタムプロンプト」を活用して、受信メールから自動でスケジュール登録を行うワークフローを作成しました。
GPTモデルの応答は、カスタムプロンプトの指示しだいで大きく変わります。「1. カスタムプロンプトの作成」でご紹介したとおり、プロンプトの入力⇒テスト⇒修正⇒テスト……と、入力したプロンプトの結果が手軽に試せて修正もできる点は良いと思います。また、モデルからの応答(出力)をJSON形式に指定することで、応答の内容が後続のアクションで利用しすくなることも覚えておきましょう。
今回見てきたとおり、生成AIを活用することで、非定型のメール本文からでも必要な情報を簡単に抽出することができます。もちろん失敗することもありますが、その点を差し引いても便利に使えるのではないでしょうか。ぜひここからアイデアをふくらませて、さまざまな目的で活用してみてください!

この連載の記事
-
第55回
Team Leaders
フォルダーに入れるだけでPDFに自動変換! Power Automateの標準コネクタで実現する -
第54回
Team Leaders
Teamsで「👍」が付いたらPower Automateのフローを自動実行! そんな方法を教えます -
第53回
Team Leaders
Excelの画面上からPower Automateを実行! “自動化の入り口”にしよう -
第52回
Team Leaders
Microsoft Formsへの入力で、Power Automateフローを実行する! 実践的連携術 -
第51回
Team Leaders
Power Automateの「トリガーの条件」が便利! フローの繰り返し実行を細かく制御しよう -
第50回
Team Leaders
顧客ごとに異なる内容のメールを自動送信! Power Automateで柔軟なフローを実現 -
第49回
Team Leaders
Power Automateで自動作成したメール、Outlookに「下書き保存」するには? -
第48回
Team Leaders
Power Automateで「複数の承認ルート」対応の承認ワークフローを作ろう -
第47回
Team Leaders
「スイッチ」アクションで3種類以上の添付ファイルを自動分類/フォルダー保存する -
第46回
Team Leaders
SharePointリストとExcelを活用して、効率的な「お知らせメール」送信フローを作ろう -
第45回
Team Leaders
Power Automateで使える“2種類のExcel”、その使い分けを覚えよう - この連載の一覧へ







