Fix Teams Retention Policy Does Not Delete Messages after a Compliance Policy Change
🔍 WiseChecker

Fix Teams Retention Policy Does Not Delete Messages after a Compliance Policy Change

Your organization set a Teams retention policy to delete chat messages after a set number of days, but messages remain in chats and channel conversations long after the deadline. This usually happens after an administrator changes a compliance or retention policy, and the new settings do not apply as expected. The root cause is often a delay in policy processing, a conflicting policy priority, or messages that are exempt because they are part of a legal hold. This article explains why retention policies fail after a compliance change and provides step-by-step fixes to force deletion.

Key Takeaways: Restore Teams Retention Deletion After Policy Changes

  • Teams admin center > Retention policies > Policy priority: Confirm the retention policy is not overridden by a higher-priority policy that keeps messages longer.
  • Microsoft Purview > Data lifecycle management > Retention policies: Check the processing status and wait up to 24 hours for the policy to apply to existing messages.
  • Compliance search > Legal hold status: Remove or expire legal holds that exempt messages from deletion, then trigger a manual policy evaluation.

ADVERTISEMENT

Why Teams Retention Policy Does Not Delete Messages After a Compliance Change

Teams retention policies rely on the Microsoft 365 compliance backend to evaluate messages and apply deletion actions. When you modify a compliance policy, the change does not take effect instantly. The system must reprocess every message in the scope, which can take hours or days depending on the volume. If you changed the policy to a shorter retention period, the new period only applies to messages created after the change unless you manually trigger a policy evaluation.

Another common cause is policy priority. Teams allows multiple retention policies, and the system applies the one with the highest priority. If a compliance policy change created a new policy that retains messages longer, that policy overrides your deletion policy. Also, messages under a legal hold are permanently exempt from deletion. When an administrator places a user or site on hold for litigation, the retention policy cannot delete those messages, even if the retention period has passed.

How Teams Retention Processing Works

Teams retention policies apply to chat messages in private and group chats, and to channel messages in teams. The policy checks each message against the retention period. When the period expires, the system deletes the message from the user’s view and from the backend. However, the deletion is not immediate. The compliance service runs a scheduled job that processes messages in batches. After a policy change, this job must restart and evaluate all messages again.

Common Reasons for Deletion Failure

  • Policy processing delay: The system may take up to 24 hours to apply changes to existing messages.
  • Conflicting policies: A newer or higher-priority policy retains messages longer, blocking deletion.
  • Legal holds: Any hold on a user, site, or mailbox prevents deletion.
  • Content type mismatch: The policy applies to chats but not channels, or vice versa.

Steps to Diagnose and Fix Teams Retention Policy After a Compliance Change

Follow these steps in order. Each step addresses a specific cause. Do not skip any step.

  1. Verify the retention policy scope and settings in the Teams admin center
    Go to Teams admin center > Retention policies. Select your policy and check the Retention period and Action fields. Confirm the policy targets the correct content type: chats, channels, or both. If the action is set to Keep instead of Delete, change it to Delete and save.
  2. Check policy priority in Microsoft Purview
    Open Microsoft Purview > Data lifecycle management > Retention policies. Look at the Priority column for all policies. The policy with the lowest number has the highest priority. If another policy has a higher priority and a longer retention period, it overrides your deletion policy. Change the priority of your deletion policy to a lower number, or adjust the conflicting policy.
  3. Remove legal holds that block deletion
    In Microsoft Purview, go to eDiscovery > Holds. List all holds and check if any include the users or sites affected by the retention policy. If a hold is no longer needed, delete it. If the hold must stay, add a date range to the hold so it only applies to specific messages. After removing the hold, wait for the change to propagate.
  4. Trigger a manual policy evaluation
    In Microsoft Purview > Data lifecycle management > Retention policies, select your policy and click Evaluate or Run now. This forces the system to reprocess all messages in scope. If the option is not available, edit the policy and change the retention period by one day, then save. This action restarts the processing job.
  5. Wait for the processing job to complete
    After triggering an evaluation, wait at least 24 hours. The compliance service reports the status in the policy details. Check the Last evaluated date. If the status shows In progress, wait longer. For large environments, processing can take up to 7 days.
  6. Verify deletion in a test chat
    Create a test chat with a single user and send a message. Use the Evaluate action again and check if the message is deleted after the retention period. If the message remains, repeat steps 2 and 3 to rule out policy conflicts and holds.

ADVERTISEMENT

If Teams Still Has Retention Issues After the Main Fix

Teams Retention Policy Applies Only to New Messages

When you change a retention period, the new period applies only to messages created after the change. Existing messages keep the old period. To apply the new period to existing messages, you must trigger a manual evaluation as described in step 4. If you do not see the Evaluate button, use PowerShell with the Set-RetentionCompliancePolicy cmdlet to update the policy and force processing.

Messages Are Deleted from the User View but Remain in eDiscovery

This is normal. Teams retention policies delete messages from the chat view, but copies may remain in eDiscovery for legal purposes. If you need to purge all copies, you must use a content search and permanently delete the items. Go to Microsoft Purview > Content search, create a search for the messages, and use the Purge action. This is a separate process from the retention policy.

Policy Shows Error or Failed Status

If the retention policy shows Error in Microsoft Purview, the policy may be misconfigured. Check the location list. A policy that includes a user who is no longer licensed for Teams can fail. Remove the inactive user from the policy scope. Also, verify that the policy includes at least one Teams location. A policy with no locations will not process any messages.

Deletion Is Delayed Beyond the Retention Period

The compliance service processes messages in batches. Delays are common after a large policy change. If the delay exceeds 7 days, open a support ticket with Microsoft and provide the policy name and the date of the change. Microsoft can check the backend job status and force a reprocessing.

Teams Retention Policy Fix Options: Manual Evaluation vs Policy Rebuild

Item Manual Evaluation Policy Rebuild
Best for Minor policy changes that need quick reprocessing Major changes where the policy is broken or conflicting
Steps Use Evaluate in Purview or edit the period by one day Delete the policy and create a new one with the same settings
Time to apply Up to 24 hours Up to 48 hours
Risk None May lose custom settings if not recreated correctly

Manual evaluation is the fastest fix for a policy that is not applying after a compliance change. Policy rebuild is the last resort when the policy shows an error or when priority conflicts cannot be resolved. Always export the policy settings before deleting it.

After you fix the policy, monitor the Last evaluated date in Microsoft Purview to confirm the system processes messages. Use the Teams admin center > Activity log to check for deletion actions. If you manage multiple policies, set the deletion policy to the lowest priority number to prevent overrides.

ADVERTISEMENT