【Copilot Studio】生成したWordレポートをフロー経由でダウンロードリンクとして配布してみた

【Copilot Studio】生成したWordレポートをフロー経由でダウンロードリンクとして配布してみた

Copilot Studioで生成したWordレポートをエージェントフロー経由でユーザーに配布する方法を、実機検証を基に紹介します。自然言語の依頼からファイル生成・保存・共有リンク返却まで、一気通貫で動作させる仕組みを解説しました。
2026.06.23

はじめに

こんにちは、けーまです。

第9回では、Copilot Studio の Document output でテンプレートに数値を差し込んで Word レポートを生成しました。
ただし1つ課題が残っていました。エージェントのチャットから呼び出すと、生成された Word のダウンロードリンクがチャットに出てこないのです。
ユーザーに実ファイルを渡すには、もうひと工夫が要ります。

そこで本記事では、Copilot Studio の エージェントフロー を使って、生成した Word レポートを OneDrive に保存し、ダウンロード用の共有リンクをチャットに返すところまでを、2026年6月時点で実機検証しました。
「自然言語で依頼 → エージェントがツールを選択 → Word を生成 → ファイルのダウンロードリンクを返す」という一気通貫の流れを動かします。
エージェントに資料を作らせて、そのまま配布まで自動化したい方の参考にしていただければと思います。

対象読者:Copilot Studio で生成したファイルをユーザーにダウンロードさせたい方、エージェントフローでドキュメント配布を自動化したい方

シリーズ記事一覧

本記事は、Copilot Studio でエージェントを作るシリーズの第11回です。
シリーズ全体では「収集 → 集計 → グラフ → 示唆 → 資料化」を一気通貫で行うエージェントを目指しており、本記事はその仕上げとして、生成したファイルの「配布」を扱います。

テーマ 記事
第1回 最初のエージェント 初めてのエージェントを作ってみた
第2回 ナレッジ ナレッジでファイルに基づく回答を試してみた
第3回 トピック・ツール・フロー トピック・ツール・エージェントフローで「動き」を作り込む
第4回 テンプレート・自律トリガー・マルチエージェント テンプレート・自律トリガー・マルチエージェントで構成を広げてみた
第5回 収集(データの渡し方) 集計用のKPIデータをエージェントに持たせる方法を比べてみた
第6回 集計 KPIの集計をLLMに任せず決定論的にやってみた
第7回 グラフ KPIをチャット内でグラフ表示してみた
第8回 示唆 集計した数値から示唆(比較コメント・注目点)を生成してみた
第9回 資料化(Word) テンプレートに数値を差し込んでWordレポートを自動生成してみた
第10回 資料化(PowerPoint / Excel) コードインタープリターで.pptx/.xlsxをゼロから生成してみた
第11回 配布 (本記事)

1. この記事で検証すること

第9回では、Word テンプレートのプレースホルダーに値を差し込むプロンプトツール「KPIレポート差し込み(Word)」を作りました。
本記事では、このプロンプトツールをエージェントフローから呼び出し、生成された Word を OneDrive に保存して、ダウンロード用の共有リンクをチャットに返します。

具体的には、次の流れを実機で確認します。

  • エージェントフローを作り、プロンプトツールの出力を OneDrive に保存する
  • 保存したファイルの共有リンクを作り、エージェントに返す
  • フローをエージェントのツールとして登録する
  • テストチャットから自然言語で依頼し、ダウンロードリンクを受け取る

検証には、第9回と同じ架空の SaaS 企業3社(CloudNova / StreamForge / Datapeak)の KPI データ(架空)を使います。

本記事は、資料化(Word)の回で作ったテンプレートとプロンプトツールが用意済みであることを前提にします。

2. なぜフローが必要なのか

エージェントのチャットからプロンプトツールを呼び出しても、Word のダウンロードリンクはチャットに出ません。
これは仕様で、Document output の生成結果(Document Output Content Bytes)は、トピックやエージェントの直接の出力にはならないためです。

Unlike cloud flows and agent flows, the Document Output Content Bytes output isn't directly available as a node output in a topic. To allow a user to download the generated document in a topic, use a cloud flow as an intermediary to save the document and return a download link.

引用元: Document output (preview) | Microsoft Learn

そこで、フローを間に挟みます。
フローの中でプロンプトを実行し、その出力をファイルとして保存し、共有リンクを作ってエージェントに返す、という流れです。
公式ドキュメントが示す手順は次のとおりです。

  1. Add a Run a prompt action and select the prompt created in Create a prompt with document output.
  2. Add the action Create file from OneDrive or SharePoint.
  3. From the prompt action in the File content field, select Document Output Content Bytes.
  4. Add a Create sharing link action for the file to generate a shareable download URL.
  5. Add a Return value(s) to Power Virtual Agents action and return the sharing link URL as an output variable.

引用元: Document output (preview) | Microsoft Learn

この手順をエージェントフローとして組み立てます。

3. エージェントフローを作る

Copilot Studio の左メニューから 「フロー」 を開き、「新しいエージェント フロー」 を作ります。
最終的に、次の5ステップのフローを組みます。

完成したエージェントフローの全体像
トリガー → プロンプト実行 → ファイル作成 → 共有リンク作成 → エージェントに応答、の5ステップ

3.1 トリガーは「エージェントがフローを呼び出したとき」

最初にトリガーを選びます。
ここが最初のつまずきポイントでした。

このフローはエージェントから呼び出され、結果をエージェントに返します。
そのため、トリガーは 「エージェントがフローを呼び出したとき」 を選ぶ必要があります。
トリガーの検索ボックスで「Copilot」と検索すると見つかります。

スキルコネクタのトリガーを選んだ状態
トリガーは「エージェントがフローを呼び出したとき」(スキルコネクタ)を選ぶ

今回はデータをプロンプト側に固定で持たせるため、トリガーの入力は追加しません。

3.2 プロンプトを実行する

トリガーの後に 「プロンプトを実行する」 アクションを追加します。
初回は Microsoft Dataverse の接続を求められるので、サインインして接続を作ります。

プロンプトの一覧から、第9回で作った 「KPIレポート差し込み(Word)」 を選びます。
このプロンプトは Document output 設定済みで、KPI データを差し込んだ Word を出力します。

3.3 ファイルを作成する(OneDrive)

次に 「ファイルの作成」(OneDrive for Business)を追加します。
初回は OneDrive for Business の接続を求められるので、サインインして接続します。

3つの項目を設定します。

  • フォルダーのパス:保存先フォルダー。今回はルート(/)を選択
  • ファイル名kpi-report-flow.docx
  • ファイル コンテンツ:入力欄で / を押して動的コンテンツを開き、プロンプト実行の出力 「Document Output Content Bytes」 を選ぶ

「Document Output Content Bytes」は、Document output で生成された Word の中身です。

ファイルの作成。File content に Document Output Content Bytes を指定
生成した Word の中身(Document Output Content Bytes)を OneDrive に保存する

3.4 共有リンクを作成する(組織内に限定)

続けて 「共有リンクを作成する」(OneDrive for Business)を追加します。
3つの項目を設定します。

  • ファイル/ を押して動的コンテンツを開き、ファイルの作成の出力 「ID」 を選ぶ
  • リンクの種類View(閲覧のみ)
  • リンク スコープOrganization(組織内)

リンクスコープを Organization に設定
リンク スコープを Organization にして、組織内限定の共有リンクにする

3.5 エージェントに応答する

最後に 「エージェントに応答する」 を追加し、共有リンクの URL をエージェントに返します。
「出力を追加する」 から出力の種類で 「テキスト」 を選び、次のように設定します。

  • 出力名DocumentURL
  • / を押して動的コンテンツを開き、共有リンクを作成するの出力 「Web URL」 を選ぶ

エージェントに応答する。DocumentURL に共有リンクの Web URL を返す
共有リンクの Web URL を DocumentURL という出力でエージェントに返す

ここまで組んだら、フローに名前(今回は「KPIレポート配布フロー」)を付けて 「公開」 します。
公開が成功すると、「このエージェント フローが公開されました」と表示されます。

4. フローをエージェントのツールとして登録する

作ったフローを、エージェントから呼べるようにツールとして登録します。
エージェントの 「ツール」 タブを開き、「ツールを追加する」→「フロー」 を選び、一覧から「KPIレポート配布フロー」を選んで 「追加と構成」 をクリックします。

ツールとしてフローを追加する
作成したフローをエージェントのツールとして追加する

追加後、ツールの 説明 を設定します。
説明はエージェントのオーケストレーターがツールを選ぶ判断に使われます。
第9回のプロンプトツールと使い分けさせるため、「ダウンロードできる共有リンクを返す」という用途が伝わる説明にしました。

SaaS企業3社(CloudNova/StreamForge/Datapeak)のKPIをWordテンプレートに差し込んでKPI比較レポート(Word文書)を生成し、OneDriveに保存して組織内向けのダウンロード共有リンク(DocumentURL)を返す。レポートをファイルとしてダウンロードしたい・共有リンクが欲しいときに使う。

説明を入れて 「保存」 します。

5. テストチャットで動作を確認する

エージェントのテストチャットから、ダウンロードリンクが欲しいことが伝わる依頼を送ります。

3社のKPI比較レポートをWordで作成し、ダウンロードできる共有リンクを返してください。

初回は、フローが使う OneDrive for Business の接続を許可するカードがチャットに出ます。
「許可」 をクリックして接続を承認します。

承認すると、エージェントがフローツールを自動で選んで実行します。
私の環境では、フローの完了まで50秒ほどかかりました。
完了すると、エージェントが「KPI比較レポートをダウンロードする」というリンクと、レポートの概要を返してくれました。

テストチャットでダウンロードリンクが返ってきた
自然言語の依頼からフローが実行され、組織内限定のダウンロードリンクが返ってきた

返ってきたリンクは https://<テナント>-my.sharepoint.com/... 形式の OneDrive の共有リンクで、クリックすると Word をダウンロードできます。
エージェントの応答には「このリンクは組織内(自社ドメイン)のメンバーのみアクセス可能です」という注意書きも添えられていました。
手順3.4でリンク スコープを Organization にした結果が、ここに反映されています。

これで、「自然言語で依頼 → ツール選択 → テンプレ差し込みで Word 生成 → OneDrive 保存 → 組織内の共有リンクを返す」という流れが、一気通貫で動くことを確認できました。

6. 課金とコネクタについて

今回のフローは、OneDrive for Business(標準コネクタ)と、プロンプト実行に伴う Microsoft Dataverse の接続を使います。
Microsoft Dataverse は、コネクタの分類ではプレミアムに位置づけられています(公式のプレミアムコネクタ一覧に記載)。

課金については、テストチャットや フロー デザイナーからのテスト実行では、エージェントフローのアクションのキャパシティを消費しません。

Test runs: Testing an agent flow in the flow designer or from the agent's test chat doesn't consume capacity for agent flow actions. Test runs aren't blocked by enforcement.

引用元: Billing rates and management | Microsoft Learn

また、埋め込みテストチャットのメッセージは、課金対象のセッションにカウントされません。

Messages in the embedded test chat don't count toward billed sessions.

引用元: FAQ for Copilot Studio billing and licensing | Microsoft Learn

検証の範囲(テンプレ作成・フロー構築・テスト実行)では、これらの理由から課金を気にせず試せます。
一方、本番運用での課金は、利用するコネクタの分類・ライセンス・実行回数で変わります。本番展開の前提は、Power Platform 管理センター(Licensing > Copilot Studio)で確認してください。

7. まとめ

Document output で生成した Word は、そのままではエージェントのチャットに配布できません。
エージェントフローを配布の境界として挟むことで、OneDrive に保存して組織内限定の共有リンクを返せます。
今回の検証では、自然言語の依頼から、Word の生成・保存・共有リンク返却までが一気通貫で動きました。

配布まで含めると、共有リンクの公開範囲(既定は匿名)や、使うコネクタの分類・課金まで意識する必要があります。
検証はテスト実行で気軽に試せますが、本番運用ではチャネル公開(ユーザーライセンス)とコネクタ・課金の前提を見込んでおきます。
次回(最終回)では、ここまでの工程(収集・集計・グラフ・示唆・資料化・配布)を1つのエージェントに統合します。

参考

この記事をシェアする

関連記事