次の方法で共有


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

重要

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

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

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

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

重要

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

コパイロットは受信者が次の状態の場合、メッセージを届けることができません:

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

前提条件

既知の制限

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

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

  1. Power Automate で、プロアクティブ メッセージを送信するフローを開きます。

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

  3. 次の形式で投稿するに、Power Virtual Agents (プレビュー) を選択します。

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

  5. ボットの場合は、メッセージを送信するコパイロットを選択します。

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

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

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

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

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

重要

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

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

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

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

Note

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

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

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

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

  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. 次の形式で投稿するに、Power Virtual Agents (プレビュー) を選択します。

  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. 次の形式で投稿するに、Power Virtual Agents (プレビュー) を選択します。

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

  9. ボットの場合は、メッセージを送信するコパイロットを選択します。

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

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

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

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

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

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

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

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

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

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

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

  6. ボットの場合は、メッセージを送信するコパイロットを選択します。

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

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

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

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

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

通常、プロアクティブ メッセージを複数の受信者に送信する場合、コパイロットはメッセージを次々に送信します。 ただし、状況によっては、メッセージを複数の受信者に同時に送信したほうがよい場合もあります。

警告

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

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

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

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

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

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

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

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

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

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

通知のラベルは、メッセージのコパイロット名の前に 「Notification via」 というテキストがあるかどうかを制御します。 コパイロットの応答をラベル化することで、受信者は自分の問い合わせに対するコパイロットの応答を識別できます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

状態コードの定義を開く

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

状態コード 成功 (ブール値) プロパティ
200 True メッセージが正常に配信されました。
100 False 受信者にコパイロットがインストールされていないため、メッセージやカードを配信できませんでした。
300 False 受信者がコパイロットとアクティブな会話中であるため、メッセージを配信できませんでした。