技術情報ブログ
Power Platform
2022.03.09

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_承認画面のURL
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からは承認処理が実行できてしまうからです。

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

Teams_タイムアウト後の承認処理-修正前(タイムアウト後も承認処理ができる)
Teams_タイムアウト後の承認処理-修正前(タイムアウト後も承認処理ができる)

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

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

Teams_タイムアウト後の承認処理-修正後(タイムアウト後も承認処理ができない)
Teams_タイムアウト後の承認処理-修正後(タイムアウト後も承認処理ができない)

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

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

 

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

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

 

メリット

デメリット

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

・作成の難易度が比較的低い

・Power Automateのプレミアムコネクタが不要

・新しくフローを作成する必要あり

・リマインド通知上で承認処理ができない

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

・作成の難易度が比較的低い

・既存のフロー内で対応可能

・Power Automateのプレミアムコネクタが不要

・リマインド通知上で承認処理ができない

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

・既存のフロー内で対応可能

・リマインド通知上で承認処理ができる

・作成の難易度が比較的高い

・Power Automateのプレミアムコネクタが必須

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

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

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

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

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

この記事を書いた人
小刀稱知哉

小刀稱 知哉ことね ともや

SharePoint Power Platform全般 Copilot Studio 技術アドバイス・教育支援

Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!

2025 Microsoft MVP(Power Apps・Power Automate)
PL-200 PL-300 PL-400 PL-600 MS-700 AZ-104 AZ-305 SC-200 SC-100

Microsoftクラウド関連

シェアする
記事カテゴリ
最新記事
2026.04.29

Dataverse応用(1)!列レベルのセキュリティを設定してみよう!-特定の列だけマスクする

2026.04.22

ソリューション内で異動・退職者のPower Apps/Power Automateなどを引き継ぐには?所有者変更の手順と注意点を解説

2026.04.15

SharePoint:『リンクのコピー』は危険?権限トラブルを防ぐ推奨運用を解説

2026.04.08

技術ブログ100本書いてみたら、想像以上に得るものがあった話

2026.04.01

社内に聞く人がいない「孤独なDX」を解決!アーティサンの内製化支援サービス

データ構造.Net Core Test ExplorerレスポンシブUpdateContext承認フロー送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPI請負契約効率化Power Platform CLI業務キー月額定額PV数 増やす共同所有者1行テキストモデル駆動型アプリSortByColumns関数Dataverse for TeamsDynamics 365ロードマップフォームメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバー総合評価型入札資料作成開発手順複合キー委任問題権限トラブル主要な所有者複数行テキストPower AppsTypeScriptitem関数入門技術form差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェントデジタルトランスフォーメーション初心者向け拡張機能データ整合性Delegationアクセス権限環境変数選択肢Power PlatformHTMLGoogle Maps初心者Itエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットプロポーザル方式ハウツービルドデータベース設計サブスクリプション型支援ファイルパスクラシック画面日付SharePointEF CoreMarker Clusterer中級者DXインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用官公庁システム画像挿入プロジェクト作成ユニークキーMVP共有設定ソリューションエクスポート整数ExcelマイグレーションRANK()関数キャンバスアプリノウハウカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性デジタル化推進複数レコードPCFギャラリー一意制約技術支援情報漏洩対策権限管理データ型Power AutomateFramework CoreDynamics 365 SalesDatePicker情報技術componentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進テーマカラーPDF変換業務システムURLパラメータ技術ブログ 書き方コマンドバーカスタマイズ組織変更C#Attribute directivesMicrosoft TranslatorDropdownメッセージIDダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ダークモード資料自動作成キャンバスアプリ 違いメンテナンスモードエンジニア ブログ メリットSharePoint管理センター注文管理アプリattributeO/Rマッパーマーカークラスタリングライブラリviewメールコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Formulasプロパティフロー設計Power Apps 導入並べ替えブログ 継続 コツDLPサブグリッドvalidationazure sql databasetailwindcssビューfirst()関数dialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理カラーセットテンプレート活用Power Apps 比較ヘッダー非表示技術力向上権限管理ベストプラクティスDataverse テーブルローコードCase式マルチテナントアクセス制限nestTips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理カラーユニバーサルデザイン自動化事例モデル駆動型 とはリスト フィルタ文章力 鍛え方野良権限部署AngularHTTP Requestドロップダウンメニューノーコード入れ子新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムアプリデザインNode.jsシステム構築便利アウトプット 重要性Teams ファイル共有リレーションシップAccessCSSBreakpointObserver承認動的リスト変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化UI/UXVisual Studio CodeAlternate Key野良アプリ対策IT エンジニア 転職OneDrive1対多InfoPathxUnitメディアクエリリマインドcollection検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定アクセシビリティPCF代替キーCoEブログ モチベーションつながり参照多対多MatTable.Net Core 3.1スマホSetコレクションMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn Docsアジャイル開発Wordテンプレート環境構築重複チェック内製化コンサルティングネタ切れ 対策システムカスタマイザーER図Angular MaterialVSCodePCForAll複数の添付ファイルセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタ準委任契約業務自動化カスタムコンポーネントGUIDITサポートAI ブログ 活用Connection Reference入門編
PageTop
ページトップに戻る