We are currently implementing a Copilot Studio voice bot integrated with the Dynamics 365 Contact Center (voice channel via workstream).
Our goal is to create a Case during the bot conversation and correctly link it to the active Omnichannel conversation (msdyn_conversation / msdyn_ocliveworkitem) so that it appears properly in the agent experience.
However, we are running into the following issue:
Problem:
Within the Copilot Studio bot we are unable to retrieve the correct Conversation ID that exists in Dynamics (msdyn_conversationid).
What we tried:
- system.conversationId → returns a Bot Framework conversation ID (not matching Dataverse)
- system.activity.id / turn.activity.id → not usable
- channelData → does not contain usable Omnichannel context in the voice channel
- global.msdyn_* variables → no conversationId exposed
- Power Automate triggered from the bot → no reliable conversationId in trigger payload
In all cases, the ID we get does not match the Conversation record visible in Dynamics (msdyn_ocliveworkitem / msdyn_conversation).
Context:
- Channel: Voice (through Dynamics 365 Contact Center)
- Bot: Copilot Studio (IVR scenario)
- Workstream configured and bot correctly attached
- Conversation is visible in Dynamics during runtime
Goal:
- Retrieve the active Omnichannel Conversation ID during the bot session
- Use it when creating a Case (msdyn_conversationid lookup)
- Ensure proper linking between Case ↔ Conversation
Question:
Is there any supported way to access the current Omnichannel Conversation ID (msdyn_conversationid / live work item ID) from within a Copilot Studio bot running in the voice channel?
Or is this context not exposed to the bot runtime by design?
Are there any recommended patterns to:
- either retrieve the correct Conversation ID
- or reliably link a Case to the active Conversation during a bot interaction
Any guidance or confirmed limitations would be highly appreciated.
A very desperate thank you in advance,
Sam

Report
All responses (
Answers (