The ability for meeting organizers to download a participant report for a Teams meeting rolled out in May 2020 (Microsoft 365 roadmap item 63351) and should now be available everywhere. The feature is supported in the Windows and Mac desktop clients (but not Linux) and the browser client. The feature is especially popular in education tenants where teachers need to record attendance rosters to note which students attend a class.
Meeting participant (or engagement) reports are disabled by default and need to be enabled by updating the AllowEngagementReport setting in Teams meeting policies. For example, to update the global (default) meeting policy to enable participant reports, run the command:
Set-CSTeamsMeetingPolicy -Identity Global -AllowEngagementReport "Enabled"
Downloading a Report
Once the meeting policy assigned to their account has been updated to enable participant reports, meeting organizers will see a download button in the meeting roster screen (Figure 1).
Figure 1: Downloading a Teams Meeting Participant List
Clicking the button causes Teams to create and download a CSV file called meetingAttendanceList.csv containing participant data to the local workstation. Each record in the file has three fields:
Full name (account display name).
Activity (joined – or joined before a meeting starts, left)
Timestamp.
An example record is shown below.
Tony Redmond Joined 6/9/2020, 4:58:45 PM
Michael James Joined before 6/9/2020, 4:58:45 PM
Jim Clark Joined before 6/9/2020, 4:58:45 PM
Jim Clark Left 6/9/2020, 4:58:57 PM
Jim Clark Joined 6/9/2020, 4:58:57 PM
You can open the file with Excel or process it with PowerShell, which might be used to extract data for inclusion in another repository.
Only Available During Active Meetings
It’s important to understand that the participant report is only available while the meeting is active with the participants still present. Once everyone leaves or the meeting is ended, the participant data disappears. If the meeting hasn’t ended and you rejoin it, the only participant information that’s available is the fact that you rejoined. For this reason, you must remember to download the report before you leave a meeting.
The need to grab a participant report when a meeting is active trip has tripped me up several times. It would be much better of Teams allowed more flexible capture of participant data. That might well come in the future.
Learn more about Teams in the Office 365 for IT Pros eBook. We change as Office 365 evolves, so you’re sure that you have up to date information at your fingertips.
We have no Skype for Business users enabled so are unable to connect through Powershell to use this cmdlet, is there any other way to enable this without having to enable a user for Skype for Business?
You don’t need anyone enabled for Skype for Business Online. You’re just using the connector to access an endpoint. I don’t have any Skype for Business Online users in my tenant…
That means that the DNS records for your domain don’t include the lync endpoint. You need to update DNS… and there’s directions about how to do that available online.
Hello, I enabled this for our environment and verified that “AllowEngagementReport” now shows “Enabled”, however I don’t see a download button when i’m in the meeting for which I am the organizer for. Any thoughts?
Hi! We enabled this some time ago. But we have a lot of assistants that can make Teams meetings in there managers calendar. The assistants also participate in the meeting but are unable to download the list because the manager is the owner. Is there a solution for this?
Teams doesn’t support delegate access. The solution is to have the assistant create the meeting and make the manager a presenter. Then the assistant can take care of any of the post-processing (sharing video, checking participants, etc.) while the manager gets to make the presentation, lead the meeting, etc.
Hi Tony, thank you for your reply. To bad it doesn’t support it (yet). I understand your ‘work arround’ but it’s not what we are looking for. At least I know for sure that it isn’t configurable.
Thanks and have a nice day!
Is there a simple way to format the excel file to tell me how long each pupil was in the lesson for? I have exported the .csv but it isn’t particularly easy to tell how long each pupil was in the meeting for, especially when they leave and rejoin. There is also a problem when they joined but haven’t left yet (because I download the report before the end of class).
I don’t know if you have it in your tenant yet. There have been some delays in rolling things out. It’s easily checked by seeing if a participant report is available during a meeting. If it is, you have the old-style feature. If not, the new is active.
Hello, we have several teachers at one course and only one (who actually create the team) can download the participant list, although all teachers are actually the owners. Why they cannot download the participant list?
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
Just enabled this today. Thanks for the extra tips.
We have no Skype for Business users enabled so are unable to connect through Powershell to use this cmdlet, is there any other way to enable this without having to enable a user for Skype for Business?
You don’t need anyone enabled for Skype for Business Online. You’re just using the connector to access an endpoint. I don’t have any Skype for Business Online users in my tenant…
Thanks for the reply, could you post the powershell commands used to connect to Skype for Business Online please
I could, but they are easily found with a search…
Yeah I have used the standard commands from Microsoft here:
https://docs.microsoft.com/en-us/office365/enterprise/powershell/manage-skype-for-business-online-with-office-365-powershell
But when running the command:
$sfbSession = New-CsOnlineSession -Credential $userCredential
I get the error:
Get-CsOnlinePowerShellEndpoint : The remote name could not be resolved: ‘lyncdiscover.domain.com
What am I doing wrong?
That means that the DNS records for your domain don’t include the lync endpoint. You need to update DNS… and there’s directions about how to do that available online.
Or overide the admindomain URI $sfbSession = New-CsOnlineSession -Credential $userCredential -OverrideAdminDomain
yourclouddomain.onmicrosoft.com
If I keep the meeting running in the background, does the attendance report show that i left the meeting?
Hello, I enabled this for our environment and verified that “AllowEngagementReport” now shows “Enabled”, however I don’t see a download button when i’m in the meeting for which I am the organizer for. Any thoughts?
It can take a little time for a policy update to become active. If it doesn’t activate soon, I’d file a support call with Microsoft.
Hi! We enabled this some time ago. But we have a lot of assistants that can make Teams meetings in there managers calendar. The assistants also participate in the meeting but are unable to download the list because the manager is the owner. Is there a solution for this?
Teams doesn’t support delegate access. The solution is to have the assistant create the meeting and make the manager a presenter. Then the assistant can take care of any of the post-processing (sharing video, checking participants, etc.) while the manager gets to make the presentation, lead the meeting, etc.
Hi Tony, thank you for your reply. To bad it doesn’t support it (yet). I understand your ‘work arround’ but it’s not what we are looking for. At least I know for sure that it isn’t configurable.
Thanks and have a nice day!
The following article has instructions to get attendance in Microsoft teams after a meeting.
https://techieberry.com/ms-teams-attendance-report/
That’s for Teams for Education and won’t work in Teams Commercial. Just saying.
Is there a simple way to format the excel file to tell me how long each pupil was in the lesson for? I have exported the .csv but it isn’t particularly easy to tell how long each pupil was in the meeting for, especially when they leave and rejoin. There is also a problem when they joined but haven’t left yet (because I download the report before the end of class).
Thanks for any help!
Wait for the new format attendance report (MC221432, due mid-February). It has a lot more detail and can be downloaded after the class ends. I think you’ll be happy. https://www.microsoft.com/microsoft-365/roadmap?filters=&searchterms=66459
Hi, as of March 2021. Is this feature still only available during active meetings?
I don’t know if you have it in your tenant yet. There have been some delays in rolling things out. It’s easily checked by seeing if a participant report is available during a meeting. If it is, you have the old-style feature. If not, the new is active.
Hello, we have several teachers at one course and only one (who actually create the team) can download the participant list, although all teachers are actually the owners. Why they cannot download the participant list?
Only the meeting organizer can download the participant list.