はじめに
みなさん、こんにちは。
マイクロソフト佐々木です。
こちらの記事で簡単に紹介しておりますが、
Copilot Studioにファイルをアップロードする際のお作法があります。
直近のサイレントなアップデートで取り回ししやすくなっているので、そちら紹介させていただきます。
Copilot Studioのエージェントでファイルアップロードするには
はじめにCopilot Studio内でファイル処理する方法はたくさんあります。
基本的な流れは、
- トピックでファイルを受け付ける(共通処理)
 - 後続のエージェントフロー or ツール or AI Toolsなどで受け取る
 - アウトプットを得る
になるわけですが、いくつかの実装方法を簡単にご紹介します 
トピック内での処理(共通処理)
こちらは共通的な処理になります。エージェントでファイルアップロードで受け入れるためには質問ノードから変数でファイルのデータを受け取ります。
重要なのは、メタデータを含むを有効化します。
質問ノードからプロパティ、エンティティ識別でこちら有効化できます。

こちらを有効にすると後続のノードで変数でファイルの各種データ(ファイルコンテンツ、ファイル名など)を取り扱えるようになります。
Copilot Studioのトピック内でファイルを取得すると、変数には次のような構造で格納されます。
{
  "Name": "report.pdf",
  "ContentType": "application/pdf",
  "Content": "JVBERi0xLjQKJeLjz9MK..."  // Base64形式
}
後続の処理で利用する
ここからが本番です。
後続で様々なノードでこのファイルを処理したいわけですが、処理方法について紹介します。
エージェントフローで利用する
下記のようなエージェントフローを用意しました。
エージェントフロー内でAI Tools(AI プロンプト)とコネクタを呼び出しします。もちろん、別のコネクタでもいいです。

Copilot Studio側では、すこし変数の操作が必要なようです。
Power Appsとお作法は同じです。
(エージェントフロー内のAI Toolsがエラーになってしまうため)
{ contentBytes: Topic.File.Content , name: Topic.File.Name }
エージェントにファイルを渡すと、エージェントフロー内のAI Toolsの結果とOnedriveコネクタが実行されました。
直接コネクタで処理する
一方でコネクタで処理する場合はトピック内の変数で直接処理することが可能です。
おわり
本日はCopilot Studioのエージェントでファイル処理する方法について簡単にまとめました。
こちらお役に立てば幸いです!




