この記事では、PowerAutomateを使い、Teamsの「アダプティブカード」で承認フローを実装する方法について解説します。
Power Automateを使うと、Outlookや、Teamsに承認依頼を通知するフローが簡単に実装できますので、是非活用してください!
- Power Automateで承認フローを実装する方法
- Teamsのアダプティブカードの使い方
- 承認や否認の結果により、SharePointリストを更新する方法
YouTube動画で見たいかたは、こちらからどうぞ!
Power Automateで承認フローを実装する方法
Power Automateで承認フローを実装するためには、主にOutlookコネクタと、Teamsコネクタの2つがあります。
Outlookコネクタ
- アクション:オプションを指定してメールを送信する
Teamsコネクタ
- アクション:オプションの選択をフローボットとしてユーザーに投稿する
- アクション:チャットやチャネルにアダプティブカードを投稿する
それぞれのフローについて、簡単にイメージを見せます。
Outlookのオプションを指定してメールを送信
Outlookコネクタの「オプションを指定してメールを送信する」アクションを使った方法です。

今回は、SharePointリストをデータベースとし、SharePointリストに新しい依頼が追加されたとき、Outlookに承認依頼が通知されるようにしました。
リストに新しい項目が追加されると、指定したOutlookメール宛てに承認依頼が届きます。

上長はOutlookメール上で、承認か、否認かを選択して結果を返します。
Teamsのオプションを指定して投稿
次に、Teamsコネクタの「オプションの選択をフローボットとしてユーザーに投稿する」アクションを使った方法です。

これも今回は、SharePointリストをデータベースとしています。
SharePointリストに新しい項目が追加されると、Teamsに、Power Automateのフローボットからの通知がきます。

上長はTeams上で承認か、否認かを選択します。
このとき、承認や、否認の理由等をコメントとして書いて返すこともできます。
Teamsのアダプティブカードを使って投稿
最後に、Teamsコネクタの「チャットやチャネルにアダプティブカードを投稿する」アクションを使った方法です。

SharePointリストに新しい項目が追加されると、TeamsのフィードにPower Automateから承認依頼が届きます。
上長は任意でコメントを入力し、承認か否認かを選択すると、承認・否認の結果が通知されます。
例えば、テキスト、画像、ボタン等を組み合わせたより複雑なカードを作成できる点や、承認者が複数いる場合に、それぞれの承認者の承認順序を設定したり等の実装ができるメリットがあるよ。
今回は簡単な実装でしたが、複雑な承認フローを実装したい場合は、アダプティブカードを使った実装がおすすめです。
Teamsコネクタのアダプティブカードの使い方
Teamsコネクタの「チャットやチャネルにアダプティブカードを投稿する」アクションを使った方法について、Power Automateの具体的なフロー実装方法を解説します。
以下がアダプティブカードを使った承認フローの全体像です。

1.トリガーはSharePointリストの項目が作成されたときのアクションを追加し、以下の設定をします。
- サイトのアドレス:SharePointリストを作成したSharePointサイトを選択
- リスト名:SharePointリストを選択

2.次のアクションで、承認コネクタの「承認を作成」というアクションを追加し、以下の設定をします。
- 応答オプション項目:承認、否認等の選択してほしい項目
- タイトル:通知のタイトル
- 担当者:承認依頼をする上長等のメールアドレス
- 詳細:通知したい詳細内容(登録された依頼内容等)

3.次のアクションで、Teamsコネクタの「チャットやチャネルにアダプティブカードを投稿する」アクションを追加し、以下の設定をします。
- Post as:Flow bot
- 投稿先:Channel
- Team:投稿先のチーム
- Channel:投稿先のチャネル
- Adaptive Card:承認を作成するアクションで作成した「Teamsのアダプティブカード」を動的なコンテンツから選択
これで簡単な承認フローはできましたが、実際には承認、否認後にSharePointリストの内容を更新したいと思います。
そのため、この後にいくつかアクションを追加します。

4.承認コネクタの「承認を待機」というアクションを追加し、承認IDに「承認作成時のID」を動的なコンテンツから設定します。
5.次に、コントロールの「条件」アクションを追加します。
承認ならば、SharePointリストのステータスを「進行中」に変更し、否認ならステータスを「否認」に更新するアクションを追加してみます。
「条件」とはいわゆる「IF文」で、指定した条件に当てはまる場合、当てはまらない場合で処理を変えられるアクションです。
6.承認依頼の結果が、承認である場合、という条件を以下のように設定します。

- 値の選択(左):「承認を待機する」アクションの「結果」を、動的なコンテンツから選択
- ドロップダウン:次の値に等しい
- 値の選択(右):承認と入力
これで結果が、承認の場合は「はい」に追加したアクション、結果が承認以外の場合、すなわち否認の場合は「いいえ」に追加したアクションが実行されます。
7.はい、いいえの中にそれぞれSharePointの項目の更新アクションを追加します。

サイトのアドレス:SharePointリストがあるSharePointサイト
リスト名:SharePointリストを選択
ID:トリガーのID(動的なコンテンツ)
ステータス:「はい」→進行中、「いいえ」→否認
※リストの列にいくつか必須入力項目がありますが、データ更新しない項目については、動的なコンテンツから、トリガーで取得した登録データをそのまま設定します。
これで、フロー全体が完成しました。
最後に
本日はPower Automateで、承認フローを実装する方法について解説しました。
Power Automateを使ってTeamsや、Outlookに承認依頼通知を出すことができます。
承認 or 否認の結果や、コメントの情報をもとに、SharePointリストを更新することも可能です。
例えばPower Appsで受けた申請を、Power Automateを使って、Teamsに承認依頼通知を出す等も実現できます。