The Common Data Service (CDS), now called Dataverse, is a cloud-based data storage and management service in Microsoft Power Platform. Power Automate flows use CDS connectors to retrieve, update, delete, or create records. However, you may encounter a CDS action failed error when executing flows.
This guide provides:
Common causes of CDS action failures
Step-by-step troubleshooting
Best practices to prevent future errors
Step 1: Identify the CDS Action Failure
1.1. Check Flow Run History
- Open Power Automate → My Flows.
- Click on the failing flow → Go to Run History.
- Find the CDS action that failed and review the error message.
🔹 Common CDS error messages:
- “Authentication failed”
- “Permission denied”
- “Entity does not exist”
- “Record not found”
- “API request limit exceeded”
- “Invalid field data type”
Step 2: Fixing Common CDS Action Failures
2.1. Invalid CDS Connection
Problem: The CDS (Dataverse) connection in Power Automate is invalid or expired.
Solution:
- Go to Power Automate → Data → Connections.
- Find Common Data Service (Dataverse).
- If marked as “Invalid”, click Fix Connection or Re-authenticate.
- If the issue persists, remove and re-add the connection.
Tip: Ensure the correct environment is selected in Power Automate.
2.2. Insufficient Permissions on CDS Entities
Problem: The flow user lacks the necessary permissions to access or modify records.
Solution:
- In Power Platform Admin Center, go to Environments → Security Roles.
- Ensure the flow user has at least “Basic User” or “Custom Security Role” with appropriate permissions.
- If modifying records, check that the user has Create, Read, Update, and Delete (CRUD) permissions.
Tip: If the flow runs under a service account, verify that the account has access to the required CDS entities.
2.3. CDS Entity or Record Does Not Exist
Problem: The flow references an entity or record that does not exist.
Solution:
- Check if the entity name is correct and exists in Dataverse.
- If using dynamic content, ensure the record ID is correct.
- If retrieving records, add a “Get Record” action before updating or deleting.
Tip: Use a “Condition” to verify that the record exists before performing an action.
2.4. API Request Limit Exceeded
Problem: Too many requests were sent to Dataverse in a short period.
Solution:
- Add a “Delay” action between API requests.
- Reduce the number of CDS actions per flow run.
- Use “List records” with pagination settings instead of fetching all records at once.
Tip: Microsoft imposes API limits per user/per environment—stay within the quota.
2.5. Invalid Data Type or Format
Problem: The flow is trying to insert/update a field with an incorrect data type or format.
Solution:
- Verify the field type in Dataverse (e.g., text, number, boolean).
- Use the “Format Data” action before inserting values into fields.
- If passing date values, use the format “yyyy-MM-ddTHH:mm:ssZ” (ISO 8601).
Tip: Convert integers to strings before inserting them into text fields.
2.6. Concurrent Record Locking Issue
Problem: Another process is modifying the same record at the same time, causing a record lock.
Solution:
- Add a “Retry Policy” to automatically retry failed actions.
- Use the “Get Record” action before modifying records to ensure they are available.
- Avoid updating the same record in multiple flows running simultaneously.
Tip: If multiple users are updating records, enable optimistic concurrency control in Dataverse.
2.7. Flow Running in the Wrong Environment
Problem: The flow is executing in a different Dataverse environment than expected.
Solution:
- In Power Automate, check the flow environment (top-right corner).
- Ensure the CDS actions are pointing to the correct environment URL.
- If using multiple environments, verify that the flow is connecting to the correct one.
Tip: Use environment variables in Power Automate to dynamically reference environments.
Step 3: Preventing Future CDS Action Failures
✅ 3.1. Use Service Accounts for Flow Execution
- Instead of using personal accounts, run the flow under a dedicated service account with CDS permissions.
- This prevents failures due to password changes or account deactivations.
✅ 3.2. Implement Error Handling in Power Automate
- Use the “Configure Run After” setting to retry actions on failure.
- Wrap CDS actions inside a Scope and apply Try-Catch logic.
✅ 3.3. Optimize API Calls to Avoid Rate Limits
- Use batch processing to reduce individual API calls.
- Implement pagination in “List Records” actions instead of retrieving all records at once.
✅ 3.4. Validate Data Before Sending to CDS
- Use “Condition” actions to check if fields contain valid data.
- Format date and number fields correctly before inserting them into Dataverse.
✅ 3.5. Monitor Flow Performance Regularly
- Use Power Automate analytics to monitor flow failures.
- Set up alerts for excessive API usage or unexpected failures.