Blog Post

Microsoft Teams Blog
3 MIN READ

Announcing Call Record Insights for Microsoft Teams

JustinWalker's avatar
JustinWalker
Icon for Microsoft rankMicrosoft
Apr 08, 2024

In an era where Microsoft Teams is central to communication and collaboration, the treasure trove of data within call records has remained largely untapped due to the complexity and technical challenges of accessing and analyzing it. Call Record Insights simply and efficiently enables organizations to understand and act on call data.


The Challenge: Navigating the Data Maze

Organizations have long grappled with two major hurdles in leveraging Teams call records:

  • The Need for Custom Solutions: Accessing and managing call record data traditionally required bespoke development, a significant barrier that deterred many from utilizing the Call Records API effectively.
  • Complex Data Structures: The breadth and depth of data made available via the raw call record is immense and deeply layered. Making this data ready for analysis or reporting could be challenging. Call Record Insights flattens the call record into a well-structured format, reducing effort, and providing you with greater customization for accessing and rendering your data.

 

The Solution: Call Record Insights Unveiled

Call Record Insights elegantly addresses these challenges, transforming the way organizations interact with their Teams call data:

  • Automated Retrieval: With automatic fetching of call records upon their availability, the application streamlines the initial step of data collection, utilizing a Graph API subscription to simplify the initial data gathering phase.
  • Simplified Data Transformation: It converts the intricate JSON data structures into a clear, manageable format, ready for in-depth analysis.

Example of how the transformed call records look in Azure Data Explorer

 

  • Secure and Efficient Storage: The application securely stores the transformed data in Azure Cosmos DB and Kusto (Azure Data Explorer), ensuring both safety and accessibility.
  • Code-Free Deployment: Organizations can deploy this solution swiftly, without the need to delve into custom coding.
  • Quick and Powerful Data Analytics using KQL: Leverage Kusto Query Language (KQL) for immediate insights, such as call duration and type by user.

Example Query Showing Average Call Duration By User using Call Record Data

 

  • Enabling Powerful At-A-Glance Views with Kusto Dashboards: Explore the possibilities with custom dashboards tailored for insightful analytics.

Example Dashboard from Kusto Dashboards using Call Record Data

 

  • Simplifying Complex Reporting Challenges: Utilize Azure Data Explorer's capabilities for advanced scenarios like anomaly detection.

Example of Kusto Anomaly Detection using Call Record Data

 

  • Connect directly with PowerBI and Generate custom views, including your own custom DAX measures and columns:

 

  • Built for Scale and Resilience: By leveraging Azure's robust infrastructure components such as Azure Event Hub, Azure Functions, Cosmos DB, and Kusto, the application is both scalable and resilient.
  • Seamless Data Augmentation: Thanks to Kusto’s extensive built-in connectors, enhancing call record data with additional information is straightforward, further enriching the insights you can derive. Examples include adding location and ISP mapping, as seen in the dashboard examples above.

 

The Benefits: Empowering Your Organization

Deploying Call Record Insights brings a host of advantages:

  • Complete Data Ownership and Control: Enjoy full sovereignty over your data, including End User Identifiable Information, with all storage and processing happening within your Azure subscription.
  • Scalable to Your Needs: Tailor the solution to fit any organizational size, from small teams to large enterprises.
  • Customizable Query Performance: Adapt the query performance to suit your specific requirements, optimizing for speed and efficiency.

Call Record Insights is not just a solution; it's a gateway to unlocking the full potential of Teams call records. By simplifying data access and analysis, it empowers organizations to make informed decisions, enhance operational efficiencies, and uncover new opportunities. Start your journey towards data mastery today and leverage the rich insights waiting within your Teams call records.

 

 

High-Level Architecture

Here is a glimpse into the solution's architecture, showcasing how it seamlessly integrates with Azure services to deliver its capabilities.

 

Embarking on Your Data Journey

Call Record Insights stands ready to transform your approach to Teams call data, promising a journey of discovery, efficiency, and strategic insight. Deploy it with ease and take the first step towards harnessing the full potential of your communications data.


Unlock the valuable insights Call Record Insights provides, deploy it today!

 

Deployment Guide: https://github.com/OfficeDev/microsoft-teams-apps-callrecord-insights/wiki/Deployment.

 

For further information, including deployment guidance, code, and documentation, visit our GitHub Repository. Join our community today and start exploring myriad possibilities with Call Record Insights.

Updated Apr 18, 2024
Version 3.0

15 Comments

  • This is a great solution for CDR retention. It seems that native access to CDR records via PAC, graph or Power Bi keeps changing from 365 days to 28 days, then recently back to 365 days. However, the cost associated with running this solution in Azure is substantial to say the least. It might work for large enterprises, but not for small or mid-size customers.

  • StefanFried yes, those are examples of what a customer can build with the data in ADX, and we do plan on sharing the Azure Data Explorer Dashboard examples in the repo soon. 

  • JCastroS The records are ingested into Cosmos as soon as they arrive from the Graph notification service (after the call ends) and are processed by the flattener, which is typically less than 1 second. 

  • StefanFried's avatar
    StefanFried
    Iron Contributor

    Your GitHub Repo does not contain any Dataexplorer Dashboard json files which one could import.  Is this intended?

    If so, the screenshots shown above are then just examples of what a customer can do with the data in adx, right?  
    thanks

  • JCastroS's avatar
    JCastroS
    Copper Contributor

    Great news! How often is the information in Cosmos DB updated? Is this customizable? thank you!