Copilot Studioでエージェントと外部API呼び出しを組み合わせてみる
X-tech推進本部 川端本記事では、Copilot Studio で外部サービスと連携し、エージェントに機能を拡張させる方法を紹介します。
Copilot Studio の基礎
Copilot Studioは、次の3つの主要コンポーネントで構成されています。
- エージェント:ユーザーとの対話や業務プロセスの自動化を担う中心的な存在
- フロー:トリガーとアクションを組み合わせて業務を自動化(例:メール受信時にTeamsに通知を出す)
- ツール:外部サービスとの連携やデータ送信などのアクションを担う部品
今回は、エージェントとツール(REST API)を利用し、Backlogから取得した結果を元に、エージェントに回答を生成させるツールの開発を試してみました。
今回作るもの
例として、業務用のガイドラインがBacklogのWikiにまとめられていると想定し、そのBacklog上の内容に従って文章をレビューしてもらうエージェントを作成します。
役割分担は以下です。
- ツール:Backlogからガイドラインを取得
- エージェント:取得したガイドラインを元に入力内容のレビューを行う
エージェントの作成
次に、レビューを実施するエージェントを作成します。
Copilot Studioから新規エージェントを作成し、レビューワーとしてふるまうように以下の「指示」を設定します。
あなたはプロフェッショナルなライティングレビュアーです。
常に日本語で回答すること。
【レビュー対象】
- ナレッジ情報の記事
【レビュー内容】
ユーザーがテキストを貼り付けたら、業務ガイドラインを元にレビューしてください。
また、レビューは以下の点も考慮し、修正が必要な箇所があればフィードバックしてください。
【出力形式】
各項目に評価(5段階)とコメントを記載し、最後に総合改善提案をまとめてください。
【注意事項】
- 建設的で具体的なフィードバックを心がける
- 良い点も必ず挙げる
ツールの作成
ここでは、BacklogのWiki APIを呼び出すツールを作成した手順をまとめます。
- Copilot Studioの「ツール」から新しいツールを選択
- 「REST API」を選択
OpenAPI 定義をアップロード
※ BacklogにはOpenAPI定義がないため、Copilotに公式リファレンスを渡して仕様作成を補助してもらいました。
認証は、APIキー認証を選択
- レビューに進み公開すると、カスタムコネクタとREST APIが追加される
ツールのテスト
- 作成した「カスタムコネクタ」を選択
- 全般、セキュリティ、定義の順に確認
- テストタブでapiKey / wikiIdを指定して、動作していることを確認

エージェントへの組み込み
- エージェントのツールタブを開く
- 「ツールを追加する」から作成済みカスタムコネクタを選択する
- エージェントの名前・説明を入力、この説明フィールドを元に、ユーザーからの入力がBacklogツールを利用するかどうかエージェントが判断する
- Bad:Wikiページの情報を取得します。
- Good:最新の業務ガイドラインを取得します。

- 入力値としてapiKey / wikiIdを設定し、ツールからユーザーに直接メッセージを送信することはないので、応答モードを「応答しない(規定)」に設定する
- 「エージェントをテストする」で期待通りに動くかチェックする

Tips
- OpenAPI 定義について
- 評価時点でCopilot Studioが対応していたのはOpenAPI 2.0(Swagger)
- v3 仕様がアップロードされた場合は自動変換とありましたが、試した段階ではエラーになっていました(エラーの詳細は表示されませんでしたが、v3の書き方の問題かもしれません)
- ツールのテストでエラーになることがある
- 必須の操作ID(OperationID)が空でエラーになっていたもので、OpenAPI定義に含めたほうがスムーズに進められそうです。
- 接続する外部APIについて
- API側の制約で呼び出し回数に制限がある場合が多いので、その場合はキャッシュを取るなどの工夫が必要になるかもしれません。
- REST APIツールを作成するとPower Platform側にも同名の「カスタムコネクタ」が同時に作成されていました。REST APIツールは両者をつなぐ橋渡しの役割なのかもしれません。
まとめ
本記事では、Copilot StudioのエージェントからREST APIツールを活用し、BacklogのWiki APIを呼び出すまでの流れを紹介しました。
REST APIツールを利用すると、外部サービスをCopilotから柔軟に扱えるようになり、業務自動化の幅が大きく広がります。