Microsoft Teams のプロアクティブ メッセージを送信する
エージェントを公開し、Microsoft Teams でユーザーがエージェントを利用できるようにした後、Microsoft Teams でプロアクティブなメッセージを使用してユーザー ("受信者") に通知できます。 プロアクティブ メッセージは、Power Automate フローを使用してコンテンツを配信し、以下のような様々な場面で役立ちます:
- 受け付けたリクエストが完了したことを受信者に通知します。 たとえば、ユーザーの休暇申請が承認された場合。
- リマインダーやニュースの更新を提供する。 たとえば、エージェントがオンライン研修の完了を促すリマインダーメッセージを送信します。
重要
プロアクティブ メッセージは、 Copilot Studio で作成およびカスタマイズされたエージェントと従来のチャットボットに対して構成できます。
受信者が次の場合、エージェント はメッセージを配信できません。
- Microsoft Teams にはエージェントがインストールされていない。
- エージェントをアンインストールしました。
- エージェントをブロックしました。
- エージェントとチャットする権限がない場合は、他のユーザーとエージェントを共有する必要があります。
前提条件
既知の制限
- エージェント が切断され、再接続された場合 Microsoft Teamsユーザーは エージェント を再インストールするまでプロアクティブ メッセージを受信しません。
- Copilot Studio からの配信されるすべてのプロアクティブ メッセージは、Power Automate の制限とMicrosoft Teams コネクタのスロットリング制限の対象となります。
- プロアクティブなメッセージは、会話記録や分析セッションには記録されません。
- プロアクティブ メッセージは、Power Automate フローと同じ環境である必要があります。
- プロアクティブなメッセージは、エージェントとの個人チャットにのみ投稿できます。
プロアクティブなメッセージを送信する
Power Automate で、プロアクティブ メッセージを送信するフローを開きます。
Microsoft Teams コネクタ アクション チャットまたはチャネルにメッセージを投稿する を追加します。
次の形式で投稿するに、Power Virtual Agents (プレビュー) を選択します。
投稿する に、ボットとチャット を選択します。
ボットの場合は、メッセージを送信するエージェントを選択します。
受信者で、受信者の名前またはメール アドレスを入力します。 また、受信者情報がフローの初期段階で得られたものである場合は、動的コンテンツを使用することもできます。
メッセージでで、メッセージで送信するテキストを入力します。
このフローを実行すると、Microsoft Teams のエージェントから受信者にプロアクティブなメッセージが送信されます。
プロアクティブなアダプティブカードを送信する
重要
ここでは、Power Automate フローでプロアクティブなアダプティブカードを送信する方法について説明します。 プロアクティブなアダプティブ カードは、ユーザーがエージェントとの非アクティブな会話から情報を受け取ることを可能にします。 アクティブな 会話で アダプティブ カード を送信する方法については、アダプティブ カード を表示する Copilot Studioを参照してください。
プロアクティブ メッセージの送信に加えて、プロアクティブ アダプティブ カードを送信することもできます。
アダプティブ カードは、開発者が UI コンテンツを共通で一貫した方法で交換できるようにする、オープンなカード交換フォーマットです。 アダプティブ カードは、JSON で手書きで作成することもできますが、ドラッグ&ドロップのインターフェースをお好みであれば、アダプティブ カード デザイナーを使用することができます。
Note
テンプレート機能 を使用するアダプティブ カードは、Power Automate でサポートされません。
この例では、ユーザーが確認できるように注文概要カードを送信します。
Power Automate 内の、フロー内のカードを送信するステップで、Microsoft Teams コネクタのアクションチャットやチャンネルにアダプティブカードを投稿するを追加します:
次の形式で投稿するに、Power Virtual Agents (プレビュー) を選択します。
投稿する に、ボットとチャット を選択します。
ボットの場合は、メッセージを送信するエージェントを選択します。
受信者で、受信者の名前またはメール アドレスを入力します。 また、受信者情報がフローの初期段階で得られたものである場合は、動的コンテンツを使用することもできます。
アダプティブ カードで、次のテンプレート JSON を入力します:
{ "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.5", "body": [ { "type": "TextBlock", "text": "Order summary", "wrap": true, "style": "heading" }, { "type": "FactSet", "facts": [ { "title": "Name", "value": "John Doe" }, { "title": "Phone number", "value": "(000) 000-0000" } ] }, { "type": "Container", "items": [ { "type": "FactSet", "facts": [ { "title": "1x", "value": "Steak" }, { "title": "2x", "value": "Side Rice" }, { "title": "1x", "value": "Soft Drink" } ], "spacing": "Small" } ], "spacing": "Small" } ] }
このフローを実行すると、Microsoft Teams のエージェントから受信者にアダプティブ カードが送信されます。
ユーザーの応答を待つ
重要
ここでは、Power Automate フローでプロアクティブなアダプティブカードを送信する方法について説明します。 プロアクティブなアダプティブ カードは、ユーザーがエージェントとの非アクティブな会話から情報を受け取ることを可能にします。 アクティブな 会話で アダプティブ カード を送信する方法については、アダプティブ カード を表示する Copilot Studioを参照してください。
アダプティブ カードは、ユーザー入力の収集をサポートします。 これらのシナリオでは、フローを続行する前に、ユーザーの応答を待つ必要があります。
Note
テンプレート機能 を使用するアダプティブ カードは、Power Automate でサポートされません。
この例では、注文が送信される前にユーザーが変更できるように、注文確認カードを送信します。
Power Automate 内の、フロー内のカードを送信するステップで、Microsoft Teams コネクタのアクションアダプティブ カードを送信して応答を待機するを追加します:
次の形式で投稿するに、Power Virtual Agents (プレビュー) を選択します。
投稿する に、ボットとチャット を選択します。
メッセージで、次のテンプレート JSON を入力します:
actions
セクションのプロパティによって、ユーザーに表示されるオプションが決まります。{ "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.0", "body": [ { "type": "TextBlock", "text": "Order confirmation", "wrap": true, "style": "heading" }, { "type": "FactSet", "facts": [ { "title": "Name", "value": "John Doe" }, { "title": "Phone number", "value": "(000) 000-0000" } ] }, { "type": "Container", "items": [ { "type": "FactSet", "facts": [ { "title": "1x", "value": "Steak" }, { "title": "2x", "value": "Side Rice" }, { "title": "1x", "value": "Soft Drink" } ], "spacing": "Small" } ], "spacing": "Small" } ], "actions": [ { "type": "Action.Submit", "title": "Submit Order" }, { "type": "Action.Submit", "title": "Edit Order" } ] }
メッセージの更新で、回答後に受信者に表示される更新メッセージを表示します。
受信者で、受信者の名前またはメール アドレスを入力します。 また、受信者情報がフローの初期段階で得られたものである場合は、動的コンテンツを使用することもできます。
ボットで、カードの送信元となる エージェント を選択します。
このフローが実行されると、受信者は Microsoft Teams のエージェントからアダプティブカードを受け取り、それに対する応答を行うことができます。
受信者からの応答を使用するには、動的コンテンツ フライアウト メニューから submitActionId を選択します。 この変数の値は、ユーザーが選択したアクションの title
となります。
複数の受信者にプロアクティブなメッセージを送信する
シナリオによっては、複数の受信者に同じプロアクティブ メッセージを送信したい場合があります。
ここでは、複数の相手にメッセージを送信する例を紹介しています。
重要
このトピックで説明する前提条件は、各受信者に適用されます。
たとえば、1 回のアクションで 10 人の受信者に同じメッセージを送ることができます。 10 人の受信者のうち、 3 人がエージェントをインストールしていない場合、その 3 人にはメッセージを受信できません。
チームメイトに送信する
この例では、あるチームのメンバーにエージェントがリマインダーを送信して、オンライン トレーニングの完了を促します。
ご利用の Power Automate フローで、Microsoft Teamsコネクタを追加し、チームの取得アクションを選択します。
チームで、メッセージを送信するメンバーのいるチームを選択します。
Office 365 グループコネクタを追加し、グループ メンバーのリストアクションを選択します。
グループ ID で、カスタム値を選択します。
チームを取得するアクションの動的コンテンツからチーム ID を選択します。
Microsoft Teams コネクタを追加し、チャットまたはチャネルにメッセージを投稿するアクションを選択します。
次の形式で投稿するに、Power Virtual Agents (プレビュー) を選択します。
投稿する に、ボットとチャット を選択します。
Bot で、メッセージを送信する エージェント を選択します。
受信者で、グループ メンバーのリストアクションからユーザーの原則名の動的コンテンツを選択します。
メッセージでで、メッセージで送信するテキストを入力します。
フローが実行されると、チーム内の各ユーザーは、エージェントとのプライベート チャットでプロアクティブなメッセージを受信します。
セキュリティ グループを送信する
この例では、セキュリティ グループにエージェントがリマインダーを送信して、オンライン トレーニングの完了を促します。
Power Automate フローで、Microsoft Entra ID コネクタを追加し、グループ メンバーの取得アクションを選択します。
グループ ID で、セキュリティ グループの GUID を入力します。
Microsoft Teams コネクタを追加し、チャットまたはチャネルにメッセージを投稿するアクションを選択します。
次の形式で投稿するに、Power Virtual Agents (プレビュー) を選択します。
投稿する に、ボットとチャット を選択します。
Bot で、メッセージを送信する エージェント を選択します。
受信者で、グループ メンバーの取得アクションからグループ メンバー ユーザーの原則名の動的コンテンツを選択します。
メッセージでで、メッセージで送信するテキストを入力します。
フローが実行されると、セキュリティ グループ内の各ユーザーは、エージェントとのプライベート チャットでプロアクティブなメッセージを受信します。
複数の受信者にプロアクティブなメッセージを同時に送信する
通常、複数の受信者にプロアクティブメッセージを送信する場合、エージェントは次々にメッセージを送信します。 ただし、状況によっては、メッセージを複数の受信者に同時に送信したほうがよい場合もあります。
警告
Copilot Studio からの配信されるすべてのプロアクティブ メッセージは、Power Automate の制限とMicrosoft Teams コネクタのスロットリング制限の対象となります。
大量の受信者にメッセージを送信する場合、スロットリングの制限に達するとエラーが表示されます。 並列処理の度合いを下げるか、グループ内の受信者の数を減して調整できます。
それぞれに適用するアクションで、3つの水平ドット (...) を選択し、設定を選択します。
同時実行制御をオンにして、並列の度合を設定します。
プロアクティブ メッセージの詳細オプションを設定する
Copilot Studio では、Microsoft Teams コネクタの高度なオプションを表示するで、エージェント上の詳細な動作を制御することができます。
送信メッセージに通知としてラベルを付ける
通知のラベルは、メッセージのエージェント名の前に "Notification via" というテキストがあるかどうかを制御します。 エージェントの応答をラベル化することで、受信者は自分の問い合わせに対するエージェントの応答を識別できます。
受信者がエージェントと現在アクティブなチャットをしている場合
場合によって、受信者がエージェントとアクティブな会話をしているときに、エージェントがプロアクティブなメッセージを送信することもあるかもしれません。
プロアクティブなメッセージの送信は、会話の流れを妨げないように、相手が会話を終えるまで延期することをお勧めします。
チャットがアクティブな場合ボックスを使用すると、次の動作を制御できます:
送信: エージェントは、通常通り、プロアクティブなメッセージやカードを送信します。
送信せずに成功: エージェントは、受信者がアクティブな会話をしているときには、プロアクティブなメッセージやカードを送信しません。 状態コード 300 が返されます。
送信せずに失敗: エージェントは、受信者がアクティブな会話をしているときには、プロアクティブなメッセージやカードを送信しません。 フローの実行は失敗としてマークされます。
受信者がエージェントをインストールしていない場合
エージェントは、Microsoft Teams にエージェントをインストールした受信者にのみ、メッセージを配信することができます。 受信者がエージェントのインストールを望まない場合や、エージェントをアンインストールしている場合があります。
重要度の低いメッセージの場合、受信者がエージェントをインストールしていなくても、フローの実行が成功したとマークされるように設定できます。
ボットがインストールされていない場合ボックスを使用すると、次の動作を制御できます:
失敗: 受信者が Microsoft Teams にボットをインストールしていない場合、エージェントの実行は失敗としてマークされます。
状態コード付きの成功: 受信者がエージェントをインストールしていないためにメッセージを受け取ることができない場合でも、フローの実行は成功としてマークされます。 状態コード 100 が返されます。
状態コードの定義を開く
返された状態コードを使って、フロー内のさまざまなフォローアップ動作を定義することができます。 たとえば、フローを一定期間にわたって再試行するように指定したり、失敗についての記録を残したりすることができます。
状態コード | 成功 (ブール値) | プロパティ |
---|---|---|
200 | True | メッセージが正常に配信されました。 |
100 | False | 受信者にエージェントがインストールされていないため、メッセージを配信できませんでした。 |
300 | False | 受信者がエージェントと会話中のため、メッセージを配信できませんでした。 |