これからPower Automateで業務を効率化したいという方の参考になれば幸いです。
今回紹介するフローは、Microsoft Formsで送信された質問をトリガーに、TeamsにAdaptive Cardで通知する仕組みです。
GitHubからハンズオン用のフロー.zipとサンプルデータをダウンロードできます。
もちろん、自分で一から作ってもOKです。
なぜこのテーマを選んだのか?
講座や研修で質問を受けるとき、「重要な質問を見逃してしまう」ことがありました。
特にオンライン講座では、質問がFormsに集まるものの、講師側が気づくのが遅れることがあります。
そこで、優先度が高い質問だけをTeamsに即通知する仕組みを作ろうと思いました。
今回やること+目的
-
Microsoft Formsで質問フォームを作成
→ 目的:質問を受け付けるための入力窓口を用意する。講座や研修で質問を集約しやすくする。 -
Power Automateで「新しい応答が送信されたとき」をトリガーに設定
→ 目的:フォームに回答が送信された瞬間にフローを自動で開始し、リアルタイム通知を実現する。 -
回答内容を取得し、優先度が「高」ならTeamsに通知
→ 目的:情報過多を防ぎ、重要な質問だけを抽出して即対応できるようにする。 -
Adaptive Cardで質問者のメールと質問内容を表示し、返信リンクを追加
→ 目的:Teamsで見やすい通知を表示し、返信ボタンでスムーズに対応できるようにする。
完成イメージ
→ 関連記事:「【Vol.1】Copilot Studio × Power Automate × Word連携 つまずきポイント3選」
フロー全体図はこちらです(★スクショ位置)。
Forms → Power Automate → Teams の流れが一目でわかります。
このフローで使うアクション一覧と目的
- 新しい応答が送信されるとき(Microsoft Forms)
→ フォームに回答が送信されたらフローを開始するため。 - 応答の詳細を取得する(Microsoft Forms)
→ 回答者のメールアドレスと質問内容を取得するため。 - 条件分岐
→ 優先度が「高」かどうかを判定するため。 - チャットやチャネルにカードを投稿する(Microsoft Teams)
→ Teamsに質問内容を通知し、返信リンクを追加するため。
ハンズオン手順
→ 関連記事:「Power Automate【変数の値を増やす】アクションの使い方を業務に役立つ具体的なフローで解説」
① トリガー:新しい応答が送信されたとき
目的: Microsoft Formsで回答が送信されたらフローを開始します。
なぜこのアクション? Formsの回答をトリガーにすることで、完全自動化が可能になります。
設定: 対象フォームを選択します。
★スクショ位置:フォーム選択画面
② アクション:応答の詳細を取得する
→ 関連記事:「Power Automate:変数を使ってあいさつメッセージを送る方法。
変数の初期化と変数の設定。」
目的: 回答者のメールアドレスと質問内容を取得します。
なぜこのアクション? 通知に必要な情報を取り出すためです。
式:
@triggerOutputs()?['body/resourceData/responseId']
★スクショ位置:応答IDを設定する箇所
③ 条件分岐:優先度が「高」かどうか
目的: 回答の中で「優先度」が高の場合のみ通知します。
なぜこのアクション? 全て通知すると情報過多になるため、重要な質問だけを抽出します。
式:
@equals(outputs('応答の詳細を取得する')?['body/rce87901fdcf64787938e267c6d047ec3'], '高')
★スクショ位置:条件設定画面
④ アクション:TeamsにAdaptive Cardを投稿
目的: 質問者のメールと質問内容をTeamsに表示し、返信リンクを追加します。
なぜこのアクション? Teamsで即対応できるようにするためです。
カードJSON:
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"text": "🚨 高優先度の質問が届きました!",
"weight": "Bolder",
"size": "Large",
"color": "Attention"
},
{
"type": "TextBlock",
"text": "質問者(Email): @{outputs('応答の詳細を取得する')?['body/responder']}",
"wrap": true
},
{
"type": "TextBlock",
"text": "質問内容: @{outputs('応答の詳細を取得する')?['body/r382e3dd7d41b4a669de81ed3b5149df6']}",
"wrap": true
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "返信する",
"url": "mailto:@{outputs('応答の詳細を取得する')?['body/responder']}"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.4"
}
★スクショ位置:カードJSON貼り付け画面
このJSONの内容については詳しくこちらの記事も解説していますのでご参考に。
【記事作成中】
テスト方法
- Formsで質問を送信(優先度「高」を選択)
- Power Automateでフローが実行されることを確認
- TeamsにAdaptive Cardが届くことを確認
まとめ
このフローを使えば、講座や研修で重要な質問を見逃すことがなくなります。
Forms+Teams連携は、社内の問い合わせ対応やFAQ管理にも応用できます。
GitHubでフロー.zipとサンプルデータを公開しています。
ライセンスはMITですので、自由にカスタマイズして使ってください。
カテゴリ:業務改善 × Power Automate
タグ:Power Automate, Microsoft365, DX, RPA, Low-Code
※ 本記事は公開日時点の内容です。筆者が実際に試した手順をまとめたもので、Power Automate や各サービスの仕様は今後変わる可能性があります。
※ 記事の構成・図解の一部は、AIを壁打ち相手にしながら作成しています。


コメント