Plannerの完了バケットに移動したタスクの画面

Power Platformでメール受付から対応管理までをつないでみた

メールは、忙しい日に限って静かに迷子になります。人間の記憶力だけを唯一の受付システムにするのは、さすがに心もとない。そこで今回は、Outlook・SharePoint・Power Apps・Power Automate・Plannerをつなぎ、メール受付から対応完了までを追える小さな仕組みを作ってみました。

作ったもの

対象フォルダへメールを移すと、SharePointの「メール受付台帳」に登録されます。Canvasアプリから対応を開始するとPlannerにタスクを作成し、完了時には台帳とPlannerの両方を更新します。メールを移すだけで受付が始まるので、「あの依頼、誰が持ってたっけ?」を減らすのが狙いです。

  • メールを受付台帳へ記録する
  • アプリで未確認・対応中・完了を確認する
  • 対応開始時にPlannerタスクを作る
  • 完了時にPlannerタスクも完了し、完了バケットへ移す

全体の流れ

OutlookからPlannerまでのメール受付・対応管理フロー図
メールを受け付けてから完了までの流れ
  1. Outlookで対象メールを受付用フォルダへ移動する。
  2. Power Automateがメール情報をSharePointリストへ登録する。
  3. Power Appsで受付内容を確認し、「対応する」を押す。
  4. フローがPlannerタスクを作成し、タスクIDを台帳に書き戻す。
  5. タスクIDが戻ったことを確認してから「完了にする」を押す。
  6. フローがPlannerタスクを完了し、完了バケットへ移す。

Power Automateは決めた仕事をかなり律儀にやってくれます。ただし、前の処理が終わる前に次の処理を急かすと、さすがに困ります。

最初につまずいた点

対応開始の直後に完了操作をすると、PlannerタスクIDが台帳へ戻る前に完了フローが走ることがありました。これでは、完了にする対象のPlannerタスクを特定できません。ボタンを押せるからといって、裏側の準備が終わっているとは限らない、という小さな落とし穴です。

そこで、アプリの完了ボタンは「処理ステータスが対応中」かつ「PlannerタスクIDが空ではない」ときだけ押せるようにしました。作成中は「Plannerタスクを作成中です」と表示し、少し待つ理由も画面上で分かるようにしています。

If(
    ThisItem.処理ステータス.Value = "対応中" &&
    !IsBlank(ThisItem.PlannerタスクID),
    DisplayMode.Edit,
    DisplayMode.Disabled
)

Plannerの完了バケットへ移すときの注意

タスクの更新で必要なのは、現在のタスクが入っているバケットIDではなく、移動先の「完了」バケットのIDです。ここを取り違えると、見た目はそれらしいのに動かないフローができます。

今回はPlannerの「バケットを一覧表示する」で取得した一覧から、名前が「完了」のバケットだけを絞り込み、そのIDを更新アクションへ渡しました。Plannerコネクタには「バケットを一覧表示する」「タスクを作成する」「タスクを更新する」などのアクションがあります。接続や共有時の制約は、実装前に公式リファレンスで確認するのが安心です。Microsoft Learn: Planner コネクタ

できあがった状態

最終テストでは、メール受付から対応開始、Planner登録、完了、完了バケットへの移動まで一連で動きました。フローが最後まで緑のチェックになると、地味ですがかなり気分がいいです。

大きな仕組みを最初から作るより、受付と対応管理のように境界がはっきりした小さな業務から始めると、必要なデータや例外処理が見えやすくなります。まず一件を最後まで通して、詰まった場所を直す。この繰り返しが、いちばん学びになりました。

次に改善したいこと

  • Plannerタスク作成中に台帳を自動更新する
  • フロー失敗時にアプリ上で再実行や確認をしやすくする
  • メールの優先度や担当者を台帳で管理する

この記事は実際に試した初期版の記録です。コネクタの仕様、ライセンス、組織の接続ポリシーは変わるため、導入時には公式ドキュメントと自分の環境をあわせて確認してください。