Mark All Messages As Read


I noticed that some members of my teams have a lot of bold text on their screen indicating unread messages. We are all busy and sometimes we lose track of things and unread messages build up. Users then have to dive through channels and chats and click to mark them as read. This can make Teams off-putting to some people and discourage them from using the app.

Is there a way to 'Mark All Messages As Read'?

13 Replies
no function like that...
there was more discussion about this in community, you can search them but will get the same result...
it's annoying to me as well, but reasonable for management

@SeanS we also have this problem where some Teams channels receive alert notifications from systems. Sometimes a LOT of alerts are generated and the Activity feed is spammed up with dozens of unread notifications that realistically will never be cleared because the user has to click on each on individually.


A "mark all as read" button would be a great help.

Same issue here. Especially after coming back after being away from the office, the notifications are useless if we cannot clear them out all at once. @microsoft, where are we on this feature??

@SeanS this is badly needed...I have a team member that needs this badly to reset...

@SeanS There is a suggestion in the Microsoft feedback portal- If you haven't already done so I recommend that you go upvote it. The more votes, the more likely Microsoft will put it in their development backlog.  Go to - Add an option to "Mark all as read" · Community (

I agree, this is annoying. It's not an ideal solution, but the best workaround I've found so far is to use the down arrow key to scroll down through each item in my Activity Feed and mark them as read by pressing Enter. That at least cuts down the time spent to several seconds, and the key presses can be automated via a macro or Power Automate Desktop flow. It doesn't seem to matter how long you spend on each unread item, so long as the sequence of key presses is some multiple of down+Enter.

@m_g_danish Here is the PowerShell script to mark your chats as read in a click!

@Santhosh Balakrishnan where did you get Microsoft.Graph.Teams?

@Santhosh Balakrishnan This script requires an admin account to Teams

Look here for MsGraph Teams module:


The link provided does not mark items in the Feed as read.


MsGraph Teams module 1.9.2 did not work as documented in the link above.  1.23.0 worked.

@RickKastenLM This script uses Connect-MgGraph -Scopes "Chat.ReadWrite" ,"User.Read". These scopes does not require admin consent (see screenshots below). Please check with your admin in case it is blocked in your tenant.



Sadly—although with very good reason—my organization doesn't give users the domain/local admin rights necessary to install the MS Graph PS module. I wish I could get this to work! Seems like it would be a much more efficient solution than a keyboard macro.

@Santhosh Balakrishnan 

can you please help with the error, I am providing the actual user UPN in the userUPN parameter as instructed in the script, while executing the script given in the link you shared it says:

Invoke-MgMarkChatReadForUser : Id of the user must be specified
At line:33 char:13
+ Invoke-MgMarkChatReadForUser -ChatId $chat.Id -BodyParame ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: ({ ChatId = 19:a...onJsonSchema1 }:<>f__AnonymousType0`2) [Invoke-MgMarkChatReadForUser_Mark], RestException`1
+ FullyQualifiedErrorId : BadRequest,Microsoft.Graph.PowerShell.Cmdlets.InvokeMgMarkChatReadForUser_Mark
Invoke-MgMarkChatReadForUser : Id of the user must be specified
At line:33 char:13
+ Invoke-MgMarkChatReadForUser -ChatId $chat.Id -BodyParame ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: ({ ChatId = 19:7...onJsonSchema1 }:<>f__AnonymousType0`2) [Invoke-MgMarkChatReadForUser_Mark], RestException`1
+ FullyQualifiedErrorId : BadRequest,Microsoft.Graph.PowerShell.Cmdlets.InvokeMgMarkChatReadForUser_Mark