In today’s data-driven world, every interaction counts, including needing to manage Dynamics 365 Call Recordings. Many organizations leverage Microsoft Dynamics 365 Contact Center to capture and analyze voice interactions for better customer service, compliance, and training. But here’s a question more teams are starting to ask:
“Should we manage Dynamics 365 Call Recordings and keep all of these call recordings forever?”
If your call recordings are stored in Microsoft Dataverse, the short answer is: probably not. Let’s break down why you might want to consider deleting or managing these recordings more strategically.
- Data Retention & Compliance Policies
Modern businesses operate under growing regulatory scrutiny. Laws like GDPR, HIPAA, and various state-level privacy regulations impose strict rules on how long personal data can be retained. Audio recordings, especially those with personal or sensitive data, fall under these laws.
- Storage Costs Add Up—Fast
Dataverse isn’t a free-for-all storage solution. Audio files, especially high-quality multi-channel call recordings, consume significant storage space. And when stored in Dataverse, this can quickly lead to:
- Hitting storage capacity limits
- Unexpected cost increases
- Slower system performance during data operations
- Reduce Security and Privacy Risks
The more data you hold, the more risk you carry.
- Old recordings may contain outdated or irrelevant sensitive information.
- If a breach occurs, having years of unfiltered, unnecessary data increases the potential damage.
Pruning your recordings regularly lowers your data exposure and helps enforce data minimization principles.
- System Hygiene and Manageability
Keeping your Dynamics environment clean isn’t just about data storage—it’s about system efficiency and user experience. Over time, excess recordings can lead to:
- Slower queries
- Cluttered record histories
- Increased backup and restore times
Deleting outdated recordings keeps your system streamlined and easier to manage.
Manage Dynamics 365 Call Recordings
Using Power Automate is a simple way to interact with the recording table within Dataverse.

- Create the Power Automate flow
- This can be triggered from a date, manually or another action. For this example, it is set up to be manually run.
- Initialize Variables
- varToday – utcNow()
- VarSixMonths – addToTime(utcNow(),-6,’Month’)

- List rows in a Dataverse Table
- Table name – Reocrdings [msdyn_ocrecordings]
- Select columns – msdyn_name, overriddencreatedon, createdby, msdyn_recordingmetadata, createdon

- For each row review the created on date (we could update the query of the rows to include this, however for this example, I wanted to review all the rows and data that was being returned
- Condition – varSixMonths is greater than createdon

- If true – Delete a row
- Recordings [msdyn_ocrecordings]
- Row ID – msdyn_name
Reviewing the Call Recordings
With this simple flow, you are able to remove recordings that are over 6 months old.
Reviewing the Dataverse table, I am see that there were a few items that were created 6 months before (May 6, 2025)

When the flow is completed, we can see those items have been removed.

Links









Leave a Reply