Hi all, I have a Power Automate flow that creates a case when a customer wants to escalate a virtual agent conversation and human agents are offline. I intended to use the conversationid system variable to link the conversation to the new case so the agent is able to view the transcript from the case timeline. The problem is that the correct conversation id is only returned when testing the bot from the authoring canvas. When embedding the chat widget in an external website or using the chat test from the contact center in the Customer Service - Admin Center the conversation id variable returns an unrecognised GUID (example: 19:hBBaYC57iyQ5ilflp-4Wf3hF6EX37PqUdTUDcmvBzsg1@thread.v2), the flow obviously fails as this is not the GUID of the conversation record. Can anyone help me to understand why this is happening and if I can return the correct conversation id.
Hi @ahigham
An alternative approach to accomplish this is by storing all user and bot messages within a global variable. For user messages, you can utilize the "message received" trigger event. However, for bot messages, since there's no direct equivalent trigger, you'll have to update the variable within each topic after a bot message is sent.
Afterward, you can transfer this global variable to the flow.
If this was helpful:
⭐Please mark it as a solution
⭐Give me a thumbs-up
⭐Connect on LinkedIn
⭐I consistently upload technical videos. If you're interested, please visit and subscribe to my YouTube Channel
⭐Always glad to help, Umesh Khandelwal!
Thank you very much for spending time on this! I too found the unrecognised id in the transcript table however the table does not contain a link to the conversation and transcripts are created after the conversation closes so they are not the answer to my issue.
I am using the conversation id as a string. If you can think of any kind of solution I would be truly grateful but either way I appreciate your time, I would never have thought to look at the transcript table!
Hi, I am using D365 Omnichannel. During working hours we will handover the conversation using that standard functionality, this works fine as it is the conversation itself that is being passed on but outside of working hours CoPilot Studio is calling a flow that creates a case. The requirement is to use the conversationid variable to link the conversation to the case so the agents can use the timeline and see the transcript however this fails as the correct conversation id is not being returned by the variable. Is this unrecognised conversation id by design?
How do intend to hand-over to a live agent? Are you planning to use Dynamics 365 Omnichannel? A custom integration?
I conducted further research on this matter and observed that the same unrecognized ID is also being stored in the ConversationTranscript Dataverse table. See the example below.
Therefore, this might be by design. My suggestion would be to handle the conversation ID as a string type instead of a GUID in the flow.
If this was helpful:
⭐Please mark it as a solution
⭐Give me a thumbs-up
⭐Connect on LinkedIn
⭐I consistently upload technical videos. If you're interested, please visit and subscribe to my YouTube Channel
⭐Always glad to help, Umesh Khandelwal!
Hi @ahigham
I reproduced the issue you're facing. Here's what I found when I integrated the Chatbot into Power Apps and attempted to display the conversation ID as a response.
This behavior seems to indicate a bug within Copilot Studio.
If this was helpful:
⭐Please mark it as a solution
⭐Give me a thumbs-up
⭐Connect on LinkedIn
⭐I consistently upload technical videos. If you're interested, please visit and subscribe to my YouTube Channel
⭐Always glad to help, Umesh Khandelwal!
Hi, thanks for responding. Yes, I am using the standard conversation.id variable that you have attached. My flow takes two inputs from CoPilot one being that conversation.id but only returns a recognisable GUID when the conversation is triggered from the authoring canvas. I am not sure what to do!
Hi @ahigham
Regardless of the channel used, the ConversationID should remain consistent. Can you verify if you are transferring the following system variable from Copilot Studio to Flow?
If this was helpful:
⭐Please mark it as a solution
⭐Give me a thumbs-up
⭐Connect on LinkedIn
⭐I consistently upload technical videos. If you're interested, please visit and subscribe to my YouTube Channel
⭐Always glad to help, Umesh Khandelwal!
Pablo Roldan
27
Romain The Low-Code...
25
stampcoin
10