Power Automate iconPower Automate お助けレシピ集Power Automate お助けレシピ集 icon

承認フローにTeamsアダプティブカードを利用する

公開日: 2026-03-01|カテゴリ: 通知ワークフロー|難易度: 上級

解決できる課題

Teams承認の自動化で、以下のようなお悩みはありませんか? ・シンプルな承認画面しか扱えず、柔軟な対応ができない ・承認や拒否の時にコメント入力を受け付けたい ・承認時の選択肢は3つ以上にしたい このレシピを使えば、多段階のフローを作らず、承認画面を自作することで、承認フローをリッチにして解決します。

完成イメージ

Flowchart for 承認フローにTeamsアダプティブカードを利用する

必要なもの

  • Teams iconTeams コネクタ
  • SharePoint iconSharePoint コネクタ

作り方

Power Automateと承認の組み合わせは、自動化の中でも基本です。
簡素な承認フローであれば、承認を起動するトリガーと、承認/拒否を操作するアクションのステップで済みます。
ですが、拒否の際には理由を付したい、あるいは選択肢は複数用意したい場合、基本のフローでは満足できません。
フローで条件分岐を駆使して多段階で構えることもできますが、承認画面を自作することでスマートに解決可能です。

 

  • 1. アダプティブカードの作成

Teamsにはアダプティブカードの機能があり、通常のメッセージ機能を拡張可能です。
作成方法は、JSONによる記述が必要ですが、Microsoftによるデザイナーも用意されています。
このレシピでは、例として下記のケースを想定します。
・承認/拒否/保留の選択肢を用意
・拒否/保留時のコメント入力受け付け

{
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "TextBlock",
            "size": "Medium",
            "weight": "Bolder",
            "text": "【承認依頼】"
        },
        {
            "type": "TextBlock",
            "text": "内容を確認し、以下のボタンから選択してください。",
            "wrap": true
        },
        {
            "type": "Input.Text",
            "id": "comment",
            "placeholder": "拒否・保留の場合は理由を入力してください",
            "isMultiline": true
        }
    ],
    "actions": [
        {
            "type": "Action.Submit",
            "title": "承認",
            "style": "positive",
            "data": { "action": "approve" }
        },
        {
            "type": "Action.Submit",
            "title": "拒否",
            "style": "destructive",
            "data": { "action": "reject" }
        },
        {
            "type": "Action.Submit",
            "title": "保留",
            "data": { "action": "hold" }
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.4"
}

上記を使用すると、下図になります。

JSONでアダプティブカード作成

 

  • 2. SharePointリストで承認依頼のフォームを作成

ステップ1の承認画面と整合性を持たせるため、リストの項目列は「タイトル」「日付」「コメント」を用意します。
 ※承認/拒否/保留の応答受付は、リストの選択肢を使用しても良いです
・タイトル: 依頼の件名、承認/拒否/保留の応答受付
・日付: 応答した日の記録
・コメント: 拒否と保留のコメント受付

SharePointリストフォーム作成

 

  • 3. トリガー「項目が作成されたとき」を設定

承認依頼の起点となるトリガーを用意します。
[サイトのアドレス]と[リスト名]は任意のものを選択します。

SharePointリストアイテムが起点

 

  • 4. アクション「アダプティブ カードを投稿して応答を待機する」を設定

[投稿者]と[投稿先]は任意のものにし、チャネルにした場合、[チーム]と[チャネル]も設定します。
[メッセージ]に、ステップ1で作成したアダプティブカードのJSONを使用します。
[更新メッセージ]は、投稿の応答に対し、更新があった場合に表示されるメッセージで「更新されました。」にします。

アダプティブカードのJSONを設定

 

  • 5. スイッチを設定

アダプティブカードに用意した「承認・拒否・保留の選択肢」に対し、それぞれアクションを用意します。
[オン]に「body/data/action」を選択します。
これはJSONのactions内にある"data": { "action": "xxx" }が該当します。
スイッチ内の条件分岐は、それぞれ「approve」「reject」「hold」を入力します。
 ※アクションの名前(Case1-3)は、「approve」「reject」「hold」にしておくと分かりやすいです

スイッチの判定式を記述

 

  • 6. アクション「項目の更新」を設定

[サイトのアドレス]と[リスト名]はステップ3と同じにし、[ID]は「ID」を選択します。
詳細パラメーターは、下記の通りです。
・タイトル: 「タイトル」 - 「body/data/action」
・日付: 「body/responseTime」
・コメント: 「body/data/comment」 ※rejectとholdの場合のみ

リスト更新で応答受付

 

  • 7. 動作確認

SharePointリストから、承認依頼を行います。

リストから承認依頼

 

Teamsに承認依頼の投稿が届き、今回は「拒否」します。

承認依頼の投稿と拒否

 

「拒否」のボタンを押下後、ステップ4で設定した「更新メッセージ」が表示されます。

更新メッセージの表示

 

承認依頼に対し、件名に「reject」とコメントに理由が付され、リストが更新されました。

更新メッセージの表示

関連レシピ

広告