3.8K Views
June 07, 25
スライド概要
Power Platform 勉強会 #3(https://jpaug-osaka.connpass.com/event/348940/) の登壇資料です。
Power Platform 勉強会 #3 SharePoint リストフォーム と承認フロー 2025年6月7日
自己紹介 { “DisplayName” : “おいしみ”, “ID” : “ksgiksg”, “Introduce” : [ おいしみ “製造業から転職して情シス”, “社内ではPower PlatformをはじめDX推進の講師役として活動中” ], “ContentURL” : [ “X(旧Twitter)” : “https://x.com/ksgiksg”, “Qiita” : https://qiita.com/ksgiksg, “ココナラ” : “https://coconala.com/users/4274475” @ksgiksg ] }
今日のテーマ
みんな大好き、承認フロー! 最近、アイコン 変わったよね
作りたいシステム構成
クラウドサービスの利用許可を申請する 社内で利用しているクラウドサービス(SaaS)を管理するための申請リストを作成します。 「怪しいサービスを使用していないか?」というサービスごとの管理と、「そのサービスを社内で利用してい るのは誰か?」という2つの観点で管理します。 このサービス、安全? 社内で使っても大丈夫? サービスの利用者 ちゃんとわかってる?
登場人物 サービス管理者 管理者上司 情報システム管理部門 サービス利用者 利用者上司
テーブル設計 ◆ サービスマスタ ◆ 利用申請 列名 列の種類 列名 列の種類 サービス名 (タイトル列を流用) サービス 参照 サービスの詳細 複数行テキスト 状態 選択肢 状態 選択肢 利用者 (登録者列を流用) 責任者 ユーザー
承認の流れ ◆ サービスマスタ サービス管理者 管理者上司 情報システム管理部門 ◆ 利用申請 サービス利用者 利用者上司 サービス管理者 情報システム管理部門
入り口の検討
申請の入り口と言えばForms まず思いつくのがFormsです。 申請の入り口として便利なFormsくんですが、今回の要件にはちょっと不足することがありました。 俺がNo.1ダッ!!
マスタの変更をリアルタイムに反映できない Formsの選択肢は自動的に更新ができないので、マスタとして登録されたサービスに増減があるたびに フォームの編集が必要となります。 毎回ここを 編集しないといけない
自由記述式はそれはそれで かといって、選択肢の管理を諦め、自由記述にすると表記ゆれの問題や、メールアドレスの不一致が問題に なります。 マスタと一致しますか? 表記ゆれ? アドレス正しいですか? 特定できますか?
Formsのメールアドレス制限 テキスト形式の制限で、メールアドレスの制限ができるのですが・・・
けっこうザル メールアドレス形式のチェックを行ってくれるものの、かなり緩い制限になっています。
ということでFormsを断念 自由記述だとサービスのマスタからの特定ができない、選択肢だと更新の手間がかかる・・・ ということで、利用申請として「サービス管理者」の承認を挟むことが難しく、Formsを断念しました。
じゃあPower Apps でしょ! テーブルを参照してサービスを選んでもらう、ユーザーを選択してもらうという、Formsではできない 特殊な申請ができるように、「Power Apps で作ればいいじゃん!」と思ったのです 最終兵器、私。
社内風土として… …が。 社内には高齢の方もおり、Power Appsを開いた際の権限の確認画面に抵抗がある方も多く、 可能であればPower Apps を避けたいという事情がありました。 (自部署ではバリバリ使っていますが、社内全員が使うものとしてはハードルがある感じ)
リストフォームという選択肢! 結論となったのが、少し(?)前から実装された、SharePointリストのフォーム機能です!
参照列が便利 マスタとなる別のリストを参照させることで フォームでもマスタを参照して申請することができます! (※ユーザー列も便利)
承認フローの作成
まずはマスタ登録
承認通知
トリガーはSharePointの「項目が作成されたとき」
順次承認のための配列変数を用意
Formsでいう「Responder’s email」は、アイテムの「登録者 Email」
承認ステップ設定のためのJSONを確認する方法
承認コネクタは同じ人が承認者でも重複するので、unionしておくとよい
責任者が自分自身の場合などを考慮して、フィルター処理
承認の開始 「要求元」はフォームの申請者に
承認結果に応じてアイテムを更新
承認結果は配列(もしくはカンマ区切りテキスト)なので、アレイのフィルター処理で確認
「“Approve”じゃない」でフィルタした結果がemptyなら全員承認
利用申請フォームの場合
利用申請フォーム 利用申請はすでに登録されたマスタから 参照して選択できる。 参照列
参照したリスト項目(マスタ)の詳細を取得して、ユーザー列から承認に追加
注意事項・小ネタ
参照リストの閲覧権限が必要 見えない
トリガーが即時実行ではない(ポーリングトリガー)
承認フロー、タイムアウトしがち 自動化フロー、スケジュールされたフロー、インスタント フローの制限事項
連続した承認には、再割り当ての無効オプションがない
ルール:値の設定が便利
集計列で複数フィールドをまとめた列を作っておくと・・・
フォームで表示できて便利
おわりに
まとめ • 日本人大好き“承認フロー”は組織のやり方に 合わせるニーズがある→Power Platformがマッチ! • Formsだけじゃない、SharePointリストフォームならでは の列の形式を利用 • フルカスタムしなくても、もともとある機能を活かして ローコストな開発を!