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 |
検索アクションが使用できるコンテキストを定義する値の省略可能な配列。 使用可能な値: message 、compose 、commandBox 。 既定値は 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 |
必要な入力の種類に設定します。 使用できる値には、 text 、 textarea 、 number 、 date 、 time 、 toggle などがあります。 既定値は text に設定されます。 |
いいえ | 1.4 |
parameters.value |
パラメーターの初期値。 値はサポートされていません | いいえ | 1.5 |
詳細については、「 アプリ マニフェスト スキーマ」を参照してください。
Teams 会議用 Copilot のプラグインとしてのメッセージ拡張機能
メッセージ拡張プラグインは、Teams 会議の Copilot でサポートされています。 ボットベースのメッセージ拡張プラグインを会議に拡張すると、Teams 会議の Copilot を強化できます。 Teams 会議用の Copilot は、タスク モジュール、アプリ共有など、会議中にさまざまなアプリ機能を利用して、ユーザーエンゲージメントと生産性を向上させることができます。 たとえば、Copilot for Teams 会議でプラグインを使用して、ディスカッションの要約、メモの生成、タスクの一覧表示を行うことができます。 また、外部データとカスタム機能とのリアルタイム対話を有効にすることで、従来のプラグインの利点も拡張します。
Teams 会議の Copilot は対話型で効率的であり、ディスカッションの要約、アクション項目の提案、リアルタイムでの迅速な支援の提供を支援できます。 ユーザーは、Teams 会議の Copilot に自然言語の質問をし、会議コンテキストに関連するプラグインから応答を取得できます。 プラグインは、ユーザーが Teams 会議のMicrosoft 365 Copilotと Copilot の両方で有効にすることができます。
利点 | 説明 |
---|---|
ユーザーエンパワーメント | Teams 会議用の Copilot を拡張すると、ユーザーはさまざまなアクションを実行して会議エクスペリエンスを向上させることができます。 |
UI コマンド | ユーザーは、タスク モジュールを開いたり、アプリをステージに共有したりするなどの機能に簡単にアクセスできます。 |
検索コマンド | アプリ データベースからの効率的なデータ取得が可能になり、検索プロセスが合理化されます。 |
シナリオ | 説明 |
---|---|
事後対応コマンド | ユーザーは、Teams 会議の Copilot に直接コマンドを実行して、特定のアクションを実行したり、情報を提供したりできます。 |
- 自然言語プロンプト: ユーザーは、Copilot for Teams 会議で検索コマンドを実行するように指示できます。 | |
- プロンプトの提案: アプリは、Teams 会議を実行するための Copilot の静的またはエンリッチされたプロンプトを提供できます。 | |
プロアクティブ アシスタンス | Teams 会議の Copilot は、会議のシグナルを事前にリッスンし、次の方法でユーザーを支援します。 |
- アプリからのプロンプトの提案: ディスカッション トピックに基づくコンテキストに関連する提案。 | |
- 明示的なプロンプトなしで支援を提供する: Teams 会議の Copilot は、ディスカッションに基づいてアクションを自動的に提案できます。 |
次の手順
関連項目
Platform Docs