How to Export Teams Chat History

Microsoft Teams data has many different locations. And while some locations make it easy to access and export data, others do not. Take Teams Chat History for example. This data lives in a folder of a Group mailbox. This, however, is not a typical mailbox and as such cannot be accessed in a typical way.

How to access and view contents of a GroupMailbox

First run this powershell command to get a list of all GroupMailboxes

Get-mailbox -GroupMailbox | select Displayname, WindowsEmailAddress

Using the WindowsEmailAddress run the following to view the details of the Mailbox folders for the desired Team. You will be able to view the item size of the TeamChat folder from the output.

Get-mailbox -groupmailbox | Get-MailboxFolderStatistics | select Foldertype,ItemsInFolder

How to export TeamChat data to a .pst file

Once you have verified the GroupMailbox and the TeamChat contents with PowerShell you will then need to head over the the Security and Compliance center in your Tenancy. Here we will configure and run a Search to get the contents of the MS Team you wish to export to PST

  • In the Security and Compliance Center choose Search and Content Search
  • Select Guided Search
  • Provide a Name, choose the Teams group as the location and add condition of Type: Equals any of E-mail messages and Instant Messages
  • Save and run the query
  • Select More from the menu items and choose Export Results
  • Choose All items and one PST for each mailbox. You can view the Estimated export info here as well
  • Once the PST has been exported you can then open it in a compatible mail client to view and save the Teams content such as Chat History

14 responses to “How to Export Teams Chat History

  1. Getting following error:

    Get-mailbox : The term ‘Get-mailbox’ is not recognized as the name of a cmdlet, function, script file, or operable
    program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
    At line:1 char:1
    + Get-mailbox -GroupMailbox | select Displayname, WindowsEmailAddress
    + ~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Get-mailbox:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

  2. Found an easy way to copy/paste all the posts in a single channel. Go to any post and save the post by pointing to any post, then within the popup with the emoticons, click … then click Saved. Click on your profile icon (two initials or pic) and then click Saved. You will see the entire set of posts for the channel. From here you can start at the top and then hold the left mouse and drag (can’t do Cntl-A) to select all posts. Copy/Paste. Unfortunately, it includes the a url for EVERY POST so you may need to clean that up.

    1. I can copy the text, but I’m not able to paste the copied paste into say Notepad. The paste is just greyed like there is no text in the clipboard.

  3. And this why Teams will eventually go the Lotus way: it’s being bought by people who don’t use day to day, and would never choose it if it were their choice. You need to run scripts just to export a chat history.

  4. The problem with that approach is that there will be no subjects since Teams keeps it a separate property.
    It’s presented as Topic in Graph API Explorer

Leave a Reply

Your email address will not be published. Required fields are marked *