目次
VS Code での環境準備
@agentPlugin と検索することで プラグインを確認できます。その中でも以下のプラグインをインストールします。
Code Apps
こちらは Code Apps を開発する際のスキルが入っています。
Complete toolkit for Power Apps Code Apps development including project scaffolding, development standards, and expert guidance for building code-first applications with Power Platform integration.

Copilot Studio
Microsoft Copilot Studio plugins for AI coding agents

Dataverse
Build and manage Microsoft Dataverse solutions using natural language. Includes table/column creation, solution lifecycle, data operations, and MCP server configuration.

インストールが完了したら、拡張機能再起動します。

スキルを利用した VS Code での開発
テーブルの作成
Dataverse テーブルの設計をしてもらいます。今回はインシデント管理テーブルを作成してみます。このようなプロンプトで依頼します。
IT資産の内部からの問い合わせを受け付けて、障害対応するインシデント管理テーブルを作成してほしいです。まずは設計してください。いきなり開発は行わせず、設計のみさせます。修正希望があれば追加で依頼します。

すぐに関連するスキルを読み込みました。

読み込んだかと思ったら、直ちに非常に詳細にテーブルを設計してくれました。

選択肢の列定義もDataverseのことをよくわかっています。

設計の考え方まで共有してくれます。安心感があります。

追加で関連テーブルを設計するように依頼しました。
IT資産は別テーブルにして、関連付けるようにして。追加テーブルとリレーションシップの設計も問題なく実施してくれました。

現在の利用者は既存のユーザーテーブルを参照してほしいので、それについても依頼してみます。
- あえて部署については何も言わずにユーザーテーブル側で管理してくれるか
- ユーザーテーブルと言うだけで既存テーブルを見つけてくれるか
このあたりを検証します。

現時点ちょっと惜しく、Dataverseにある既定のユーザーテーブルであるSystemUser テーブルは認識してくれましたが、部署についてはその中に含めてくれませんでした。こちらは現時点ではDataverseのテーブル構造について利用者が理解して指示する必要があります。

というわけでこのように指示してみました。
部署はUserテーブルに含んでいるため、設計を更新して
納得行くテーブルを設計することができたため、こちらで作成してもらいます。
自然な言い回して作成してもらいます。
この内容でテーブルを作成してテーブルを作成する先の環境をAsk user 形式で提供してくれました。

設計から相談に乗ってくれて、複数の新規テーブル、既存テーブル含めてテーブル作成を行ってくれるのは非常に便利です。画面上で一つずつ列を作成したり、Excel から流し込むよりはずっと楽です。
ビジネス要件に集中できているという自信を感じます。
認証を求められます。デバイスコードでの認証でした。環境にアクセスできるアカウントで実行します。

認証が完了したら次の操作が続きます。
パブリッシャープレフィックスを確認するPythonが実行されます。
動きをよく見ていると、様々な操作をPythonで実行しています。

すきなパブリッシャーを選択することができます。こちらも Ask user 形式で聞いてきます。とても親切ですね。

複雑な操作ですが、用途ごとにSDKとWeb APIを使い分けるようです。

ここまでの複雑な操作を自分で実行しようとしたら躓きやすいでしょう。スキルとして提供されている価値がここにあると思います。
今後AIエージェントのための技術が提供されたら、より簡単にオーバーヘッドも少なく実行できるようになるでしょう。
5分ほど時間がかかりましたが、2つのテーブルの作成が完了しました。

実際に Power Apps ポータルを見てみるとテーブルが存在しています。

ER図を作成して と言って作成してもらいます。

次にデモデータを作成してもらいます。デモデータは動きを確認するのに必要です。通常、これを準備するのは結構大変 & かつ複数のテーブルに登録するのは面倒でしたが何に文句を言わずに進めてくれます。
もうAIなしには戻れません。
既存ユーザーの情報を確認して作成する動きを取ります。非常に賢いです。

特に指示していませんでしたが、日本語でデモデータが作成されています。

列は日本語の表示名にしてもらいたいので追加で依頼します。

日本語にして、というのは簡単ですが手動でやるとなったらこれは非常に大変な作業です。
スクリプトを作成して連続的に実行してくれています。

表示名を変更できる列は日本語に変更してくれました。

こちらで Dataverse は完成とします。
エージェントを VS Code でクローンする
Copilot Studio のスキルはエージェントの新規作成に対応していないので、編集用に事前にポータルにて手動で作成しておくか、 Dataverse APIにて作成する必要があります。
今回はVS Code からすべての操作を実行したいため、Dataverse API経由で作成してもらいます。新しいエージェント「IT資産管理エージェント」を作成してもらいます。

面白い動きになりました。スキルの有無を特に言わなくても自然に理解して Dataverse API 経由で作成する判断を GitHub Copilot 自身が行いました。

新しいエージェントのデプロイが完了しました。

トピックのカスタマイズ
トピックで使わないものは削除してもらいます。自然言語でまとめて指示できるのはとてもありがたいです。

自然なやり取りで変更することができました。

この状態ではまだエージェントの定義情報はローカルに存在しており、クラウドにパブリッシュされているのは最初に公開されたバージョンです。
ただしVS Code にはコードが存在しています。
ここまでの内容を一度クラウドに再度デプロイしてもらい、 Copilot Studio が動作するか確かめたいと思います。

一度プルしてからプッシュする動きを取ります。

エラーを検出し、自己修復しています。

エージェントがデプロイされていることがわかります。

アイコンは懐かしのアイコンが使われています。利用しないトピックは削除されてデプロイされていました。

実現方法が色々と考えられる依頼をしてみます。

実装方法については特に指定しないで依頼したため、トピックを作成する方針やDataverse コネクターを優先する方針で実装方法を考えているようです。
この実装方針は指定しないと迷走しているようです。現在は 生成オーケストレーションにて Dataverse MCP Server を利用するのが最も良い方法なのに、トピックを作成して対応しようとしています。

トピックを活用して Dataverse と連携する方針で実装されました。
しっくりこない実装方法です。おそらくですが用意されているスキルがまだ少なく、あるツールの中から選択されてしまっており納得のいかない形式になっています。

内容をポータルでも確認してみます。いくつもトピックが作成されていました。

また、ナレッジにはインシデントテーブルが追加されています。

内容を確認してみましたが、そのようなテーブルは存在しないようです。Knowledgeの作成には不具合があるようです。
実際には存在しないテーブルが追加されてしまっています。

つまり、テーブルに関してはしっかりとプロンプトで指示してあげる必要があるようです。
次に、インシデント起票のトピックを確認してみます。検索、編集、起票のトピックが作成されていますが、内容がありません。コードエディターでも開くことができません。

また、ツールにDataverseが追加されていないようです。

上記のような問題点があることから、エージェントを作成し直します。
以下のような指示を GitHub Copilot に対して行い、ここまでの設定を修正させます。
Dataverse の検索は、 作成した geek_IncidentManagement テーブルを利用する。また、Dataverse MCP Server を利用して起票などを行えるようにする。 さらに、 生成オーケストレーションを活かすため、トピックはカスタムで利用しない。実行結果を見ると、 Copilot Studio に Dataverse MCP Server は自動て追加できないとあります。手動での追加方法が案内されました。

しょうがないので手動で追加します。
2026/04/06 時点の限界のようです。

更新したことを VS Code で伝えると、 Pull して 最新情報を取得して Push > Publish に進みます。

続けて、ナレッジのDataverseテーブルも正しいテーブルに更新するように指示します。あえてスキーマ名を指示に入れず、どこまで対応できるか試してみます。
するとAsk user してきて確かめてきました。

それでもナレッジには上手に追加されませんでした。

GitHub Copilot も諦めてしまったので、手動で ナレッジを追加します。

正しく公開されました。結果をポータルで確認すると Dataverse MCP Server 向けに指示が最適化されていることがわかります。

続けて、エージェントのアイコンを作成して登録させました。

ポータルで確認するとアイコンが作成されて登録されていました。

Powe Apps Code Apps
アプリの作成を進めます。今度は VS Code でCode Apps でインシデント管理アプリを作成するように指示します。デザインは
最低限の内容を指示に加え、デザイン等もランダム (指示を行わない) で進めてみます。

待っているとひたすら開発してくれています。一度でとんでもない量を開発します。
これを10分で開発するのですからAIの開発速度はとんでもないです。

次のステップとしてこれを提案されましたので続けてとだけ依頼します、

アプリのURLを返してくれました。

このURLにアクセスして Power Apps が実行できるか試します (この時点で接続がおかしいようには見えていますが、そのまま実行してみます)。
アプリが実行できませんでした。F12でエラーを確認して、GitHub Copilot に依頼します。

エラー内容を伝えて Copilot に修正してもらいます。

開きました。ただまだエラーが発生しているので、修正します。ついに Dataverse の接続に関するエラーまで来たと思います。


エラーメッセージを渡しても修正してくれませんでした。 GitHub Copilot が実行しているログを見ていると、利用するコマンドが間違っていました。
誤: pac code add-data-source -t でテーブル登録
正: pac code add-data-source -a dataverse -t でテーブル登録
この違いがありました。この点は プラグインでも実行できていなかったため、手動で以下の URL を渡して更新させました。
How to: Connect your code app to Dataverse – Power Apps | Microsoft Learn

Dataverse への接続が回復し、利用できました。

ただ、デザインがいまいちでした。このデザインは Fluent UI を利用しているようです。
そのため、自分の Code Apps Starter テンプレートの GitHub のページを指定してデザインを刷新してもらいます。
この https://github.com/geekfujiwara/CodeAppsStarter デザインテンプレートを元にUXを刷新する。このように指示したところ、詳細に内容を確認してデザインを更新する動きを見せました。

Code Apps Starter を利用することでデザインが刷新されました。

完成したソリューションのテスト
Copilot Studio
エージェントを実行してみると回答してくれます。

別のセッションを開始し、フィッシングに関するインシデントを確認させます。

登録されていることがわかりました。次に編集してみます。ステータスについて変更したいと言うと、アドバイスをくれます。

保留中にしておきます。

手動で設定するには選択肢型などの調整が手間がかかるのですが、Dataverse をVS Code 経由で行うと非常に簡単に設定できることがわかりました。
次は起票します。
管理自然な形式で会話ができています。

登録できました。

Power Apps Code Apps
Code Apps で確認してみるとたしかに登録されていることがわかりました。

一覧画面も利用することができます。

詳細画面も用意されています。
まとめ: ここまでの懸念点を解消しながら Power Platform を開発するカスタムエージェントYAML
ここまでの内容をまとめた CodeAppsDevelopmentStandard を作成しGitHubに公開しています。
また、ここまでのポイントを抑えた VS Code / GitHub Copilot 用のカスタムエージェントのYAML を作成しました。
---
name: PowerCodeAppsCopilot
description: Power Platform(Code Apps / Canvas Apps / Dataverse / Copilot Studio)に精通したエンタープライズ向けエキスパート。実運用と制約を前提に、誤りのない設計と実装を支援する
argument-hint: あなたは Microsoft Power Platform に特化した エンタープライズ級の開発者・アーキテクトです。
Power Apps Code Apps、Canvas Apps、Power Automate、Dataverse、Copilot Studio を横断的に理解し、実際のプロダクト制約・挙動・失敗事例を前提に、正確で再現性のあるガイダンスを提供することが使命です。
あなたの役割は「すべてを自動化すること」ではなく、
人が安全に判断できる状態を作ることです。
あなたの専門領域
Power Apps Code Apps(Preview)
コードファースト開発(React + TypeScript + Vite)
PAC CLI / Power Apps SDK の正確な利用
pac code add-data-source 等 CLI の 正構文厳守
PowerProvider の async 初期化パターン
Code Apps 特有の制約・エラー傾向の理解
Canvas Apps
Power Fx の委任・パフォーマンス設計
レスポンシブ / アクセシビリティ(WCAG)
モダンコントロールの適切な選定
Dataverse
テーブル設計(物理名 / 表示名 / 型)
既定テーブル(SystemUser 等)の正確な理解
リレーション、セキュリティロール、ナレッジ利用
存在しないテーブルを仮定しない
Copilot Studio(エージェント)
トピック利用 / 生成オーケストレーションの判断
Dataverse API 経由のエージェント作成
Dataverse MCP Server は自動追加できない制約の理解
ローカル(VS Code)とクラウドの状態差分管理
ALM / ガバナンス
環境戦略(Dev / Test / Prod)
マネージド環境制約
DLP / Entra ID / 条件付きアクセス
絶対に守る前提ルール(重要)
1. Dataverse は「名前推測」をしない
「インシデントテーブル」など 曖昧な表現は使用しない
必ず以下を確認・Ask user すること
テーブルの論理名 / スキーマ名
既存テーブルか新規か
存在しないテーブルを前提に進めない
2. Copilot Studio の制約を正しく扱う
エージェントの新規作成は Copilot Studio スキルでは不可
Dataverse MCP Server は 自動追加不可(手動対応が必要)
ナレッジへの Dataverse テーブル追加は 失敗することがある
失敗時は手動手順を明示する
3. Code Apps の CLI は必ず検証する
以下のような 誤コマンドを出力しないこと
❌ pac code add-data-source -t
✅ pac code add-data-source -a dataverse -t
コマンドは Microsoft Learn の表記と一致させる
実行結果ログに不整合がある場合は人に確認を促す
4. 「完全自動」を目指さない
次の工程では必ず **人の判断を要求(Ask user)**する
Dataverse テーブルの最終確定
セキュリティロール設計
接続・認証・環境選択
自律的に進みすぎた場合は、中断して確認する
応答時の基本姿勢
✅ Microsoft Learn を最優先ソースとする
✅ 事実・仕様・制限のみを述べ、推測しない
✅ Preview 機能は必ず Preview と明記
✅ 「できないこと」は曖昧にせず明確に伝える
✅ 成功例だけでなく 失敗しやすい点を必ず書く
回答構成(必須)
結論(Quick Answer)
前提条件・制約
具体的な手順 / 設計
注意点・落とし穴
人が確認すべきポイント
Microsoft Learn 参照先
次に取るべきアクション
Code Apps(Preview)最新前提
SDK: @microsoft/power-apps ^0.3.x
利用条件: Power Apps Premium
制限事項
Git 連携なし
Application Insights なし
CSP / Storage SAS 制限あり
ローカル実行
Port 3000 必須
npm run dev + pac code run
---ぜひご利用ください。
Recent Posts