次の方法で共有


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

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

次の手順

関連項目