Common Data Service (CDS) action failed – Errors when using Common Data Service connectors.

Loading

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

  1. Open Power AutomateMy Flows.
  2. Click on the failing flow → Go to Run History.
  3. 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:

  1. In Power Platform Admin Center, go to Environments → Security Roles.
  2. Ensure the flow user has at least “Basic User” or “Custom Security Role” with appropriate permissions.
  3. 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.

Leave a Reply

Your email address will not be published. Required fields are marked *