PurviewTroubleshooting

Purview DLP in Teams: blocked chat and channel messages, external users and policy tips

What Teams users see when Purview DLP blocks or flags a message, how the Teams location really works with guests, external chats and shared channels, and why tips don't fire.

A user pastes a customer list into a Teams chat and gets "This message was blocked." Another user expected the same protection in a channel and got nothing. Both are Microsoft Purview data loss prevention (DLP) working exactly as configured. In this post I'll decode what senders and recipients see, explain how the Teams location behaves with guests, external chats and shared channels, and work through the reasons a Teams policy doesn't fire.

Errors this guide fixes

  • This message was blocked.Teams client (sender)
  • This message was flagged.Teams client (sender)
  • This message was blocked by organizational policy.Teams client (recipient)
  • Your message has been blockedTeams Activity feed (sender)
  • Preview unavailableTeams Activity feed (recipient)
How this guide is organized: Symptoms → Why it happens → How to fix it → Verify the fix → Key takeawaysFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (5 steps: Find the policy and rule that matched; Handle a false positive; Allow override where the business accepts it; Work through "the policy doesn't fire"; Check the policy from PowerShell). 4. Verify the fix. 5. Key takeaways. Toolbox: DistributionStatus.1Symptoms2Why it happens3How to fix it4Verify the fix5Key takeaways1Find the policy andrule that matched2Handle a falsepositive3Allow overridewhere the busines…4Work through "thepolicy doesn't fire"5Check the policyfrom PowerShellTOOLBOXDistributionStatusHow this guide is organized: Symptoms → Why it happens → How to fix it → Verify the fix → Key takeawaysFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (5 steps: Find the policy and rule that matched; Handle a false positive; Allow override where the business accepts it; Work through "the policy doesn't fire"; Check the policy from PowerShell). 4. Verify the fix. 5. Key takeaways. Toolbox: DistributionStatus.1Symptoms2Why it happens3How to fix it1Find the policy and rule that matched2Handle a false positive3Allow override where the business accepts it4Work through "the policy doesn't fire"5Check the policy from PowerShell4Verify the fix5Key takeawaysTOOLBOXDistributionStatus
At a glance: how this guide is organized · 5 fix steps · 1 key tools

Symptoms#

The sender sees one of these notices on their own message, with a What can I do? link:

Text
This message was blocked.
This message was flagged.
  • Blocked, override not allowed: What can I do? only lets the sender report the message to an admin. It stays blocked.
  • Blocked, override allowed: the options can include Override and send, Report to my admin, and Override and send and report to my admin, sometimes with a justification.
  • Flagged: the message was delivered but is marked as containing sensitive data.

Recipients see This message was blocked by organizational policy. with a What's this? link. In the Activity feed, a matching message shows Preview unavailable instead of its preview, and the sender gets an activity entry saying Your message has been blocked. Teams DLP doesn't send notification emails to users; the flags on the message are the notification. Separately, a file shared in a chat or channel may not open for guests.

Note: "This message was blocked (Inappropriate content)" comes from communication compliance, not DLP. Those messages offer the sender no actions, and only admins can release them.

Why it happens#

Why a Teams DLP policy didn't protect a message or fileWhat did the policy fail to protect? if A shared file: Add SharePoint and OneDrive locations (Teams stores shared files there; the Teams location skips them.); if Channel messages: Scope the policy to groups, not users (Policies scoped to individual users protect chats but not channel messages.); if Chat messages: Who else was in the chat? if Internal only: Expected with an external-sharing rule (A rule that needs sharing outside the organization never matches it.); if A partner tenant: The tenant that started the chat decides (If the partner started it, your policies don't apply there.); if Guests: Check policy mode, sync and licensing (Simulation doesn't block; allow about an hour to sync; check licenses.)What did the policy fail toprotect?FIXAdd SharePointand OneDrivelocationsTeams stores sharedfiles there; theTeams location skipsthem.A shared fileFIXScope the policyto groups, notusersPolicies scoped toindividual usersprotect chats but notchannel messages.Channel messagesWho else was in the chat?OKExpected with anexternal-sharingruleA rule that needssharing outside theorganization nevermatches it.Internal onlyNOTEThe tenant thatstarted the chatdecidesIf the partner startedit, your policies don'tapply there.A partner tenantFIXCheck policymode, sync andlicensingSimulation doesn'tblock; allow about anhour to sync; checklicenses.GuestsChat messagesWhy a Teams DLP policy didn't protect a message or fileWhat did the policy fail to protect? if A shared file: Add SharePoint and OneDrive locations (Teams stores shared files there; the Teams location skips them.); if Channel messages: Scope the policy to groups, not users (Policies scoped to individual users protect chats but not channel messages.); if Chat messages: Who else was in the chat? if Internal only: Expected with an external-sharing rule (A rule that needs sharing outside the organization never matches it.); if A partner tenant: The tenant that started the chat decides (If the partner started it, your policies don't apply there.); if Guests: Check policy mode, sync and licensing (Simulation doesn't block; allow about an hour to sync; check licenses.)What did the policy fail to protect?A shared fileFIXAdd SharePoint and OneDrive locationsTeams stores shared files there; the Teams locationskips them.Channel messagesFIXScope the policy to groups, not usersPolicies scoped to individual users protect chats butnot channel messages.Chat messagesWho else was in the chat?Internal onlyOKExpected with an external-sharing ruleA rule that needs sharing outside theorganization never matches it.A partner tenantNOTEThe tenant that started the chat decidesIf the partner started it, your policies don't applythere.GuestsFIXCheck policy mode, sync and licensingSimulation doesn't block; allow about an hour tosync; check licenses.
Figure 1 · Decision tree Why a Teams DLP policy didn't protect a message or file. Start from what slipped through and follow the answers to the setting or behavior that explains it.

The Teams chat and channel messages location evaluates messages within seconds of sending. A few rules decide what's covered:

  • Files aren't evaluated by the Teams location. Teams stores shared files in SharePoint and OneDrive, so a file only stops opening for guests if the policy also includes the SharePoint and OneDrive locations. That behavior is covered in DLP blocking SharePoint and OneDrive files.
  • External access chats follow the hosting tenant. In a chat with people from another Microsoft 365 organization, DLP is enforced by the tenant that started the chat or thread. If the partner started it, your policies don't apply to your users' messages there.
  • Shared channels follow the sender. Each participant's messages are evaluated against their own home tenant's policies, whichever tenant owns the channel.
  • Scope by individual users excludes channels. Microsoft's scope table shows that a policy scoped to individual user accounts protects 1:1 and group chats but not standard, private or shared channel messages. Scope to security groups, distribution groups or Microsoft 365 groups and both are covered.
  • Licensing. Microsoft lists DLP for Teams chat and channel messages (private channels included) with E5-level licensing: Office 365 or Microsoft 365 E5/A5/G5, or the Information Protection and Governance, Compliance and F5 Security & Compliance offerings. E3 covers Exchange, SharePoint and OneDrive, which includes files shared through Teams.

Most external-sharing policies use Content contains sensitive info types plus Content is shared from Microsoft 365 with people outside the organization, and the action Restrict access or encrypt the content in Microsoft 365 locations › Block only people outside your organization. With that design, a message in an internal-only chat never matches, which is often the "it didn't fire" answer.

How to fix it#

1. Find the policy and rule that matched#

Open Activity explorer in the Microsoft Purview portal, apply the DLP policies that detected activities filter set and filter by the sender. The event shows the policy, rule and detected info types. Allow 60 to 90 minutes for Teams events to arrive.

2. Handle a false positive#

The sender should use What can I do? and report it to the admin. In Activity explorer, a Teams false-positive report appears as DLP info with synthetic values instead of rule details, and no incident report is generated, so ask users to tell you as well. Then tune the rule; see tuning Purview DLP false positives.

3. Allow override where the business accepts it#

Edit the rule and allow overrides in its user notification settings. Once the sender overrides, recipients receive the original message. Keep external-facing rules without override if you must never send that data outside.

4. Work through "the policy doesn't fire"#

CheckFix
Channel messages unprotected, chats fineRe-scope from individual users to a group or all users
Policy changed in the last hourAllow about an hour to sync to user accounts
Policy in simulation modeNothing is blocked; tips appear only if Show policy tips while in simulation mode is selected
No tip at allIn the rule, turn on user notifications and select Notify users in Office 365 service with a policy tip
External chat not blockedCheck who started the chat; the partner's tenant may be hosting it
File opens for guestsAdd SharePoint and OneDrive locations to the policy
Some users never protectedConfirm they're licensed for Teams DLP

5. Check the policy from PowerShell#

PowerShell
Connect-IPPSSession
Get-DlpCompliancePolicy -Identity "DLP - Teams external" -DistributionDetail |
  Format-List Name,Mode,Teams*,DistributionStatus,DistributionResults

Good looks like the Teams location listing the users or groups you intended, Mode set to Enable, and DistributionStatus showing Success. If distribution is stuck, see policy distribution errors.

Verify the fix#

  • From a pilot account, start a chat with a test guest and send dummy data that matches the info type: you see "This message was blocked." and the guest sees the organizational policy notice.
  • Repeat in a channel of a team the policy is scoped to, then in an internal-only chat to confirm the rule only targets external sharing, if that's the intent.
  • Share a matching test file with the guest: it won't open for them.
  • Activity explorer shows the Teams events, and alerts arrive if the rule sends incident reports. Those come from no-reply@teams.mail.microsoft.com, so make sure your mail filtering doesn't junk them.

Key takeaways#

  • Pair the Teams location with SharePoint and OneDrive, or files slip through.
  • Scope with groups, not individual users, if channels matter.
  • Your policies protect chats your tenant hosts; in partner-hosted chats and shared channels, each sender's own tenant decides. See external access vs guest access in Teams.
  • Communication compliance and information barriers block messages too; check which feature acted before tuning DLP. Every DLP message across locations is listed in the DLP messages quick reference.

References#

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

M365 Subject Matter Expert, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)