- これまでの会話内容を取得できない
- これまでの会話内容をもって要約を生成し変数に追加できない。

※ 以下の日本語は AI による翻訳です。原文(英語)は下部に記載しています。誤訳がありましたらご指摘ください。
(The Japanese below was translated with AI assistance. The English original follows.)
結論から申し上げると、Copilot Studio には「実行中の会話全体」を保持するシステム変数は現時点でも存在しません。System.Activity.Text は現在のターンのみで、Dataverse に保存される会話トランスクリプトはセッション終了後の書き込みなので、エスカレーション処理中に同一セッションを読み取ろうとしても間に合いません。設定漏れではなくプラットフォーム側の制約なので、履歴はご自身で用意する必要があります。
推奨: オーケストレーターに履歴を書き出させる(生成オーケストレーション有効時)
会話履歴を保存)conversationHistory、文字列)会話履歴を保存 を渡します。オーケストレーターがこのトピックを呼び出し、変数が埋まりますご質問の 2 点目(要約)は、上記 3 の説明文を要約指示に変えるだけで 1 ステップで完結します。例:「これまでの会話を日本語で 3 点以内に要約し、①ユーザーの問い合わせ内容 ②エージェントが提示した回答 ③未解決の論点 を含めてください。」
出力形式を厳密に固定したい場合は、生の履歴を取得したうえでプロンプト (AI Builder プロンプト) ノードに渡し、出力をグローバル変数に格納してからフローに渡す構成のほうが安定します。Power Automate 側の AI Builder アクションで要約する形でも構いません(エージェントは生テキストを渡すだけになり、トピックがシンプルになります)。
なお、この履歴はオーケストレーターがコンテキスト ウィンドウから再構成したもので、逐語の記録ではありません。有人対応への引き継ぎやチケットへの添付には十分ですが、監査・コンプライアンス目的の記録用途には使えません。
実運用で踏みやすい点
会話を転送 (Transfer conversation) ノードを使う場合、要約生成とフロー呼び出しは転送ノードより前に配置してください。転送後はエージェント側のターンが終了しますConversationOutcome を Escalated に設定しておかないと、分析上 Abandoned として計上されますなお、この方法は生成オーケストレーションが有効な場合の前提です。クラシック オーケストレーションをお使いの場合は成立しないため、その点だけ教えていただけますか。
English original
Short answer: there is still no system variable that holds the full in-progress conversation. System.Activity.Text covers the current turn only, and the conversation transcript written to Dataverse is committed after the session ends, so trying to read the same session during escalation won't work. This is a platform limitation rather than something you've misconfigured, so you have to build the history yourself.
Recommended: have the orchestrator dump the history for you (requires generative orchestration)
Save Conversation History)conversationHistory, string)Save Conversation History as the text. The orchestrator invokes the topic and the variable gets populatedYour second question (the summary) collapses into one step: change the description in step 3 into a summarization instruction, e.g. "Summarize the conversation in Japanese in three points or fewer, covering (1) the user's question, (2) the answers the agent gave, and (3) what remains unresolved."
If you need the output format locked down, capture the raw history and pass it to a Prompt (AI Builder prompt) node, store the output in a global variable, then hand it to the flow. Summarizing on the Power Automate side with an AI Builder action works equally well and keeps the topic simpler, since the agent just passes raw text.
One caveat: this history is reconstructed by the orchestrator from its context window, so it is best-effort, not a verbatim record. Fine for handing context to a human agent or attaching to a ticket, not suitable as an audit or compliance record.
Things that bite in production
ConversationOutcome to Escalated on escalation, or analytics will count the session as AbandonedThis assumes generative orchestration is enabled. It doesn't hold on classic orchestration, so could you confirm which mode you're on?
参考 / References
https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/authoring-system-topicshttps://learn.microsoft.com/ja-jp/microsoft-copilot-studio/advanced-hand-offhttps://learn.microsoft.com/ja-jp/microsoft-copilot-studio/analytics-transcripts-studiohttps://microsoft.github.io/mcscatblog/posts/power-of-topics-copilot-studio/