Microsoft Teams で積極的なメッセージを送信する

重要

Power Virtual Agents 機能は、生成 AI への多大な投資と Microsoft Copilot 全体の統合の強化により、現在 Microsoft Copilot Studio の一部となっています

ドキュメントやトレーニング コンテンツが更新される間、一部の記事やスクリーンショットで Power Virtual Agents が参照される場合があります。

ボットを公開し、Microsoft Teams のエンド ユーザーがボットを利用できるようにした後、Microsoft Teams のユーザー ("受信者") にプロアクティブ メッセージやアダプティブ カードで通知することができます。 プロアクティブ メッセージは、Power Automate フローを使用してコンテンツを配信し、以下のような様々な場面で役立ちます:

  • 受け付けたリクエストが完了したことを受信者に通知します。 たとえば、ユーザーの休暇申請が承認された場合。
  • リマインダーやニュースの更新を提供する。 オンライン トレーニングを完了を促すリマインダー メッセージの送信。

重要

プロアクティブ メッセージは、Copilot Studio で作成およびカスタマイズされたコパイロットおよびクラシック ボットに対して構成できます。

ボットは次の場合、受信者にメッセージを送信できません:

  • Microsoft Teams にボットがインストールされていない。
  • ボットがアンインストールされている。
  • ボットをブロックしている。
  • ボットとチャットする権限が付与されていない - この場合、ボットをユーザーと共有する.必要があります。

前提条件

既知の制限

  • 統一作成キャンバスを使用して ボットを作成した場合、Teams でプロアクティブなメッセージを送信できません。
  • ボットを切断して Microsoft Teams に再接続した場合、ユーザーはボットを再インストールするまでプロアクティブ メッセージを受け取ることができません。
  • Microsoft Copilot Studio からの配信されるすべてのプロアクティブ メッセージは、Power Automate の制限Microsoft Teams コネクタのスロットリング制限の対象となります。
  • プロアクティブなメッセージは、会話の記録や分析セッションには記録されません。
  • プロアクティブ メッセージは、Power Automate フローと同じ環境である必要があります。
  • プロアクティブなメッセージは、ボットとの個人チャットにのみ投稿できます。

プロアクティブなメッセージを送信する

  1. Power Automate で、プロアクティブ メッセージを送信するフローを開きます。 Microsoft Teams コネクタ アクション チャットまたはチャネルにメッセージを投稿する を追加します。

  2. 次の形式で投稿するに、Microsoft Copilot Studio (プレビュー) を選択します。

  3. 投稿する に、ボットとチャット を選択します。

  4. ボットで、メッセージを送信するボットを選択します。

  5. 受信者で、受信者の名前またはメール アドレスを入力します。 また、受信者情報がフローの初期段階で得られたものである場合は、動的コンテンツを使用することもできます。

  6. メッセージでで、メッセージで送信するテキストを入力します。

    Power Automate にメッセージ アクションを投稿します。

このフローを実行すると、Microsoft Teams のボットから受信者にプロアクティブなメッセージが送信されます。

プロアクティブなアダプティブカードを送信する

重要

ここでは、Power Automate フローでプロアクティブなアダプティブカードを送信する方法について説明します。 プロアクティブなアダプティブ カードを使用すると、ユーザーはボットとの非アクティブな会話から、ユーザーが情報を受け取ることを可能にします。 アクティブな会話でアダプティブ カードを送信する方法については、Composer にアダプティブ カードを追加する を参照してください。

プロアクティブ メッセージの送信に加えて、プロアクティブ アダプティブ カードを送信することもできます。

アダプティブ カードのスクリーンショット。

アダプティブ カードは、開発者が UI コンテンツを共通で一貫した方法で交換できるようにする、オープンなカード交換フォーマットです。 アダプティブ カードは、JSON で手書きで作成することもできますが、ドラッグ&ドロップのインターフェースをお好みであれば、アダプティブ カード デザイナーを使用することができます。

Note

テンプレート機能 を使用するアダプティブ カードは、Power Automate でサポートされません。

この例では、ユーザーが確認できるように注文概要カードを送信します。

  1. Power Automate 内の、フロー内のカードを送信するステップで、Microsoft Teams コネクタのアクションチャットやチャンネルにアダプティブカードを投稿するを追加します:

  2. 次の形式で投稿するに、Microsoft Copilot Studio (プレビュー) を選択します。

  3. 投稿する に、ボットとチャット を選択します。

  4. ボットで、メッセージを送信するボットを選択します。

  5. 受信者で、受信者の名前またはメール アドレスを入力します。 また、受信者情報がフローの初期段階で得られたものである場合は、動的コンテンツを使用することもできます。

  6. アダプティブ カードで、次のテンプレート 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"
            }
        ]
    }
    

    Power Automate でアダプティブ カード アクションを投稿します。

このフローを実行すると、Microsoft Teams のボットから受信者にアダプティブ カードが送信されます。

ユーザーの応答を待つ

重要

ここでは、Power Automate フローでプロアクティブなアダプティブカードを送信する方法について説明します。 プロアクティブなアダプティブ カードを使用すると、ユーザーはボットとの非アクティブな会話から、ユーザーが情報を受け取ることを可能にします。 アクティブな会話でアダプティブ カードを送信する方法については、Composer にアダプティブ カードを追加する を参照してください。

アダプティブ カードは、ユーザー入力の収集をサポートします。 これらのシナリオでは、フローを続行する前に、ユーザーの応答を待つ必要があります。

ユーザーのアクションを含むアダプティブ カードのスクリーンショット。

Note

テンプレート機能 を使用するアダプティブ カードは、Power Automate でサポートされません。

この例では、注文が送信される前にユーザーが変更できるように、注文確認カードを送信します。

  1. Power Automate 内の、フロー内のカードを送信するステップで、Microsoft Teams コネクタのアクションアダプティブ カードを送信して応答を待機するを追加します:

  2. 次の形式で投稿するに、Microsoft Copilot Studio (プレビュー) を選択します。

  3. 投稿する に、ボットとチャット を選択します。

  4. メッセージで、次のテンプレート 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"
            }
        ]
    }
    
  5. メッセージの更新で、回答後に受信者に表示される更新メッセージを表示します。

  6. 受信者で、受信者の名前またはメール アドレスを入力します。 また、受信者情報がフローの初期段階で得られたものである場合は、動的コンテンツを使用することもできます。

  7. ボットで、カードを送信するボットを選択します。

    Power Automate でアダプティブ カードを投稿して応答を待機するアクション。

このフローが実行されると、受信者は Microsoft Teams のボットからアダプティブカードを受け取り、それに対する応答を行うことができます。

受信者からの応答を使用するには、動的コンテンツ フライアウト メニューから submitActionId を選択します。 この変数の値は、ユーザーが選択したアクションの title となります。

複数の受信者にプロアクティブなメッセージを送信する

場合によっては、同じプロアクティブメッセージを複数の受信者に送信するケースもあるでしょう。

ここでは、複数の相手にメッセージを送信する例を紹介しています。

重要

このトピックで説明する前提条件は、各受信者に適用されます。

たとえば、1 回のアクションで 10 人の受信者に同じメッセージを送ることができます。 10 人の受信者のうち、 3 人がボットをインストールしていない場合、その 3 人にはメッセージを受信できません。

チームメイトに送信する

この例では、あるチームのメンバーにボットがリマインダーを送信して、オンライン トレーニングの完了を促します。

  1. ご利用の Power Automate フローで、Microsoft Teamsコネクタを追加し、チームの取得アクションを選択します。

  2. チームで、メッセージを送信するメンバーのいるチームを選択します。

  3. Office 365 グループコネクタを追加し、グループ メンバーのリストアクションを選択します。

  4. グループ ID で、カスタム値を選択します。

  5. チームを取得するアクションの動的コンテンツからチーム ID を選択します。

  6. Microsoft Teams コネクタを追加し、チャットまたはチャネルにメッセージを投稿するアクションを選択します。

  7. 次の形式で投稿するに、Microsoft Copilot Studio (プレビュー) を選択します。

  8. 投稿する に、ボットとチャット を選択します。

  9. ボットで、メッセージを送信するボットを選択します。

  10. 受信者で、グループ メンバーのリストアクションからユーザーの原則名の動的コンテンツを選択します。

    チームメイトに例を送信します。

  11. メッセージでで、メッセージで送信するテキストを入力します。

フローが実行されると、チーム内の各ユーザーは、ボットとのプライベート チャットでプロアクティブなメッセージを受信します。

セキュリティ グループを送信する

この例では、セキュリティ グループにボットがリマインダーを送信して、オンライン トレーニングの完了を促します。

  1. Power Automate フローで、Microsoft Entra ID コネクタを追加し、グループ メンバーの取得アクションを選択します。

  2. グループ ID で、セキュリティ グループの GUID を入力します。

  3. Microsoft Teams コネクタを追加し、チャットまたはチャネルにメッセージを投稿するアクションを選択します。

  4. 次の形式で投稿するに、Microsoft Copilot Studio (プレビュー) を選択します。

  5. 投稿する に、ボットとチャット を選択します。

  6. ボットで、メッセージを送信するボットを選択します。

  7. 受信者で、グループ メンバーの取得アクションからグループ メンバー ユーザーの原則名の動的コンテンツを選択します。

  8. メッセージでで、メッセージで送信するテキストを入力します。

    セキュリティ グループの送信オプション。

フローが実行されると、セキュリティ グループ内の各ユーザーは、ボットとのプライベート チャットでプロアクティブなメッセージを受信します。

複数の受信者にプロアクティブなメッセージを同時に送信する

通常、プロアクティブ メッセージを複数の受信者に送信する場合、ボットは次々とメッセージを送信します。 ただし、状況によっては、同時に複数の受信者にメッセージを送信する方が理想的な場合があります。

警告

Microsoft Copilot Studio からの配信されるすべてのプロアクティブ メッセージは、Power Automate の制限Microsoft Teams コネクタのスロットリング制限の対象となります。

大量の受信者にメッセージを送信する場合、スロットリングの制限に達するとエラーが表示されます。 並列処理の度合いを下げるか、グループ内の受信者の数を減して調整できます。

  1. それぞれに適用するアクションで、3つの水平ドット (...) を選択し、設定を選択します。

    その他のオプション メニューの設定。

  2. 同時実行制御をオンにして、並列の度合を設定します。

    レベルや同時実行性を設定するためのスライダーコントロール。

プロアクティブ メッセージの詳細オプションを設定する

Microsoft Copilot Studio では、Microsoft Teams コネクタの高度なオプションを表示するで、ボット上の詳細な動作を制御することができます。

コネクタの拡張オプション ペイン。

送信メッセージに通知としてラベルを付ける

通知としてのラベルは、メッセージにボット名の前に「通知経由」のテキストを表示するかどうかを制御します。 ボットの応答をラベル化することで、受信者は自分の問い合わせに対するボットの応答を識別できます。

この設定では、ボット名を介した通知が表示されます。

受信者がボットと現在アクティブなチャットをしている場合

場合によって、受信者がボットとアクティブな会話をしているときに、ボットがプロアクティブなメッセージを送信する場合があるかもしれません。

プロアクティブなメッセージの送信は、会話の流れを妨げないように、相手が会話を終えるまで延期することをお勧めします。

チャットがアクティブな場合ボックスを使用すると、次の動作を制御できます:

  • 送信: ボットは、通常通り、プロアクティブなメッセージを送信します。

  • 送らずに成功: ボットは、受信者がアクティブな会話をしているときには、プロアクティブなメッセージを送信しません。 状態コード 300 が返されます。

  • 送らずに失敗: ボットは、受信者がアクティブな会話をしているときには、プロアクティブなメッセージを送信しません。 フローの実行は失敗としてマークされます。

受信者がボットをインストールしていない場合

ボットは、Microsoft Teams にボットをインストールした受信者にのみ、メッセージを配信できます。 受信者がボットのインストールを望まない場合や、ボットをアンインストールしている場合があります。

重要度の低いメッセージの場合、受信者がボットをインストールしていなくても、フローの実行が成功したとマークされるように設定できます。

ボットがインストールされていない場合ボックスを使用すると、次の動作を制御できます:

  • 失敗: 受信者が Microsoft Teams にボットをインストールしていない場合、フローの実行は失敗としてマークされます。

  • 状態コード付きの成功: 受信者がボットをインストールしていないためにメッセージを受け取ることができない場合でも、フローの実行は成功としてマークされます。 状態コード 100 が返されます。

状態コードの定義を開く

返された状態コードを使って、フロー内のさまざまなフォローアップ動作を定義することができます。 たとえば、フローを一定期間にわたって再試行するように指定したり、失敗についての記録を残したりすることができます。

状態コード 成功 (ブール値) 説明設定
200 True メッセージが正常に配信されました。
100 False 受信者にボットがインストールされていないため、メッセージを配信できませんでした。
300 False 受信者がボットと会話中のため、メッセージを配信できませんでした。