Power Automate リマインドメール

Power Automate リマインドメール

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

Power AppsやPower Automateを用いて申請・承認を行うアプリを作成したことはありますか?
弊社でも、申請・承認アプリは特に要望の多いアプリの1つです。

アプリを作成する際、「承認忘れを防止するために、リマインド機能を実装できないか?」と要望を頂くことがあります。

そこで、今回はPower Automateを用いて承認のリマインド機能を実装するための対応方針を説明します。
内容としては、既にPower Automateでフローを作成したことがある方に向けた記事です。

Power Automate初心者の方は、以下の記事も参考にしてください。

Power Automateを用いた承認リマインド機能の対応方針

Power Automateを用いて承認のリマインド機能を実装するには、大きく3つの対応方針があります。

  • リマインド用のフローを新しく作成する

  • 「待ち時間」アクションを用いる

  • 承認依頼アクションのタイムアウトを用いる

以下では、それぞれの方法について説明します。

リマインド用のフローを新しく作成する

リマインド用のフローを新しく作成する方法です。
フローの内容としては、以下のとおりです。

トリガー:スケジュール済みクラウド フロー(例:毎日 AM 7:00 に起動)

処理内容:各データの承認ステータスを確認、未承認となっている場合は承認者へ通知する

フロー作成の難易度が低いため、比較的容易に構築可能です。

ただし、承認処理を行っているフローとは別に、新しくリマインド用のフローを作成する必要があります。
フローの数が多くなると、管理する手間も増えますので、注意が必要です。

また注意点として、承認を依頼するアクション(例:「開始して承認を待機」アクション)の場合は、OutlookやTeams上から承認/拒否を選択することはできますが、リマインド通知を行うアクション(例:「メールの送信(V2)」アクション)では、本文内で承認処理はできません。
対応策としては、通知の本文内に、Power Automateが標準で提供している承認画面のURLを記載することをおすすめします。

承認画面のURLは、Office 365へログインし、Power Automate → 実施項目 → 承認 → 受信済みと進んだ際のURLです。
この画面で、自分が承認処理の行う必要があるアイテム一覧を確認し、承認/拒否を実施することができます。

Power Automate リマインドメール
Power Automate_承認画面のURL

「待ち時間」アクションを用いる

一定時間毎に承認処理が完了しているか確認し、承認が完了していない場合は、承認者にリマインド通知を実施する方法です。

作成したフローは以下です。

Power Automate リマインドメール
Power Automate_「待ち時間」アクションを用いるフロー

Do untilアクション内で、リマインド機能を実装しています。

具体的には、「待ち時間」アクション内で設定した時間が経過した後、承認処理が完了したか確認します。
承認処理が完了していない場合は、承認者に対し、リマインドメールを送信します。

フロー作成の難易度が低いため、比較的容易に構築可能です。
また、承認処理を行っているフローの中にリマインド機能を追加することができるため、新しくフローを作成する必要はありません。

ただし、1つ目で示した方法と同様に、リマインド通知を行うアクション(例:「メールの送信(V2)」アクション)では、本文内で承認処理はできません。
前述した対応策を実施してください。

承認依頼アクションのタイムアウトを用いる

承認依頼アクションにタイムアウト値を設定し、一定時間内に承認が行われない場合は、承認依頼アクションをタイムアウトさせ、再度新しい承認依頼アクションを実行する方法です。

作成したフローは以下です。

Power Automate リマインドメール
Power Automate_承認依頼アクションのタイムアウトを用いるフロー

「承認を待機」アクションのタイムアウトに、承認を再通知するまでの値を記載します。

「承認を待機」アクションの右横にある三点リーダーをクリックし、「設定」を選択してください。
本アクションの設定画面が表示されます。

設定画面の「タイムアウト」の値に「PT1D」と記載します。
「PT1D」は「1日」を意味します。
この記載方法は「ISO 8601 duration format」に準拠しております。

詳細は以下を参照ください。
ISO 8601 #継続時間

Power Automate リマインドメール
Power Automate_タイムアウト値の設定

また、「現在の時刻」アクションは、前の処理(「承認を待機」アクション)がタイムアウトした場合起動するように、「実行条件の構成」の設定を変更しています。

Power Automate リマインドメール
Power Automate_実行条件の変更

続いて、承認依頼の取り消しを行います。

Power Automateの承認依頼アクションで行う承認の状況は、Dataverseの「Approvals」というシステムテーブルに格納されます。
そこで、「Approvals」テーブルから対象のレコードを抽出し、承認状況を「取り消し」に更新します。

※Dataverseを操作する場合には、Power Automateの標準コネクタでは対応できません。プレミアムコネクタが必須となります。

Power Automate リマインドメール
Power Automate_行を更新する

なぜタイムアウトしたのに、わざわざDataverseのレコードを更新する必要があるのでしょうか?

それは、承認がタイムアウトとなった後も、OutlookやTeamsからは承認処理が実行できてしまうからです。

以下の画像をご覧ください。
この承認依頼アクションは既にタイムアウトしていますが、それにも関わらず通常通り承認処理ができてしまいます。

Power Automate リマインドメール
Teams_タイムアウト後の承認処理-修正前(タイムアウト後も承認処理ができる)

これでは、承認者が間違って、タイムアウトした後の承認依頼について、承認処理を実行してしまう可能性があります。
(タイムアウトした後の承認依頼について、承認/拒否を選択しても、Power Automateでは何も実行されません。)

そこで、Dataverseから対象のレコードを強制的に更新することで、タイムアウトした承認依頼は、承認処理を実行できないようにしています。

Power Automate リマインドメール
Teams_タイムアウト後の承認処理-修正後(タイムアウト後も承認処理ができない)

本方法の場合、承認を依頼するアクションを都度実行しているため、リマインド通知内にて、承認処理を実行できます。
また、承認処理を行っているフローの中にリマインド機能を追加することができます。

ただし、フロー作成の難易度は比較的高いです。
また、Dataverseを更新するため、Power Automateのプレミアムコネクタが必須となります。

承認リマインドにおける各方法のメリット・デメリット

今回紹介した対応方針について、メリット・デメリットを以下にまとめました。

フロー作成の難易度としては、リマインド用のフローを新しく作成する方法が最も低いです。
よって、お手軽に実装するのであれば、こちらの方法をおすすめします。

また、フローの数を増やしたくない場合は、「待ち時間」アクションを用いる方法をおすすめします。
ただし、上記2つの方法は、リマインド通知上で承認処理を行うことはできません。
(通知メッセージ内に承認画面のURLを記載することで、承認一覧画面へ誘導することは可能です。)

承認者の手間を少しでも省くために、リマインド通知上で承認処理を行いたい場合は、
承認依頼アクションのタイムアウトを用いる方法をおすすめします。
この方法は、Dataverseの更新が必要となるため、Power Automateのプレミアムコネクタが必須となります。

皆さんの環境に応じて、使い分けてください。

本記事では、Power Automateを用いて承認のリマインド機能を実装するための対応方針について説明しました。
参考としていたいだければ幸いです!

【こちらも合わせて読みたい】

弊社ではPower Platform(Power AppsやPower Automateなど)を用いてお客様の業務を自動化するご支援を数多く承っております。

業務の中で、「普段手動でやっている業務を自動化できないか」というような疑問がある場合には、お気軽にアーティサン株式会社までお問い合わせください。

Power Automate リマインドメール

小刀稱知哉

大分県出身(温泉大好き♥♥)、現在は東京都在住

1990年4月9日生まれ

30才にしてメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!

Power Automateの有効期限は?

無償版および試用版は 60 日間、Microsoft 365 プランは 90 日間に渡ってフローが実行されないと、無効化されてしまいます。 Power Automate のユーザー単位プランやフロー単位プランを追加で購入していただくことで、無効化を防ぐことができます!

メッセージに遅延応答するの使い方は?

返信するメッセージのメニューから – [その他の操作] – [メッセージに遅延応答する (フローにつけた名前)] をクリックします。 ... .
アダプティブ カードが表示されるため、返信を投稿する日時とメッセージを入力します。 ... .
指定した日時に返信メッセージが投稿されます。.

Power Automateの間隔は?

しかしながら、「自動化されたクラウドフロー」のトリガーは、ライセンスの種類によっては最大15分の間隔で実行されます(Power Automate for Office 365 では、5分間隔で実行されます)。 ボタンクリック時に、保存とフロー開始を同時に行うことで、待ち時間を減らすことが可能です!