技術情報ブログ
Power Platform
2022.03.16

Power Apps キャンバスアプリの承認機能:Teams通知とアプリ内承認、どちらを選ぶべきか【設計方針まとめ】

Power Apps キャンバスアプリの承認機能:Teams通知とアプリ内承認、どちらを選ぶべきか【設計方針まとめ】

💡 この記事でわかること

Power AppsとPower Automateを使った承認機能の実装には、大きく2つの設計方針があります。1つはPower Automateの標準承認アクションを使い、TeamsやOutlook上で承認する方法、もう1つはキャンバスアプリ上から直接承認・拒否を実施する方法です。本記事では、それぞれのメリット・デメリットを比較し、自社の運用に適した設計方針を選ぶための判断基準を解説します。

  • Power Apps承認機能の2つの設計方針の概要
  • Teams・Outlook経由で承認する方法のメリット・デメリット
  • キャンバスアプリ上から直接承認・拒否を実施する方法の特徴
  • 両方同時実装の可否と排他制御の考え方
  • 自社運用に合った設計方針を選ぶ判断基準
この記事を書いた人
小刀稱知哉

小刀稱 知哉ことね ともや

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

Power Appsで承認フローを構築する際の設計方針でお悩みですか?

アーティサンのPower Apps / Power Automate 導入支援サービスでは、要件定義から実装まで一貫してサポートします。

X-SP Feature
SharePoint 拡張機能サービス
X-SP Feature
詳しく見る →
X-SP Design
SharePoint デザイン拡張サービス
X-SP Design
詳しく見る →
SharePoint 構築支援
SharePoint 構築支援サービス
詳しく見る →
SharePoint 伴走パートナー
SharePoint 伴走パートナーサービス
詳しく見る →
Power Apps・Power Automate
Power Apps・Power Automate 導入支援サービス
詳しく見る →
内製化支援
内製化支援サービス
Power Apps・Power Automate・Copilot Studio
詳しく見る →
DX人材育成
DX人材育成プログラム
Power Apps・Power Automate
詳しく見る →
地方自治体ローコード
地方自治体ローコード導入・運用支援サービス
Power Apps・Power Automate
詳しく見る →

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

承認機能を実装する際には、Power Automateの承認アクションを用いることが一般的です。
一方で、お客様からは「Power Appsのアプリ上で承認したい」という要望を頂くことも多いです。

そこで、今回は承認機能の設計方針について説明いたします。
Power Apps キャンバスアプリを設計にする際に参考にしていただけますと幸いです。

内容としては、既にPower Apps・Power Automateでアプリを作成したことがある方に向けた記事です。

承認機能の設計方針

承認機能を実装するには、以下の方針が考えられます。

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

Outlook/Teams上から承認/拒否を実施

Power Automateの承認アクションを用いる方法です。
※承認アクション:「開始して承認を待機」アクションや「承認を作成」アクションを指します。

Power Automateでの承認アクション
Power Automateでの承認アクション

この方法を用いると、OutlookやTeams上で承認/拒否を実施可能となります。
(承認アクションを1つ設定するだけで、Outlook・Teamsへ同時に通知されます。)

Outlook/Teams上での承認画面
承認画面(左:Teams、右:Outlook)

メリットとしては、Power Automateの標準機能を用いて構築するため、実装の難易度が低いことが挙げられます。
また、承認者が都度アプリを起動する必要がないため、承認処理の手間は小さくなります。

一方、デメリットとしては、Power Appsのアプリ上では承認処理を行うことはできないことです。
よって、承認者が自身の未承認一覧を把握し、承認を行いたい場合、 「OutlookやTeams上で未承認の通知を探し出し、承認作業を実施する」という作業が必要となります。

上記を手間を減らすためには、Power Automateが標準で提供している承認画面を用いる方法もあります。
※標準の承認画面は、アプリに関係なく、そのユーザーが対応すべき全ての申請情報が表示されています。

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

Power Automate_承認画面のURL
Power Automate_承認画面のURL

Power Apps キャンバスアプリ上から承認/拒否を実施

Power Automateの承認アクションを用いることなく、自力で承認処理を実装する方法です。
Power Apps キャンバスアプリのサンプル画面を以下に示します。

Power Apps キャンバスアプリ上での承認画面
Power Apps キャンバスアプリ上での承認画面

メリットとしては、Power Apps キャンバスアプリ上から承認/拒否を実施させることが可能である点です。
よって、承認者が自身の未承認一覧を把握し、承認を行いたい場合、「キャンバスアプリ上で未承認一覧を把握→そのまま承認を実施する」というシナリオが対応可能です。

また、自力で実装するため、承認画面や機能をある程度自由に設計できる点も挙げられます。
(例:拒否を行う場合は、コメントを必須とするなど)

一方、デメリットとしては、Outlook/Teams上から承認/拒否の実施はできないことです。
また、自力で承認処理を構築するため、実装の難易度は高くなります。

キャンバスアプリ構築のイメージとしては以下です。

  • 申請者が承認処理を実施すると、承認者へメールを送信する。

    Power Automateにて、「申請ボタンを押下した際、承認者へメールを送信する」フローを作成します。
    また、送信するメールの中に、キャンバスアプリのURLと申請ID値を記載します。

    Power Apps上で承認する際のメール画面
    Power Apps上で承認する際のメール画面
  • 承認者用のキャンバスアプリは、URLに申請ID値が含まれている場合は、対象の申請詳細画面を開くように実装する。

    param()関数を用いて実装します。
    詳細は以下をご参考にしてください。

    Power Apps の Launch および Param 関数

     

  • 承認者用のキャンバスアプリでは、画面上に承認/拒否ボタン及びコメント用のテキストボックスを追加する。

    Power Apps キャンバスアプリ上での承認画面詳細
    Power Apps キャンバスアプリ上での承認画面詳細

    実際の運用を行う際には、以下の機能も実装することをお勧めします。

    1. 自身が承認者となっていない場合は、承認/拒否ボタンを非活性させる。

    2. 他の承認者が先に承認した場合、レコードが上書きできないように、データの排他制御処理を行う。

    Power Automateの承認アクションは自動的に排他制御(他の人が承認したら、自身は承認できなくなる)が実装されていますが、このような機能も自力で実装していく必要があります。

まとめ

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

 

メリット

デメリット

Teams/Outlook上から承認/拒否を実施

・実装の難易度が低い

・通知の文面上で承認ができるため、承認処理の手間が比較的小さい

・未承認一覧から承認を行う場合、手間が大きい
※Power Automateの承認画面から一覧の把握は可能
・承認画面や機能は固定

Power Apps キャンバスアプリ上から承認/拒否を実施

・未承認一覧から承認を行う場合、手間が小さい

・承認画面や機能をある程度自由に設計できる

・実装の難易度が高い

・アプリを起動した後承認を行うため、承認処理の手間が比較的大きい

参考:Teams/Outlook上、かつPower Appsキャンバスアプリ上から承認/拒否を実施することはできるのか?

参考として、上記2つの方法の組み合わせた方法が実装できるのかについて検討します。

TeamsやOutlook上で承認/拒否を行うことが可能であり、かつPower Appsのキャンバスアプリ上からでも同様の処理ができるイメージです。
実装の難易度としては、非常に高くなることが考えられます。

理由としては、前項で説明したデータの排他制御に加え、Power Apps・Power Automate間で承認処理の同期をとる必要があるからです。
(Power Apps上で承認した場合は、Power Automateの承認アクションを終了させるなど)

アプリを利用するユーザーの立場から考えると、一番使いやすいアプリになるかもしれませんが、
実装の難易度が格段に高くなるため、アプリを提供するまでの期間が長くなることやバグが発生しやすくなることを考慮すると、 前述した2つの方法のどちらかで対応することを推奨いたします。

ローコードアプリを作成する際の設計思想については、以下をご参考にしてください。

本記事では、承認機能の設計方針について説明しました。
アプリを設計にする際に参考にしていただけますと幸いです。

Power AppsやPower Automateを活用した社内アプリ開発を内製化したい企業様へ。

アーティサンの内製化支援サービスでは、承認フローを含む業務アプリ開発のノウハウを体系的にご提供します。

X-SP Feature
SharePoint 拡張機能サービス
X-SP Feature
詳しく見る →
X-SP Design
SharePoint デザイン拡張サービス
X-SP Design
詳しく見る →
SharePoint 構築支援
SharePoint 構築支援サービス
詳しく見る →
SharePoint 伴走パートナー
SharePoint 伴走パートナーサービス
詳しく見る →
Power Apps・Power Automate
Power Apps・Power Automate 導入支援サービス
詳しく見る →
内製化支援
内製化支援サービス
Power Apps・Power Automate・Copilot Studio
詳しく見る →
DX人材育成
DX人材育成プログラム
Power Apps・Power Automate
詳しく見る →
地方自治体ローコード
地方自治体ローコード導入・運用支援サービス
Power Apps・Power Automate
詳しく見る →

Microsoftクラウド関連

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

【2026年5月更新】Power Apps の実践的なノウハウ まとめ

2026.04.29

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

2026.04.22

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

2026.04.15

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

2026.04.08

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

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入門編データ構造.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チャットボットプロポーザル方式ハウツービルドデータベース設計サブスクリプション型支援ファイルパスクラシック画面日付
PageTop
ページトップに戻る