Data Held in Exchange Online Mailbox Available On-Screen and as CSV File
Message center notification MC260565 published on 7 June brings news about a new Attendance tab for Teams meetings details. Well, Microsoft calls it a “reporting dashboard,” but in reality, it’s just a way to take the attendance report and present it in a nice format (Figure 1). Only a meeting organizer can see attendance data.
The feature works for both regular Teams meetings and webinars run as Teams meetings with the notable difference that information shown for webinars include the registration and attendance data, making it easy for webinar organizers to see how many registered attendees turned up, if any unregistered people attended, and so on.
Building on Existing Data
The attendance report is available after a meeting completes. However, before the existence of the Attendance tab, a meeting organizer had to download the information as a CSV file and use an application like Excel to view the content. Exactly the same data as shown in the attendance tab is available in the CSV file (Figure 2). It just looks nicer when viewed on-screen.
The ability to download attendance data to a CSV file remains useful as meeting organizers can load the information into whatever analysis program they wish to use for data slicing and dicing. For instance, webinar organizers could compare registration data to attendance data to look for clues why some registered attendees didn’t show up for an event.
Multiple Instances of Attendance Reports
People can join and leave meetings multiple times. When the organizer leaves a meeting, it finishes. However, the organizer can restart a meeting and people can rejoin it again. Each time the organizer starts a meeting, Teams generates a new version of the attendance report. All versions are available for viewing through a drop-down menu (Figure 3).
When downloading the CSV data for attendance report from meeting details, Teams uses data for the latest version of the meeting. To access earlier versions, go to the meeting chat and download the information for the desired instance of the meeting from there.
Where Teams Stores Meeting Attendance Data
It’s always interesting to track down where Teams stores the data used for reports (and could be important from a compliance perspective). In this case, using the MFCMAPI utility to snoop around the folders in the non-IPM (hidden) part of the Exchange Online mailbox of the meeting organizer, we find a folder called /ApplicationDataRoot/93c8660e-1330-4e40-8fda-fd27f9eafe10/AttendanceReportV3Collection. The folder holds mail items (messages), all with a MAPI property called ArtifactEntriesJsonBlob. In this property we can see information about attendees for a Teams meeting (Figure 4).
Other attendance data is stored in the NGCParticipantsActivityCollection folder under the same root. However, the data in the items in the AttendanceReportV3Collection folder are formatted in the way the information appears in the attendance report, so I think this (and the folder name) are clues to the source of the data.
You might ask why does Teams store the attendance data for meetings in Exchange Online? Teams, like other Microsoft 365 applications, already stores many different types of information in Exchange Online mailboxes, including compliance records for chats and channel conversations and the text for meeting transcripts. Storing Teams data in mailboxes makes it available for indexing and searching by Microsoft Search (according to MC260749, transcript text will soon be searchable). Storing Teams data like this is a good example of the Microsoft 365 substrate in action.
Fit and Finish Change
Shipping the GUI to display attendance data some months after launching the new format for the attendance report and introducing the capability to run a Teams meeting as a webinar looks like applying some fit and finish. There’s nothing wrong in that. It makes the lives of people who document how applications work more difficult, but the Office 365 for IT Pros team is up to the challenge!