Bot Framework を使用してメッセージ拡張機能を構築する

Bot Framework (ボット ベース) を使用して構築されたメッセージ拡張機能は、ボットとして Web サービスを使用します。 メッセージ拡張機能を使用すると、ユーザーが Teams クライアント内のさまざまな場所 (メッセージの作成領域、コマンド ボックスなど) から Web サービスを操作したり、メッセージから直接やり取りしたり、カードなどの構造化データを送信したりできます。

ボットベースのメッセージ拡張機能は、Bot Framework のメッセージング スキーマとセキュリティで保護された通信プロトコルを利用します。 ボットは Teams アプリのアプリ マニフェストで定義され、アクション コマンドや検索コマンドなど、メッセージ拡張機能のさまざまな種類のコマンドを定義することもできます。

メッセージ拡張機能のコマンドには、操作コマンドと検索コマンドの 2 種類があります。 メッセージ拡張機能のコマンドの種類は、Web サービスで利用可能な UI 要素と操作フローを定義します。 検索コマンドまたはアクション コマンドを使用して、Teams のボットを介して Web サービスと対話できます。

開発者がアクション コマンドと検索コマンドを選択する方法を示すスクリーンショット。

メッセージ拡張検索コマンドを使用すると、ユーザーは外部システムを検索し、その検索結果をカードの形式でメッセージに挿入できます。 このドキュメントでは、検索コマンドの呼び出し場所を選択し、検索コマンドをアプリ マニフェストに追加する方法について説明します。

注:

結果カードのサイズ制限は 28 KB です。 カードのサイズが 28 KB を超える場合、カードは送信されません。

メッセージ拡張機能の検索コマンドを定義する方法については、次のビデオを参照してください。


メッセージ拡張機能の検索コマンドは、 composeExtensions.commands プロパティと、アプリ マニフェスト (以前は Teams アプリ マニフェストと呼ばれる) の query 型を使用して構成されます。 コマンドとパラメーターの説明は、メッセージ拡張の使いやすさと有効性を高めます。 適切なコマンドの説明は、アプリの機能の明確で簡潔な概要を提供します。

次のコードは、検索コマンドを定義する composeExtensions プロパティの例です。

{
 "composeExtensions": [
    {
      "botId": "eccdf132-0900-4d36-936b-dec5e6357f11",
      "commands": [
        {
          "id": "Dev",
          "type": "query",
          "title": "Jedi",
          "description": "May the force be with you",
          "initialRun": true,
          "fetchTask": false,
          "context": [
            "commandBox",
            "compose",
            "message"
          ],
          "parameters": [
            {
              "name": "Luke",
              "title": "Skywalker",
              "description": "Jedi master",
              "inputType": "text"
            }
          ]
        }
      ],
      "canUpdateConfiguration": true
    }
  ],

パラメーター

オブジェクトの composeExtensions.commands 配列に次のパラメーターを追加する必要があります。

プロパティ名 用途 必須 マニフェストのバージョン
id 検索コマンドに割り当てる一意の ID。 ユーザー要求には、この ID が含まれています。 はい 1.0
title コマンド名。 この値は、ユーザー インターフェイス (UI) に表示されます。 はい 1.0
description このコマンドの動作を示すヘルプ テキスト。 この値は UI に表示されます。 はい 1.0
semanticDescription 大規模言語モデル (LLM) による使用のためのコマンドのセマンティック記述。 いいえ 1.17
type コマンドの種類。 既定値は query です。 いいえ 1.4
initialRun このプロパティが true に設定されている場合は、ユーザーが UI でこのコマンドを選択するとすぐにこのコマンドを実行する必要があることを示します。 いいえ 1.0
context 検索アクションが使用できるコンテキストを定義する値の省略可能な配列。 使用可能な値: messagecomposecommandBox。 既定値は compose,commandBoxです。 いいえ 1.5

Teams クライアントでユーザーに表示されるテキストを定義する次の検索パラメーターの詳細を追加する必要があります。

プロパティ名 用途 は必須ですか? マニフェストの最小バージョン
parameters コマンドのパラメーターの静的リストを定義します。 いいえ 1.0
parameter.name パラメーターの名前を記述します。 parameter.nameは、ユーザー要求でサービスに送信されます。 はい 1.0
parameter.description パラメーターの目的または指定する必要がある値の例について説明します。 この値は UI に表示されます。 はい 1.0
parameter.semanticDescription 大規模言語モデル (LLM) による使用のためのパラメーターのセマンティック記述。 いいえ 1.17
parameter.title 短い使いやすいパラメーター のタイトルまたはラベル。 はい 1.0
parameter.inputType 必要な入力の種類に設定します。 使用できる値には、 texttextareanumberdatetimetoggleなどがあります。 既定値は text に設定されます。 いいえ 1.4
parameters.value パラメーターの初期値。 値はサポートされていません いいえ 1.5

詳細については、「 アプリ マニフェスト スキーマ」を参照してください。

Teams 会議用 Copilot のプラグインとしてのメッセージ拡張機能

メッセージ拡張プラグインは、Teams 会議の Copilot でサポートされています。 ボットベースのメッセージ拡張プラグインを会議に拡張すると、Teams 会議の Copilot を強化できます。 Copilot は、タスク モジュール、アプリ共有など、会議中にさまざまなアプリ機能を利用して、ユーザーエンゲージメントと生産性を向上させることができます。 たとえば、Copilot for Teams 会議でプラグインを使用して、ディスカッションの要約、メモの生成、タスクの一覧表示を行うことができます。 また、外部データとカスタム機能とのリアルタイム対話を有効にすることで、従来のプラグインの利点も拡張します。

会議 Copilot は対話型で効率的であり、ディスカッションの要約、アクション項目の提案、リアルタイムでの迅速な支援の提供を支援できます。 ユーザーは、会議の副操縦に自然言語の質問をし、会議コンテキストに関連するプラグインから応答を取得できます。 ユーザーが Microsoft 365 用 Copilot と Teams 会議用の Copilot の両方で有効にするプラグインを使用できます。

スクリーンショットは、Copilot for Teams 会議のプラグイン のポップアップ メニューを示しています。

利点 説明
ユーザーエンパワーメント Meeting Copilot を拡張すると、ユーザーはさまざまなアクションを実行して会議エクスペリエンスを向上させることができます。
UI コマンド ユーザーは、タスク モジュールを開いたり、アプリをステージに共有したりするなどの機能に簡単にアクセスできます。
検索コマンド アプリ データベースからの効率的なデータ取得が可能になり、検索プロセスが合理化されます。
シナリオ 説明
事後対応コマンド ユーザーは Copilot に直接コマンドを実行して、特定のアクションを実行したり、情報を提供したりできます。
- 自然言語プロンプト: ユーザーは Copilot に検索コマンドを実行するように指示できます。
- プロンプトの提案: アプリは、Copilot を実行するための静的またはエンリッチされたプロンプトを提供できます。
プロアクティブ アシスタンス Copilot は、会議のシグナルを事前にリッスンし、次の方法でユーザーを支援します。
- アプリからのプロンプトの提案: ディスカッション トピックに基づくコンテキストに関連する提案。
- 明示的なプロンプトなしで支援を提供する: Copilot は、ディスカッションに基づいてアクションを自動的に提案できます。

次の手順

関連項目