前回紹介したMicrosoft365の「承認」機能は標準機能としてTeamsから利用できるシンプルで使いやすいものとなっていました。さらに「承認」機能はPower Automateやその他のサービスを組み合わせることによってより複雑で高機能なワークフローを作成するができるようにもなっています。今回はPower Automateを使ったワークフローの開発方法を紹介します。
目次
トリガーを利用して自動でワークフローを実行
「承認」機能はTeamsで承認要求を作成して承認者に送るといった利用方法でしたが、Power Automateのトリガーと組み合わせて承認要求の作成自体も自動化して効率化することができます。
今回は、SharePointに承認を要するファイルがアップロードされたことをトリガーとして、承認用のワークフローを起動します。承認者が承認したタイミングで、その旨をTeamsで通知してSharePointに履歴として保存するといったワークフローを作成してゆきます。

SharePointの準備
まずは、SharePointの準備を整えましょう。ファイルをアップロードする場所と、承認履歴の保存用リストを作成しておきます。SharePointのサイトから作成しても利用できますが、簡単にTeamsのチーム用のSharePointを利用します。既存チームの「SharePointで開く」を選択します。

トリガーとなる承認を要するファイルはこのチームサイトのドキュメントにアップロードすることにします。
加えて承認の履歴保存用のリストを作成します。「新規」-「リスト」を選択します。

承認ログを保存するために、こちらの内容でリストを作成しておきます。

クラウドフローの作成
次にPower Automateの「自動化したクラウドフロー」から作成してゆきます。

“SharePoint”をキーワードに、「ファイルが作成されたとき(プロパティーのみ)」を選択します。

「サイトのアドレス」をクリックすると利用できるSharePointのサイトの一覧が候補として表示されます。先ほどのSharePointサイトを選択します。「ライブラリ名」と「フォルダー」を指定します。

「フォルダーID」はフォルダー一覧から“/Shared Documents/General”を選択します。これは、Teamsの“一般チャネル”のファイル保存場と同じ場所になります。SharePointにファイルをアップロードすることがトリガーとなりますが、TeamsのバックグランドがSharePointという特性を利用して、ここに承認に必要なファイルをアップロードしても自動的にワークフローを起動させることができます。

後で取得したファイル名を利用するので、動的なコンテンツ「ファイルが作成されたとき(プロパティーのみ)」から「拡張子付きのファイル名」を変数に格納しておきます。

承認のアクションから「開始して承認を待機」を追加します。

「承認/拒否 すべてのユーザーの承認が必要」を選択します。
「タイトル」を入力します。
「担当者」には承認を依頼するメンバーの名前もしくはメールアドレスを入力します。
「アイテムリンク」には動的なコンテンツ「ファイルが作成されたとき(プロパティーのみ)」のプロパティー一覧から「完全パス」を選択します。「要求元」には動的なコンテンツ「ファイルが作成されたとき(プロパティーのみ)」のプロパティー一覧から「登録者 Email」を選択します。

次に承認の可否によって分岐する処理を追加します。「新しいステップ」を選択して、コントロールから「条件」を選択します。

「値の選択」には動的なコンテンツ「開始して処理を待機」から「結果」を選択します。

「次の値に等しい」を選択して、「値の選択」に“Approve”と入力します。これで承認された場合、拒否された場合の分岐となります。

承認された場合、Teamsのアクションから「チャットまたはチャネルでメッセージを投稿する」を追加してメッセージを送ります。メッセージ内容には、先ほど変数に格納したファイル名も表示できるようにしておきます。

拒否された場合のメッセージも同様に作成します。

最後にSharePointのリストに承認履歴のログとして投稿しておきます。SharePointのアクションから「項目の作成」を選択します。

各項目を埋めてゆきます。
- サイトのアドレス:SharePointサイトのURLを選択します。
- リスト名:作成したリスト名“承認ログ”を入力します。
- Title:動的なコンテンツ「開始して承認を待機」から「タイトル」を選択します。
- 可否:動的なコンテンツ「開始して承認を待機」から「結果」を選択します。
- 作成日:動的なコンテンツ「開始して承認を待機」から「依頼日」を選択します。
- 承認日:動的なコンテンツ「開始して承認を待機」から「完了日」を選択します。
- 申請者:動的なコンテンツ「ファイルが作成されたとき(プロパティーのみ)」から「登録者Display Name」を選択します。
- 承認者:first(outputs(’開始して承認を待機)?[‘body/responses’])?[‘responder/displayName’] この式を入力します。

SharePointリストへの投稿内容の設定が完成しました。

テスト
早速テストしてみましょう。Teamsからファイルをアップロードします。

承認要求相手に通知が届きました。添付されたファイルを確認した後、承認します。

申請側にも承認された旨の通知が届きました。

Teamsにも承認されたとの通知が届いています。

SharePointのリストにも承認履歴が保存されました。

フォローの実行結果も問題ありません。 成功です!

フロー全体図

さいごに
以上、Microsoft365の「承認」機能を利用したワーフローの開発方法を紹介しました。簡易ツールとしての承認機能が、Power Automateと組み合わせることによって、高度なワークフローシステムに成長できました。
このように、Microsoft365のサービスはシステム連携が簡単にできるように設計されています。基本的な機能のみのツールから、より高機能なシステムへPower Automateでのローコード開発で短期間に手軽にバージョンアップが可能となっています。システム開発というこれまでの高いハードルをグンと下げることで、実務レベルの担当者でも必要なシステム開発が可能となります。是非お試しください。
著書の紹介欄
Hyper-Vで本格的なサーバー仮想環境を構築。仮想環境を設定・操作できる!
できるPRO Windows Server 2016 Hyper-V
◇Hyper-Vのさまざまな機能がわかる ◇インストールからの操作手順を解説 ◇チェックポイントやレプリカも活用できる Windows Server 2016 Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。 本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。

初めてのWindows Azure Pack本が発売
Windows Azure Pack プライベートクラウド構築ガイド
本書は、Windows Azure PackとHyper-Vを利用し、企業内IaaS(仮想マシン提供サービス)を構成するための、IT管理者に向けた手引書です。試用したサーバーは、最小限度の物理サーバーと仮想マシンで構成しています。Windows Azure Packに必要なコンポーネントのダウンロード、実際にプライベートクラウド構築する過程を、手順を追って解説しています。これからプライベートクラウドの構築を検討するうえで、作業負担の軽減に役立つ一冊です。

ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(458)
-
イベント(164)
-
カルチャー(38)
-
デザイン(21)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudflare
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- Designship
- Desiner
- DeveloperExpert
- DevSecOpsThon
- DNS
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOソリューションパートナー
- GMOデジキッズ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kaigi on Rails
- Kids VALLEY
- LLM
- MetaMask
- MySQL
- NFT
- NVIDIA
- OpenStack
- Perl
- perplexity
- PHP
- PHPcon
- PHPerKaigi
- PHPカンファレンス
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- Spectrum Tokyo Meetup
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- アドベントカレンダー
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- セキュリティ
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- マルチプレイ
- ミドルウェア
- モバイル
- ゆめみらいワーク
- リモートワーク
- レンタルサーバー
- 京大ミートアップ
- 協賛レポート
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
PICKUP