各種申請のベースを揃えたい…システム管理者の負担が高く対応を効率化したい…せっかくなのでPowerPlatformを活用したい……
当社ではこんな要望にお応えする申請アプリを開発し、製品販売しております。
前回の続きから、アプリと開発内容をご紹介します。
前回までの手順と次の手順
- リストの作成(データソース)
- PowerAppsで画面作成(いわゆるフロントエンド)
- PowerAutomateのフローとアクション(いわゆるバックエンド)
およそ以上の手順を記載しました。
フローでは、特に「メールを送信する」アクションについてご説明しました。次は、このフロー作成のために必要な「アクション」に関する解説をしていきたいと思います。
実装手順
前回、記述した実行フローを組むのですが、実行のためには、各コネクタによる「アクション」が必要なわけです。
このため、本来であれば手順としては、PowerAutomateのフローよりコネクタを先に作成しておかなければなりません。今回は説明の都合上、分かりやすいように、流れ(フロー)を先にお話ししました。
4. コネクタの作成
標準コネクタのアクションには「チームを作成」などは用意されているのに、「サイトの作成」は存在しません。。
以下はMicrosoft Teamsコネクタの一部です。
今回のフローでは、サイト作成、削除、ゲスト追加に関してはSharePoint REST APIを使用してアクション自体を作成しました。
他の申請(ユーザー作成・属性変更やデバイスの初期化等)は、Graph REST APIを使用すれば可能なアクションですが、SharePointは中々やっかいで、扱いが違うらしく、Graphだとサイトが作れないんですよね……。
実は、Learnを参照すると、GraphでもSharePointサイト上のサイトコンテンツ、ページやリスト等のリソースを扱うことは可能ですが、サイト自体を作成削除する方法については記載がありませんでした。
参考はこの辺。
SharePoint REST v2 (Microsoft Graph) エンドポイントを使用した操作 | Microsoft Learn
サイトのリソースの種類 – Microsoft Graph v1.0 | Microsoft Learn
標準コネクタ内にも、各コネクタ毎に「Microsoft Graph HTTP要求を送信する」というアクションが存在はするのですが、やりたいことが多岐に渡る場合はもはや、コネクタを作成してしまった方が楽です。サイトの作成削除はできないし…
アクション内では動的に値を取得することが可能です。
チームの作成では、初めに作成したSharePointリスト上の「NewTeamName」という列から値を取得しています。
この「サイトの作成」アクションは、カスタムコネクタです。
標準コネクタと同様の使用感で、Power Automate上でアクションが利用できるようになります。
このように、カスタムコネクタを自作することで、Power Automateの標準では限界だった様々なアクションが実現可能になります。
まとめ
実際の開発の流れをご紹介しましたが、如何でしょうか。
本アプリは以下のように、他にも様々な申請を一元管理できるアプリになっています!(宣伝)
- Teamsのチーム作成、削除
- SharePointコミュニケーションサイトの作成、削除
- Teamsへのゲストユーザー招待(ゲストユーザーの作成)
- SharePointサイトへのゲストユーザー招待(ゲストユーザーの作成)
- ユーザー新規作成
- ユーザー情報変更
- ユーザー削除
- 多要素認証(MFA)リセット
- パスワードリセット
- アプリケーションインストール
- デバイスのワイプ(初期化)
ご不明点、ご要望などあればお気軽にお問い合わせください。
ご覧いただきありがとうございました。