🍣

重要っぽいメールだけteamsに通知させる - PowerAutomate -

2024/12/31に公開

やりたいこと

Copilot Studioのエージェントのユースケースを考えていたら、重要っぽいメールをいい感じに選別してteamsにチャットしてもらいたいなと。

ただ、これはGPT使わなくても問題ないなーと思ったので、PowerAutomateの利用例になります。

処理の流れ

  1. teamsのファイルに通知して欲しいドメインを記載したExcelファイルを作成
  2. PowerAutomateでフローを作成
    3. 新着メールのトリガー追加
    4. SharePointのExcelファイルの一覧を取得
    5. 新着メールの送信者のドメインがファイル一覧にあり、メール本文に「竹石」と記載があれば、teamsにメールの内容をチャット

という感じです。以上ではありますが、一応参考程度に手順を。

1.通知ドメインのExcelファイルイメージ

row_id クライアント ドメイン
1 S社 sss.co.jp
2 N社 nnn.co.jp
3 テスト gmail.com

2.PowerAutomateのフロー作成

結構試行錯誤した結果、上記のようなフローになりました。

基本的にはアクションを選択していくだけなのですが、

何のアクションが必要なのか、Excelの取得方法(SharePoint/Excel Online)、Excelの操作(行取得/テーブル取得/一覧取得・・・)など、選択肢が多すぎて何をすべきかよくわからなくてハマりました。

その辺はCopilotに相談しながら、上手いこと進められると思うのですが、結局Copilotもアイデアを出してくれるだけで、選択は人がやるので試しながら何が取れるのか確認しながら進めないとよくわからなかったです。

送信者のドメインがリストにあるか判定

送信者のドメイン抽出のところだけ、式で取得したのでメモします。

split(triggerOutputs()?['body/from'], '@')[1]

テスト実行

上記のフローで適当に対象ユーザーにメールを飛ばしてテストができます。
(初回は実際にメールを送って、再実行はPowerAutomateからできます)

結果

適当に条件を満たしたメールを送ると、Workflowsからメッセージが来るようになりました。

名前の条件は誤変換されることが多いので迷いましたが、強い気持ちで除外しました。

まとめ

今回はPowerAutomateでやりましたが、Copilot Studioを使ってエージェント化することで、他の人にも簡単に提供できるのと、PowerAutomateの処理部分を簡単に作成できるようになっていくと思うので、Copilot Studioでエージェント化していきたいと思います。

ヘッドウォータース

Discussion