松本典子の「はじめよう!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を活用することで、非定型のメール本文からでも必要な情報を簡単に抽出することができます。もちろん失敗することもありますが、その点を差し引いても便利に使えるのではないでしょうか。ぜひここからアイデアをふくらませて、さまざまな目的で活用してみてください!
この連載の記事
-
第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のチーム全員にメンションを送る方法 - この連載の一覧へ