Building and customizing solutions using Microsoft 365 Copilot APIs and tools
Hello Hashimoto, Mirai,
You’re on the right track: the Conversation Transcript table in Dataverse only logs interactions for Copilot Studio agents in web or test chat—not for Teams or Microsoft 365 Copilot conversations. To capture knowledge URLs for all channels, you’ll need a custom approach.
The default Transcript table stores basic metadata but does not include Teams/M365 Copilot sessions and usually omits knowledge-source URLs unless specifically configured. To reliably capture these URLs, enable ContentLocation in Copilot Studio’s knowledge settings or build a custom Dataverse logging table (e.g., CopilotKnowledgeLog) that stores the conversation ID, question, answer, and the extracted source URL.
Use Power Automate to write entries to this table by triggering on each Copilot response, parsing the response payload, and mapping ContentLocation to your URL field. For Teams/M365 Copilot, capturing requires the Direct Line API or a custom connector because those channels don’t log into Dataverse automatically.
Enhance the solution by enabling “Include links in responses,” mapping SharePoint/OneDrive URLs, and applying security, retention, and governance best practices.
Reference Document:
https://microsoft.github.io/TechExcel-Designing-your-own-copilot-using-copilot-studio/docs/Ex05/Ex05.html