Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hi everyone,
I’ve been working for over a week trying to replicate the "Omnichannel Real-time Insights" report available in the Customer Service Hub using Power BI, but I’m facing some roadblocks.
Since the built-in report can't be downloaded or inspected directly, I'm trying to reverse engineer it. I've identified that entities like msdyn_ocsession (Sessions) and msdyn_ocliveworkitem (Conversations) are heavily involved, but I'm still unclear on how specific metrics, such as Session Timeout, Rejected Sessions, Transfer Rate, and Average Call Duration, are calculated.
My goal is to build a near-real-time Power BI report that shows:
Agent Name
Current Status
Hours Available
Total Calls
Session Rejected / Timed Out
Transfer Rate
Average Call Time
I've explored the Dataverse tables and schema, and I'm using OData queries and FetchXML to extract data, but the logic behind metrics like timed-out sessions is still unclear.
Any insights into:
The exact fields used in the native report
How to determine session timeouts using available columns
Or any hidden/system tables that might be involved
...would be greatly appreciated.
Thanks in advance!
Hi @Cipher44,
Thanks for reaching out to the Microsoft fabric community forum.
It looks like you want to replicate the "Omnichannel Real-time Insights" report that's available in the Customer Service Hub using Power BI. Replicating the "Omnichannel Real-time Insights" report isn’t straightforward since Microsoft doesn’t expose the exact logic or make the report downloadable. The core challenge is that the built-in report provided in the Customer Service Hub cannot be downloaded or directly inspected, which makes it difficult for the you to understand how it works internally.
But you are on the right track by exploring msdyn_ocsession and msdyn_ocliveworkitem, as those are core to the experience.
Here’s what I can share based on what I’ve seen:
* Session Timeouts & Rejected Sessions:
There isn’t a single flag or field that directly says “this session timed out,” but you can derive it. Check the msdyn_endreason field in msdyn_ocsession. Specific status codes often represent timeout or rejection scenarios. For example 260650001 might indicate “Timed Out” or 260650002 might represent “Rejected”
Make sure to cross-reference with msdyn_ocliveworkitem as some terminations are logged there too.
* Transfers typically show up when the same live work item is associated with multiple sessions (or multiple agents). You can look for the same msdyn_ocliveworkitemid linked to multiple msdyn_ocsession records, and infer a transfer when there’s a change in agent (msdyn_agentid) across sessions.
* Average Call Time / Session Duration:
Use the createdon and msdyn_endtime fields from the msdyn_ocsession table. A simple DATEDIFF in Power BI (in seconds or minutes) will give you the call duration. Average it by agent to get their average call time.
* Agent Status and Hours Available:
These aren’t in the same tables. For current status, check msdyn_presence and msdyn_agentstatushistory. Presence gives near real-time info, while status history is better for reporting hours in a state like “Available.” You may need to aggregate time durations where the status was set to “Available” (based on timestamp diffs).
* Tables you might be missing like "msdyn_agentstatus" for custom statuses like “Break”, “Busy”, etc or "msdyn_ocagentstatuslog" which logs agent status changes. "systemuser" for agent names and mapping to their sessions and "msdyn_ocliveworkitemparticipant" which useful to track agent hand-offs or multiple participants
I’d recommend capturing a few sessions in test and tracing them end-to-end across these tables, it really helps to see how the data flows.
I would also take a moment to thank @pankajnamekar25, for actively participating in the community forum and for the solutions you’ve been sharing in the community forum. Your contributions make a real difference.
If I misunderstand your needs or you still have problems on it, please feel free to let us know.
Best Regards,
Hammad.
Community Support Team
If this post helps then please mark it as a solution, so that other members find it more quickly.
Thank you.
Hi @Cipher44,
As we haven’t heard back from you, so just following up to our previous message. I'd like to confirm if you've successfully resolved this issue or if you need further help.
If yes, you are welcome to share your workaround and mark it as a solution so that other users can benefit as well. If you find a reply particularly helpful to you, you can also mark it as a solution.
If you still have any questions or need more support, please feel free to let us know. We are more than happy to continue to help you.
Thank you for your patience and look forward to hearing from you.
Hi @Cipher44,
Hope everything’s going smoothly on your end. We haven’t heard back from you, so I wanted to check if the issue got sorted. If yes, marking the solution would be awesome for others who might run into the same thing.
Still stuck? No worries just drop us a message and we can jump back in on the issue.
Thank you
Hi @Cipher44,
I just wanted to follow up on your thread. If the issue is resolved, it would be great if you could mark the solution so other community members facing similar issues can benefit too.
If not, don’t hesitate to reach out, we’re happy to keep working with you on this.
Best Regards,
Hammad.
Hello @Cipher44
Explore this article
Manage real-time analytics reports in Omnichannel for Customer Service | Microsoft Learn
Thanks,
Pankaj Namekar | LinkedIn
If this solution helps, please accept it and give a kudos (Like), it would be greatly appreciated.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
78 | |
76 | |
53 | |
37 | |
31 |
User | Count |
---|---|
101 | |
56 | |
51 | |
45 | |
40 |