ラボ MCS3 - ツールの定義
このラボでは、Microsoft Copilot Studio でツールを作成する方法を学習します。ツールはエージェントのもう 1 つの主要な構成要素であり、外部の Power Platform コネクター(既定またはカスタム)、外部 REST API、Power Automate フロー、MCP サーバーなどを追加することでエージェントの機能を拡張できます。

Microsoft Copilot Studio でエージェントを構築したい場合は、次のラボを実施してください
Note
このラボは前回の ラボ MCS2 を基にしています。同じエージェントを引き続き使用し、新しい機能を追加して改善します。
ツールはグラフィカル デザイナーで作成できます。作成後、詳細な調整が必要な場合は低レベルのコード エディターで定義を編集することもできます。
このラボで学習する内容:
- Power Platform コネクターを呼び出すツールの作成方法
- Power Automate フローを呼び出すツールの作成方法
- トピックからツールを呼び出す方法
演習 1 : Microsoft Copilot Studio でツールを作成する
この演習では、ラボ MCS2 で作成したエージェントを拡張し、SharePoint Online ドキュメント ライブラリに保存された Excel スプレッドシートから仮想的な候補者リストを取得するために Excel Online を使用します。その後、同じスプレッドシートに新しい候補者を追加できる Power Automate フローを利用するツールを追加します。
ステップ 1: Power Platform コネクターを利用する
新しいツールを作成するには、画面上部の 1️⃣ Tools タブを選択し、2️⃣ + Add a tool を選択してツールの作成を開始します。
ツールの種類を選択できるダイアログが表示されます。既定では Featured ツールがいくつか表示され、Excel Online などの一般的なサービスと連携できます。
+ New tool コマンドを選択すると、次のオプションから新しいツールをゼロから作成できます。
- Prompt: 自然言語で記述したプロンプトを使用して AI ツールを利用
- Agent flow: Power Automate フローを利用(ステップ 2 を参照)
- Custom connector: Power Platform カスタム コネクターを利用
- REST API: 外部 REST API を利用。詳細は こちら を参照
- Model Context Protocol: 外部 MCP サーバーのツールを利用
Featured の一覧に目的のオプションがない場合は、All グループに切り替えてテキスト検索してください。
ここでは Excel Online (Business) を選び、List rows present in a table を選択します。最初に Connection で Create new connection を選択して外部コネクターへ接続します。
アカウントでサインインし、Excel Online (Business) へのアクセスを許可します。接続が構成されると Add to agent または Add and configure のコマンドが表示されます。
次にツールの設定ページが表示されます。設定項目:
- Name: ツールのわかりやすい名前
- Description: ジェネレーティブ オーケストレーションがツールを使用するタイミングを判断するための自然言語の説明
- Inputs: ツールの入力パラメーター
- Completion: ツールがリクエストと応答をどのように処理するか
ツールを設定する前に、候補者リスト用の Excel スプレッドシートを準備します。以下のリンクからサンプル ファイルをダウンロードしてください。
リンク
ファイルを同じテナントの SharePoint Teams サイトの Documents ライブラリにアップロードします。このドキュメントは Microsoft 365 Copilot により生成された仮想の候補者リストです。
- サイトの絶対 URL をコピー: 例
https://xyz.sharepoint.com/sites/contoso/
- ドキュメント ライブラリ名をコピー: 例
Shared documents
- ファイル名をコピー: 例
Sample-list-of-candidates.xlsx
Copilot Studio に戻り、ツール設定を完了します。
設定値:
- Name: List HR candidates
- Description: List candidates for an HR role
Inputs タブを選び、入力パラメーターを設定します。既定では必須パラメーターは Fill as が Dynamically fill with AI
になっています。
各入力パラメーターの Fill using で Custom value
に切り替え、次の静的値を設定します。
- Location: スプレッドシートを保存した SharePoint Online サイト コレクションの URL(例
https://xyz.sharepoint.com/sites/contoso/
) - Document Library: ドキュメント ライブラリ名(例
Shared Documents
) - File: Excel ファイル名(例
Sample-list-of-candidates.xlsx
) - Table:
Candidates_Table
Copilot Studio の UI からサイト、ライブラリ、ファイル、テーブルを参照して設定できます。
画面右上の Save を選択してツールを保存します。
ステップ 2: 新しいツールをテストする
更新したエージェントを発行し、統合テスト パネルや Microsoft Teams で試してみましょう。
ラボ MCS2 でジェネレーティブ オーケストレーションを有効にしたため、次のようなプロンプトを入力するだけでツールを呼び出せます。
Show me the list of candidates for an HR role
テスト パネルでプロンプトを実行すると、デフォルトで Activity map が表示され、オーケストレーターの動作を確認できます。下図では、ユーザーの意図が認識され、ステップ 1 で作成したツールが呼び出されています。手動で設定した入力パラメーターも確認できます。
Power Platform コネクターを利用するためには有効な接続が必要なため、エージェントは Connect ボタンで接続を促します。
Connect を選択し、接続を有効化します。新しいタブで現在のセッションの接続一覧が表示され、Excel Online (Business)
の Connect を選択して Create or pick a connection ダイアログで接続します。接続完了後、エージェント画面に戻り Retry を選択してツールを実行します。テスト パネルに Excel スプレッドシートから取得した候補者リストが表示されます。
これで準備完了です。次のステップへ進みましょう。
ステップ 3: Agent flow を利用する
このステップでは Power Automate フローを利用するツールを作成します。ユーザーの入力に基づき、Excel スプレッドシートに新しい候補者を追加するフローを呼び出します。
まず画面上部の Tools タブで + Add a tool を選択し、+ New tool → Agent flow を選択します。Agent flows デザイナーが開き、新しいフローが表示されます。
フローには When an agent calls the flow
トリガーと Respond to the agent
終了アクションがあります。Copilot Studio が入力パラメーターを渡してビジネス プロセスを実行し、結果をエージェントへ返す仕組みです。まずトリガー アクションを選択してプロパティを編集し、入力パラメーターを設定します。
候補者を追加できるよう、次の 4 つのテキスト パラメーターを設定します。
- Firstname
- Lastname
- Role
- Expertise
次に 2 つのアクションの間に Excel Online (Business) の Add a row into a table アクションを追加します。候補者リストのスプレッドシートを対象に設定し、列フィールドをトリガー アクションの入力とマッピングします。アクション名を Add new candidate row
に変更します。
最後に Respond to Copilot
アクションで出力パラメーター Result
(Text 型)を追加し、以下のようなメッセージを返す数式を設定します。
Save draft で保存し、Overview タブの Details でフロー名を Insert new candidate for HR
などに変更します。フローを発行し、エージェント編集画面に戻ります。再度ツール追加ダイアログを開き、Flow フィルターで先ほど発行したエージェント フローを選択します。見つからない場合は名前で検索してください。
ツールを選択し Add and configure を選択して設定します。例:
- Name: Insert new candidate for HR
- Description: Insert new candidate into the Excel spreadsheet for HR
Save を選ぶとエージェント フロー ベースのツールが準備完了です。次のプロンプトでツールを呼び出してみましょう。
Insert a new candidate into the Excel spreadsheet of HR. The candidate firstname is John,
the lastname is White, the role is "HR Administrator", and the expertise is "Compliance".
前ステップ同様、初回は Excel Online への接続が必要です。Connect → Retry の順に選択してツールを実行します。
ツール実行後、Power Automate フローで定義した応答メッセージが返され、Excel スプレッドシートに新しい候補者が追加されます。
演習 2 : トピック内からツールを呼び出す
この演習では、作成したツールをトピック内で呼び出します。
ステップ 1: トピックからツールを呼び出す
まず空のトピックを作成し、名前を Add a new candidate to Excel
とします。ラボ MCS2 の演習 4 と同様の手順に従ってください。
トリガーの説明例:
This topic helps users to insert new candidates in the Excel spreadsheet of HR.
Triggering sentences can be: add a new a new row to the persistence storage.
簡潔にするため詳細手順は割愛しますが、必要に応じてラボ MCS2 を参照してください。以下は候補者情報を収集する Ask with adaptive card アクション用の JSON です。
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "New HR Candidate Information"
},
{
"type": "Input.Text",
"id": "firstname",
"placeholder": "First Name"
},
{
"type": "Input.Text",
"id": "lastname",
"placeholder": "Last Name"
},
{
"type": "Input.Text",
"id": "current_role",
"placeholder": "Current Role"
},
{
"type": "Input.Text",
"id": "expertise",
"placeholder": "Expertise"
}
],
"actions": [
{
"type": "Action.Submit",
"title": "Submit"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5"
}
次に Add an tool グループから Tool タブを開き、演習 1 - ステップ 3 で作成したツールを追加します。
ツールの入力パラメーターを、アダプティブ カードで取得した変数にマッピングします。
各入力パラメーターに対して + Set value を選択し、以下のように割り当てます。
- text: 名
- text_1: 姓
- text_2: 役職
- text_3: 専門分野
Copilot Studio のデータ バインドを使用して、各パラメーターをトピック変数に設定します。
End current topic アクションを追加して保存します。
ラボ MCS2 で作成した他のトピックを無効化し、次のプロンプトで新しいトピックを呼び出し、Excel スプレッドシートに行を追加します。
Add a new a new row to the persistence storage
アダプティブ カードに入力して送信すると、トピック経由でツールが起動し、Excel スプレッドシートに新しい候補者が追加されます。
おめでとうございます!
これでエージェントがツールをサポートしました。次のラボでは、Copilot Studio を使用して Microsoft 365 Copilot Chat 用の Declarative Agents を作成する方法を学習します。
こちらから ラボ MCS4 を開始し、Copilot Studio で Microsoft 365 Copilot Chat 用 Declarative Agents を作成する方法を学びましょう。