この記事ではエクセルを利用して、部署ごとにメールを送信する方法を紹介します!
エクセルにて部署名とメールアドレスを管理したテーブルから、
Power Automate側で対象者の部署ごとにメールを送信するという流れになっています。
例えば、業務連絡・勤怠連絡・日報など、
会社として共通の業務はあれど、管理するのは部署ごとにというケースがあるかと思います。
部署ごとにPower Automateのフローを用意していたら管理が大変になるので、
なんとか一つのフローで実現したい!
そんなときは、ぜひ、こちらのフローを参考にしていただければと思います!
エクセルからマスタデータを取得する
まずExcelから部署名とメールアドレスを管理しているテーブルを呼び出します。
呼び出し方からデータの抽出までは、以下記事を参考にしてください。
エクセルのデータをアレイデータとして保持することができたので、
申請者の部署名をもとに送信先のメールアドレスを取得できればいいですね。
繰り返し処理を使って担当部署を特定する
先に設定例の全体図を紹介します。
- それぞれに適用するアクション
直前で取得したJSONの値をセットしてループ処理でまわします。 - 条件アクション
JSON値の部署名と、対象ユーザーの部署名を比較。
例では、条件アクションの対象ユーザーの部署はMicrosoftアカウントのプロフィールから取得しています。
(「ユーザープロフィールの取得」アクションを利用しています)
部署名はMicrosoftアカウントから参照できるのが簡単ですが、
難しい場合は、本フローのトリガーにて取得する仕組みを構築する必要があります。
(例えば、Formsにて部署名を必ず選択してもらうなど)
部署名に変更があった、新しい部署が作られたなどなど、部署名が変わることが起きえるため、
条件アクションにてアレイデータ内の部署名に申請者の部署名があるかどうかもチェックしておきます。
(本フローを管理する方へメールやTeams送信するなどして検知することを想定)
条件に合致した場合は、メールアドレスの変数にセットしてあげましょう。
<余談>
エクセルを使わなくてもPower Automateだけで送信先を制御することも可能です。
その場合は「スイッチ」アクションで、それぞれの部署ごとに定義が必要かつ、
部署名の変更等のメンテナンスが大変なのでエクセルで管理することをおススメします!
部署の数だけケースを設定していくので、5個以上あるともう大変ですね。。。
取得したメールアドレスに通知メールを送信
通知先のメールアドレスは取得できましたので、あとはメールを送信するだけですね!
メールではなくTeams投稿したい!という場合は、
Excelのテーブルに定義したメールアドレスにTeamsのアドレスを設定すれば送信できます!
ここでは、部署ごとのメール送信の実現を紹介しました!
同じ方法でいくつも応用が利くと思いますので、ぜひ活用してみてくださいね。
こんな方法で使ってるよ、という方いましたらぜひコメントで教えてください!!