🎉 Our Microsoft 365 Reporting & Management Tool is now available in Azure Marketplace 🚀
This website uses cookies to improve your experience. We'll assume you're ok with this. Know more.
Microsoft Teams

How to Export Microsoft Teams Meeting Attendance Report

Crucial Teams meetings can quickly become risky when users invite external participants, potentially leading to data leaks and compliance concerns. As an admin, you cannot rely on meeting invites alone. You need to see who joined, missed, arrived late, or left early in Microsoft Teams meetings. This guide shows how to get the Teams meeting attendance report to track participation and ensure full accountability.

Audit Teams Meeting Attendance Details Using Microsoft Purview

Microsoft 365 Permission Required
View-Only Audit Logs role Least Privilege
Global Admin Most Privilege
  • Log in to the Microsoft Purview portal and navigate to Solutions»Audit.
  • Customize the Date and time range as required. Then, enter MeetingParticipantDetail under Activities - operation names to audit attendance for Microsoft Teams meetings.
  • Click Search to view Teams meeting participants along with details like date, user name, joined time, left time, meeting id, is joined from the lobby, and more.
  • Then, select Export to download the Teams meeting attendance list as a CSV file.
Audit Teams Meeting Attendance Details Using Microsoft Purview

Review Teams Meeting Attendance Data Using PowerShell

Microsoft 365 Permission Required
View-Only Audit Logs role Least Privilege
Global Admin Most Privilege
  • Connect to the Exchange Online PowerShell module using the cmdlet below.
  • Windows PowerShell Windows PowerShell
     Connect-ExchangeOnline
  • Run the Search-UnifiedAuditLog cmdlet with the MeetingParticipantDetail record type to audit Teams meeting participant details for a specific date range, as shown below.
  • Windows PowerShell Windows PowerShell
     Search-UnifiedAuditLog -StartDate '<YYYY-MM-DD>' -EndDate '<YYYY-MM-DD>' -Operations "MeetingParticipantDetail" | 
    ForEach-Object { 
    	$data = $_.AuditData | ConvertFrom-Json 
    	$createdBy = $_.UserIds 
    	$join = Get-Date $data.JoinTime -Format "yyyy-MM-dd hh:mm" 
    	$leave = Get-Date $data.LeaveTime -Format "yyyy-MM-dd hh:mm" 
    	$data.Attendees | ForEach-Object { 
    		[pscustomobject]@{ 
    			'Meeting ID'	= $data.MeetingDetailId 
    			'Created By'	= $createdBy 
    			'Attendee'	= if ($_.AttendeesInfo -eq 'User') 
    { (Get-ExoRecipient -Identity $_.userObjectId).DisplayName } else 
    { $_.DisplayName } 
    			'Attendee Type' = $_.RecipientType 
    			'Joined Time'	= $join 
    			'Left Time'	= $leave 
    		} 
    	} 
    } | Format-Table -AutoSize
  • Replace <YYYY-MM-DD> in the StartDate and EndDate parameters to generate the meeting attendance report.
Review Teams Meeting Attendance Data Using PowerShell
The retrieved Teams meeting attendance list includes details such as meeting id, created by, attendee, attendee type, joined time, and left time.

Monitor Teams Meeting Participants Using PowerShell Script

Microsoft 365 Permission Required
View-Only Audit Logs role Least Privilege
Global Admin Most Privilege
  • The above PowerShell command retrieves Teams meeting participant details but lacks the ability to export the data directly as a CSV file for detailed analysis.
  • To simplify this, we've created a PowerShell script that automatically generates and exports attendance reports for Teams meetings over the past 180 days.
  • The report includes key details such as meeting id, created by, attendees, attendee type, joined/left time, and more.
  • Simply download the script below and run it in PowerShell to get a ready-to-use Teams meeting attendance report for your Microsoft 365 organization.
Monitor Teams Meeting Participants Using PowerShell Script
AuditTeamsMeetings.ps1
  • Note: The script above exports the Teams meeting participant details along with the meeting details report, which includes key details such as meeting id, created by, meeting start/end time, meeting type, and meeting link. This helps admins audit meeting usage and analyze user participation trends.

Track Microsoft Teams Meeting Attendance Reports to Improve Participation!

Admindroid’s Microsoft Teams reporting tool simplifies exporting accurate meeting attendance reports with dedicated insights on late joiners, early leavers, and more. Additionally, you can access numerous meeting-related reports such as multiple rejoins, participants’ type or quality and more to efficiently monitor and manage your Microsoft Teams meetings and calls.

Track Teams Channel Meeting Participation to Optimize Team Collaboration

Monitor all Teams channel meetings with detailed insights on participants, session activities, meeting segments, etc., to gain visibility into user engagement within channel-based collaboration.

Audit Daily Teams Meeting Activity to Assess User Involvement

Analyze daily Teams meeting activities of users for issues like password expiry or account lockout to spot inactive accounts over time and mitigate security risks in Active Directory.

Monitor Teams Meetings Organized by External Users for Security

Identify calls and meetings initiated by external users to detect unauthorized access risks and maintain control over external communications in Microsoft Teams.

Unlock 360° View of Teams Meeting Engagement to Enhance Quality

Leverage Teams calls 360° visibility dashboard to analyze meeting patterns, participant engagement, feedback trends, session durations, and more to improve meeting standards.

Find Inactive Microsoft Teams Users Based on Meeting Participation

Identify inactive users in Teams based on their last meeting organized or attended to detect low engagement, optimize license usage, and improve overall productivity.

Utilize Org-wide Teams Meetings Dashboard to Track Engagement Insights

Access the org-wide Teams calls and meetings dashboard to monitor participation trends, meeting performance, and peak activity hours to streamline resource allocation.

In conclusion, AdminDroid’s Microsoft Teams management tool streamlines meeting oversight with detailed attendance insights. It empowers IT admins to audit participation, ensure compliance, and improve meeting governance.

Explore a full range of reporting options

Important Tips

Follow Microsoft Secure Score recommendations for Teams meetings such as limiting presenter roles, restricting anonymous access, etc., to enhance security.

Apply sensitivity labels to meeting invites to enforce encryption, restrict access, and prevent data exposure during Teams meetings.

Secure Teams meetings by configuring meeting policies to control participant permissions and content sharing, in line with security standards.

Common Errors and Resolution Steps

The following are the possible errors and troubleshooting hints while exporting Teams meeting attendance report.

Error Search-UnifiedAuditLog: The term 'Search-UnifiedAuditLog' is not recognized as a name of a cmdlet, function, script file, or executable program.

This error occurs when you don't connect to the Exchange Online PowerShell module with the necessary permissions.

Fix Ensure you are connected to Exchange Online PowerShell before calling the Search-UnifiedAuditLog cmdlet. Additionally, ensure that your account has the required permissions to access these audit logs.

Error Search-UnifiedAuditLog: ||Audit log search argument startDate (5/16/2025 12:00:00 AM) is later than endDate (5/8/2025 12:00:00 AM).

This error occurs when the -StartDate entered is later than the -EndDate while executing the Search-UnifiedAuditLog cmdlet in Exchange Online PowerShell.

Fix Ensure the -StartDate is earlier than or equal to the -EndDate when using the Search-UnifiedAuditLog cmdlet.

Error Set-CsTeamsMeetingPolicy: Invalid value for AllowEngagementReport.

This error is triggered when the Set-CsTeamsMeetingPolicy cmdlet is executed with an invalid value for the -AllowEngagementReport parameter.

Fix The valid values are: Enabled, Disabled, and ForceEnabled. Ensure you use one of these correct values exactly as defined.
//This enables the engagement report, and you can replace the Enabled value with any other desired value.
Set-CsTeamsMeetingPolicy -AllowEngagementReport Enabled

Error The term '$.DisplayName' is not recognized as a name of a cmdlet, function, script file, or executable program.

This error may occur when copying the PowerShell snippet to retrieve the Teams attendance report. It often happens if special characters like $ are misinterpreted as variables due to formatting issues.

Fix Replace $.DisplayName with the correct pipeline variable syntax "$_ .DisplayName". This properly references the current object in the ForEach-Object loop.
Frequently Asked Questions

Audit Teams Meeting Attendance in Microsoft 365 for Better Compliance and Oversight

1. How to manage the Teams meeting attendance reports?

Managing Teams meeting attendance isn’t just about tracking participants, it also involves enforcing organizational policies and handling meeting data. Organizers have specific settings that allow them to hide meeting attendance or apply certain compliance rules for their meetings. In such cases, admins can manage attendance reports through the Teams admin center to control visibility and restrict report access for organizers as needed.

Note: Disabling access to meeting attendance reports for organizers does not affect administrative audit or compliance access.

Enable attendance and engagement report using Teams admin center

  • Log in to the Microsoft Teams admin center and navigate to the Meetings»Meeting policies.
  • Click Add to create a new policy or choose the policy you’d like to update. Then, add the relevant users to the policy to ensure the changes take effect.
  • Under the Meeting scheduling section, you'll find the "Attendance and engagement report" drop-down.
  • You can choose any one of the following options for Attendance and engagement report based on your organization’s requirements and click Save to confirm your settings.
  • On, but organizers can turn it off: It allows organizers to view and download the attendance and engagement reports by default. They can also disable it in their meeting options.
  • Off: Organizers cannot view or download attendance and engagement reports for the meetings they organize.
  • On: Organizers can view and download meeting attendance reports for all meetings they create but cannot disable this feature.
enable-attendance-report-in-teams-admin-center

Note: Organizers with a Teams Premium license can view engagement insights. These include how many attendees unmuted, turned on their cameras, raised hands, used reactions, or participated in Q&A during the meeting.

Manage attendance and engagement report policies using PowerShell

Managing attendance and engagement report settings through the Teams admin center often requires navigating multiple tabs, which can be a time-consuming process. With PowerShell, admins can configure these policies quickly using a single cmdlet.

  • Connect to the Microsoft Teams PowerShell module using the cmdlet below.
    Connect-MicrosoftTeams
  • Run the Set-CsTeamsMeetingPolicy cmdlet with the -AllowEngagementReport parameter to configure attendance report settings for a meeting policy, as shown below.
  • Make sure to replace <PolicyName> with the actual name of the Teams meeting policy, and <Value> with any one of the accepted parameter values before execution. To configure the global Teams meeting policy, replace <PolicyName> with Global.
    Set-CsTeamsMeetingPolicy -Identity <PolicyName> -AllowEngagementReport <Value>
  • The -AllowEngagementReport parameter accepts the following values:
    • ForceEnabled - Attendance and engagement reports are always turned on for meetings assigned to this policy. Organizers cannot turn them off.
    • Enabled - This value enables reports by default but gives organizers the option to disable them per meeting in the Teams meeting settings.
    • Disabled - Attendance and engagement reports are completely disabled with this value. Neither organizers nor attendees will have access to them.

2. How to manage attendee visibility in Teams meeting reports?

Controlling participant inclusion in meeting attendance reports is important for security and compliance. By default, Teams meeting attendees' details are included, which may expose sensitive information if not properly managed. Admins can configure this setting to protect privacy, align with organizational policies, and ensure only relevant data is recorded.

Manage participant inclusion in meeting attendance report via Teams admin center

  • Sign-in to the Microsoft Teams admin center and navigate to Meetings»Meeting policies.
  • Select Add to create a new policy or choose the policy you’d like to update.
  • You can choose any one of the following options based on your organization’s requirements and click Save to confirm your settings.
    • Yes, but attendees can opt out: By default, all attendees are included in the attendance report. However, they can choose to hide their attendance by turning off the "Identify me in attendance reports" toggle in their Teams privacy settings.
    • No, but attendees can opt in: Attendees are excluded from the report by default. They can choose to be included by turning on the "Identify me in attendance reports" toggle in their Teams privacy settings.
    • Always: All attendees are always included in the report, and they cannot opt out.
    • Never: No attendees are included in the report, and they cannot opt in.

Along with attendee inclusion, admins can also control what kind of information is shown in reports that are accessed by organizers or attendees.

Configure attendee information in attendance report via Teams admin center

You can also decide what details of participants should be shown in the report using the "Attendee information" drop-down. This setting has the following drop-down options.

  • Show everything: This is the default setting that includes attendees' join time, leave time, and in-meeting duration. This offers a complete activity record for audits and performance evaluation.
  • Only show who attended: It shows only the attendees’ full name and email address. This option is ideal to confirm attendance without detailed tracking.

Note: To apply this setting for all participants in your organization, you can configure it in the Global (org-wide default) policy. However, these settings do not apply to external participants.

attendee-information-via-teams-admin-center

3. How to find all meeting details of a specific user in Microsoft Teams?

Tracking both the meetings a user has organized and those they've attended is crucial for gaining complete visibility into their meeting activity. This is especially important during internal audits, security investigations, or when verifying participation in sensitive meetings, particularly when you need to see who attended a Teams meeting if you are not the organizer. This helps to strengthen accountability, ensure compliance, and support informed decisions through user engagement insights.

Get meetings organized and attended by a specific user using Teams admin center

  • Log in to the Microsoft Teams admin center and navigate to Users»Manage users.
  • Select the specific user whose meeting details you want to investigate.
  • In the user's profile, go to the Meetings & Calls tab to view the list of meetings the user organized and participated in.
  • You’ll see key details such as the meeting or call id, start time, duration, participants, and more, and you can also click a specific meeting id to export Teams meeting attendee details.
meeting-details-of-user-in-teams-admin-center

Note: The Microsoft Teams admin center only retains detailed participant and meeting data for up to 30 days.

4. How to find meetings attended by a specific user in Teams?

Although the Teams admin center provides meeting details for specific users, it is not possible to filter out the meetings a user has participated in. However, identifying meetings a specific user attends is essential for several scenarios. These include investigating a suspected account compromise, or verifying that C-suite meetings are attended only by authorized participants.

Find meetings attended by a specific user using Microsoft Purview

  • Log in to the Microsoft Purview portal and navigate to Solutions»Audit»Search.
  • In the Users field, select the specific user you want to investigate and also customize the date range.
  • In the Workloads drop-down, choose Microsoft Teams.
  • Enter MeetingParticipantDetail under Activities - operation names.
  • Click Search to view all meetings attended by that specific user with details such as date, IP address, meeting id, etc.
find-meetings-attended-by-specific-user-in-purview

Get specific users’ Teams meeting attended details using PowerShell

  • Connect to the Exchange Online PowerShell module. Then, execute the PowerShell snippet below to get meetings attended by specific users for a specific date range.
$targetAttendee = "<user@domain.com>"
Search-UnifiedAuditLog -StartDate '<YYYY-MM-DD>' -EndDate '<YYYY-MM-DD>' -Operations "MeetingParticipantDetail" |
ForEach-Object {
	$data = $_.AuditData | ConvertFrom-Json
	$createdBy = $_.UserIds
	$join = Get-Date $data.JoinTime -Format "yyyy-MM-dd hh:mm"
	$leave = Get-Date $data.LeaveTime -Format "yyyy-MM-dd hh:mm"
	$data.Attendees | Where-Object { $_.UPN -eq $targetAttendee } | ForEach-Object {
		[pscustomobject]@{
			'Meeting ID'    = $data.MeetingDetailId
			'Created By'    = $createdBy
			'Attendee'      = if ($_.AttendeesInfo -ne 'User') { $_.DisplayName } else { (Get-ExoRecipient -Identity $_.userObjectId).DisplayName }
			'Attendee Type' = $_.RecipientType
			'Joined Time'   = $join
			'Left Time'     = $leave
		}
	}
} | Format-Table -AutoSize
  • Replace <YYYY-MM-DD> in the StartDate and EndDate parameters and <user@domain.com> with the specific user name.
get-meetings-attended-by-specific-users-in-powershell

Retrieve Teams meetings attended by a specific user using Powershell Script

  • Obtaining Teams meeting details attended by a specific user using the above PowerShell command returns data in JSON format, which requires additional parsing and adds complexity to the process.
  • To simplify this, we’ve developed a PowerShell script that lists the meetings attended by a specific user. It includes key details such as meeting id, created by, attendee, attendee UPN, participant join/leave time, duration, and more, all at once to save time and effort.
specific-user-meeting-details-with-powershell-script

Native methods for tracking specific users’ meeting attendance often involve manual effort and provide only limited insights. AdminDroid makes it effortless by offering comprehensive, user-specific attendance reports in just a few clicks.

Get user-specific Teams meeting details in Microsoft 365 with AdminDroid!

  • AdminDroid’s Teams meeting details report offers clear insights into meeting details of a specific user. You can quickly refine and view relevant data with easy filters such as participant’s UPN.
  • Here, you can review key details such as meeting type, event time, join/leave time, etc. The report also supports column customization and sorting, which helps you access the most important insights.
user-specific-meeting-details-using-admindroid

5. How to view a user’s meeting activity summary in Microsoft Teams?

Tracking users’ daily meeting activities in Microsoft Teams helps assess their participation in collaboration, workload management, and contribution to team goals. This helps admins to review a user’s meeting history, and interaction types to monitor engagement and meeting effectiveness.

View users’ meeting activities in Teams admin center

  • Sign-in to the Microsoft Teams admin center and navigate to Analytics & reports»Usage reports.
  • Under the Report drop-down, select Teams user activity and choose a desired timeframe (7,30,90, or 180 days) from the Date range drop-down.
  • Click Run report to generate the user activity data and you'll see a graphical representation of user activity trends over the selected period.
users-meeting-activity-via-teams-admin-center
  • This chart summarizes user activity metrics such as total meetings, total organized/participated meetings, screen share time, and more.
  • You can view exact counts for key metrics by hovering over the chart to identify peak activity periods.
  • The table below displays user-level details such as username, tenant name, meeting counts, messages, and more.

With the Teams Admin Center, admins can view user activity trends but need to interpret multiple metrics and reports to get a full picture of a user's meeting engagement. In contrast, AdminDroid provides a complete view of users' meeting activity in one place, which makes it easier and faster to access.

Monitor users’ overall meeting activities summary report from AdminDroid to stay on top of meeting insights!

  • The overall Teams meeting details offers a list of users along with counts of various Teams meetings they organized and attended, such as ad-hoc meetings, one-time meetings, recurring meetings, etc.
  • Additionally, you can review the Teams meeting duration summary report which provides the total meeting duration based on audio calls, video meetings, and screen sharing. This helps you maintain productivity and optimize meeting schedules.
daily-meeting-activity-of-users-using-admindroid

Handy tip: Utilize the Schedule option available in the report to receive regular insights via email in formats such as CSV, PDF, XLS, and more.

Kickstart Your Journey With
AdminDroid

Your Microsoft 365 Companion with Enormous Reporting Capabilities

Download Now
User Help Manuals Compliance Docs
x
Delivering Reports on Time
Want a desired Microsoft 365 reports every Monday morning? Ensure automated report distribution and timely delivery with AdminDroid's Scheduling to your email anytime you need.
Delivering Reports on Time
Schedule tailored reports to execute automatically at the time you set and deliver straight to the emails you choose. In addition, you can customize report columns and add inteligent filtering to the activities just from the previous day to suit your Microsoft 365 report requirements.
Set It, Schedule It, See Results- Your Reports, Your Way, On Your Time!
Time Saving
Automation
Customization
Intelligent Filtering
Give Just the Right Access to the Right People
Grant fine-tuned access to any Microsoft 365 user with AdminDroid’s Granular Delegation and meet your organization’s security and compliance requirements.
Give Just the Right Access to the Right People
Create custom roles loaded with just the right permissions and give access to admins or normal users within AdminDroid. The result? A streamlined Microsoft 365 management experience that aligns your organization's security protocols and saves your invaluable time and effort.
Align, Define, Simplify: AdminDroid's Granular Delegation
Smart Organizational Control
Effortless M365 Management
Simplified Access
Advanced Alerts at a Glance
Receive quick notifications for malicious Microsoft 365 activities. Engage with the AdminDroid’s real-time alert policies crafted to streamline your security investigations.
Advanced Alerts at a Glance
Stay informed of critical activities like suspicious emails and high-risk logins, bulk file sharing, etc. Through creating and validating ideal alert policies, AdminDroid provides a comprehensive approach to real-time monitoring and management of potential threats within your organization.
AdminDroid Keeps You Always Vigilant, Never Vulnerable!
Proactive Protection
Real-time Monitoring
Security Intelligence
Threat Detection
Merge the Required Data to One Place
Combine multiple required columns into one comprehensive report and prioritize the information that matters most to you with AdminDroid’s Advanced Column Customization.
Merge the Required Data to One Place
This column merging capability offers a flexible way to add different columns from various reports and collate all the essential data in one place. Want to revisit the customized report? Save it as a 'View’, and your unique report is ready whenever you need it.
Merge with Ease and Save as Views!
Custom Reporting
Unique View
Desired Columns
Easy Data Interpretation
Insightful Charts and Exclusive Dashboards
Get a quick and easy overview of your tenant's activity, identify potential problems, and take action to protect your data with AdminDroid’s Charts and Dashboards.
Insightful Charts and Exclusive Dashboards
With AdminDroid charts and dashboards, visualize your Microsoft 365 tenant in ways you've never thought possible. It's not just about viewing; it's about understanding, controlling, and transforming your Microsoft 365 environment.
Explore Your Microsoft 365 Tenant in a Whole New Way!
Executive overviews
Interactive insights
Decision-making
Data Visualization
Efficient Report Exporting for Microsoft 365
Downloading your reports in the right file format shouldn’t be a hassle with AdminDroid’s Report Export. Experience seamless report exporting in various formats that cater to your needs.
Efficient Report Exporting for Microsoft 365
Navigate through diverse options and export Microsoft 365 reports flawlessly in your desired file format. Tailor your reports precisely as you need them and save them directly to your computer.
Take Control, Customize and Deliver- Your Office 365 Data, Exported in Your Way!
Easy Export
Seamless Downloading
Data Control
Manage Microsoft 365

Get AdminDroid Office 365 Reporter Now!