I want to get ID of a conversation from a flow in architect. I Tired the variable "Call.ConversationId" and It returns the correct Conversation ID when I call an IVR directly.
But in my case there are multiple participants in the call (2 users and an IVR) and the IVR is added as a participant to the call later on. In this case the Conversation ID returned by the variable "Call.ConversationId" is not the actual Conversation ID of the Call. Why is the Conversation ID returned different in this case? and How can I Return the correct Conversation ID in this case?
How was the call initiated? How was the flow added as a participant? Were there any other actions taken to the call (i.e. transfers) before the flow began?
No actions like transfer are taken on the call. In my application we have an incoming call which gets connected to an agent. After that using the PureCloud Conversation API I add an IVR flow as participant to this call. In the new IVR flow when I use the Call.ConversationID variable to check on the ID of the Conversation it does not match with the Conversation ID of the initial interaction which came to the agent. Why is this so?
Hello Athul. This was discussed with the lead engineer for the conversation APIs, and what is happening is that the call to the IVR is created with a new conversation, and when that gets added to the existing conversation between the external caller and agent, the new conversationId does not get changed to the existing one. This is intentional. He did mention that there may be changes to how conversationIds work for conferences, but that there is nothing specific on the roadmap right now. Consequently, I have closed VX-1395.
However, please feel free to present your use-case to Product Marketing by going to: https://purecloud.ideas.aha.io/
(let us know if that link doesn't work for you).
Hi Tom. Thanks for explaining the working of this. So this means there is now way I can return the actual conversation Id of the call from an IVR in this case. If that doesn't work another way in which I can solve my problem is by returning the Id of the participants in the conference call from the IVR. Is there any way to do that?
I was able to solve my problem. In the case of conference the caller's origination phone number is a string which contains the conversation ID in it. So I returned it using Call.Ani variable and extracted the conversation ID from it. Thanks for all the help