IT
PR

【PowerAutomate】Teamsでアンケート作成・アダプティブカードで投稿

PowerAutomate アンケート Teams アクティブカード
ほし
記事内に商品プロモーションを含む場合があります

お疲れ様です。ほしコラム管理人の「ほし」です。

今回は、PowerAutomateで、チームのメンバーに対してアンケート依頼するフローを作成します。

アンケートについては、アダプティブカードを使用して実施したいと思います。

「 アダプティブカードって何? 」という方はMicroSoftのホームページから確認してみて下さい!

  • チームに投稿すると「アンケートの回答率が悪い」
  • Formsよりも自由にアンケート内容を作成したい
  • Teams上でアンケートを完結させたい

上記のような悩みを抱える方は、ぜひ読んでみて下さい!

はじめに

今回作成するフローでは、特別に事前準備は必要ありません!

あえて準備するのであれば、投稿先の「チーム」と「チャネル」を準備しておいとよいと思います。

またチャットで投稿する場合は、「宛先一覧」などを準備しておいて下さい。

フローの実行イメージは、以下のようになります。

PowerAutomate 処理概要 Teams アダプティブ投稿
PowerAutomate 実行イメージ

大まかな処理概要は以下のようになります。

  1. PowerAutomateでTeamsのチームにアダプティブカードを投稿
  2. アダプティブカードの反応に返信・取得
  3. アダプティブカードの更新(初期化する)

PowerAutomate 実行結果

PowerAutomateの実行結果を処理概要に沿って紹介していきます。

処理内容は、大きく分けて3つのみなので、必要な情報のみを利用していただけばと思います。

Teamsのチームにアダプティブカードを投稿

1つ目の処理である、特定のチームにアダプティブカードを投稿することができています。

PowerAutomate Teams アダプティブカードの投稿
アダプティブカードの投稿

これでアンケートの回答依頼を投げるという第1目標は達成できています。

今回のフローは、これで終わりではなく再度回答できるように初期化する処理があります。

アダプティブカードの反応に返信・取得

上記のアダプティブカードに返答してみます。

回答内容を選択して「提出」をクリックします。

PowerAutomate Teams アダプティブカード 応答
アダプティブカードに返答

返答した内容は、自動的にPowerAutomateで取得できるので、特別操作は必要ありません。

アダプティブカードに応答があると、以下のように返信されています

PowerAutomate Teams アダプティブカード 返信
返答に対する応答

回答に対した返信は、事前に「JSON形式」で記載されている内容が返されます。

上記の返答された際に、再度回答できるようにアダプティブカードを初期化していきます。

アダプティブカードの更新(初期化)

回答者が複数になることを想定しているので初期化して、回答できる状態に戻します。

時刻の左側に「更新済み」になっていれば、再度初期化されていることが確認できます。

PowerAutomate Teams アダプティブカードの投稿
Teams アダプティブカードでアンケート収集

今回のフローでは、初期化した後に送信された回答を取得することはできませんが、

「コントロール」の「DoUntil」内で上記を実装すれば規定の回数まで回答を取得できると思います。

PowerAutomate コントロール DoUntil
PowerAutomate コントロール DoUntil

PowerAutomate 全体処理フロー

PowerAutomateで実装する、アダプティブカードで投稿するフローは以下のようになります。

処理概要でも説明した通り、大きな処理は3つになります。

PowerAutomate 全体処理フロー
PowerAutomate 全体処理フロー

この後3つの処理に設定する内容などを紹介していきます。

待ち時間」は応答を取得した後に更新まで10秒間待機するように設定しています。

手動でフローをトリガーします 

「手動でフロートリガーします」は、フローを実行する際に

日付、テキストなど様々な入力を与えてフローを起動することができます。

今回はアンケートの締切日(日付)を入力として設定するようにしています。

PowerAutomate 手動でフローをトリガーします。 「入力の追加」
手動でフローをトリガーします。 「入力の追加」
PowerAutomate 手動でフローをトリガーします。 「入力の追加」
手動でフローをトリガーします。 「日付」を選択

これで、フロー実行時に日付の選択をすることができます。

アダプティブカードを投稿して応答を待機する

「アダプティブカードを投稿して応答を待機する」では投稿後、応答されるまで処理は終了しません!

PowerAutomate アダプティブカードを投稿して応答を待機する
PowerAutomate アダプティブカードを投稿して応答を待機する
  • 投稿者 : フローボット
  • 投稿先 : チャネル・グループチャット・フローボットからチャット から選択して下さい
  • メッセージ : JSON形式のテキストを入力して下さい。
  • 更新メッセージ : 返答したいメッセージ内容を入力して下さい。
  • チーム : 投稿先のチーム
  • チャネル : 投稿先のチャネル

メッセージはJSON形式で書く必要があり、上記のようなメッセージを作成したい場合は、

以下のように入力していただければ簡単に作成できます。

{
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.0",
    "body": [
        {
            "type": "TextBlock",
            "text": "【ご依頼】アンケートのご回答",
            "id": "Title",
            "spacing": "Medium",
            "horizontalAlignment": "Center",
            "size": "ExtraLarge",
            "weight": "Bolder",
            "color": "Accent"
        },
        {
            "type": "TextBlock",
            "text": "@{triggerBody()['date']}までに要対応",
            "id": "acHeaderTagLine",
            "separator": true
        },
        {
            "type": "TextBlock",
            "text": "今月の経費申請有無について",
            "weight": "Bolder",
            "size": "ExtraLarge",
            "spacing": "None",
            "id": "acHeader"
        },
        {
            "type": "TextBlock",
            "text": "以下の選択肢に従ってご回答お願いします。",
            "id": "acInstructions",
            "wrap": true
        },
        {
            "type": "TextBlock",
            "text": "選択肢",
            "id": "acPollQuestion"
        },
        {
            "type": "Input.ChoiceSet",
            "placeholder": "Select from these choices",
            "choices": [
                {
                    "title": "1000円以上",
                    "value": "Choice 1"
                },
                {
                    "title": "5000円以上",
                    "value": "Choice 2"
                },
                {
                    "title": "10000円以上",
                    "value": "Choice 3"
                }
            ],
            "id": "acPollChoices",
            "style": "expanded"
        }
    ],
    "actions": [
        {
            "type": "Action.Submit",
            "title": "提出",
            "id": "btnSubmit"
        }
    ]
}

“text”: “@{triggerBody()[‘date’]} 」は実行時に入力した日付を使用するように設定しています。

PowerAutomateのUIでは画像のように設定するだけで問題ありません!

・メッセージ内に「動的なコンテンツを挿入」

PowerAutomate アダプティブカード メッセージ 動的コンテンツ 挿入
JSON内に動的コンテンツを挿入

・「メッセージ」動的コンテンツを挿入する方法

PowerAutomate 動的なコンテンツ
動的なコンテンツを選択

チャットやチャネルのアダプティブカードを更新する

返答されたアダプティブカードを再度回答できるように初期化していきます。

PowerAutomate Teams チャットやチャネルのアダプティブカードを更新する
PowerAutomate チャットやチャネルのアダプティブカードを更新する
  • 投稿者 : フローボット
  • 投稿先 : チャネル・グループチャット・フローボットからチャット から選択して下さい
  • メッセージ ID : 「アダプティブカードから投稿して応答を待機する」のメッセージID
  • チーム : 投稿先のチーム
  • チャネル :投稿先のチャネル
  • アダプティブカード : 「アダプティブカードを投稿して応答を待機する」のメッセージ

上記を設定するだけで、簡単にアダプティブカードを初期化することができます!

「アダプティブカード」の内容を変更すれば、異なるアダプティブカードを表示することもできます。

今回のフローでは、初期化したフローに再回答は実施できません!

アクティブカードを再回答するとエラーが発生します
アダプティブカードを再回答するとエラーが発生します

というのもアダプティブカードを初期化した時点でフローが終了しているからです。

最後に

最後まで読んでいただきありがとうございます。

これでTeamsでアダプティブカードを投稿する方法を簡単に実装できます。

本ブログでは、現役エンジニアがPowerAutomateを使用した業務効率化の方法などを紹介しています。

今回紹介したTeamsだけではなく、ExcelやSharePointを使用した効率化について紹介しています。

あわせて読みたい
【PowerAutomate】ExcelファイルをPDFファイルに自動変換する方法
【PowerAutomate】ExcelファイルをPDFファイルに自動変換する方法
あわせて読みたい
【自動化】PowerAutomateでTeamsのメッセージを取得して自動返信する方法
【自動化】PowerAutomateでTeamsのメッセージを取得して自動返信する方法

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
ほし
ほし
エンジニア
ほしコラム管理人のほしです。 20代のITエンジニアです。 PowerAutomateで業務効率化の方法を中心に紹介していきます! たまに日常生活についても記事にしていきます! ほしコラム - にほんブログ村
記事URLをコピーしました