Common Power Apps Errors and How to Fix Them
Troubleshooting guide for the most frequent Power Apps errors — delegation warnings, network errors, and formula issues.
Before You Start Debugging
Power Apps errors can be cryptic, but they almost always fall into a few categories: delegation limits, connection issues, formula type mismatches, or permission problems. This guide covers the errors you will encounter most often, with the exact error text so you can search and find answers quickly.
Tip: Always open the Monitor tool (App > Advanced tools > Monitor) when debugging. It shows you the actual HTTP requests, responses, and error details that the app’s generic messages hide.
”Delegation warning: The highlighted part of this formula might not work correctly on large data sets”
The error: A blue underline appears under part of your formula, with the warning banner: “Delegation warning: The highlighted part of this formula might not work correctly on large data sets. The ‘Search’ operation is not supported by this connector.”
What causes it: You are using a function or operator that the data source connector cannot translate into a server-side query. Power Apps will pull down only the first 500 records (or up to 2,000 if you change the setting) and run the operation locally. If your table has more rows than that, results will be incomplete.
How to fix it:
- Check which function is underlined — common culprits are
Search,inoperator,Len,Trim,Left,Right, and nestedFiltercalls. - Replace unsupported functions with delegable alternatives. For example, replace
Search(Products, TextInput1.Text, "Name")withFilter(Products, StartsWith(Name, TextInput1.Text)). - If you must use a non-delegable function, load the data into a collection first with
ClearCollectand then filter the collection locally. - Go to Settings > General > Data row limit and increase it to 2,000 (the maximum). This does not fix the problem but reduces the chance of missing data.
Key point: Delegation is not a bug — it is a design constraint. Understanding which operations delegate to your specific data source is essential knowledge.
”Network error when using the Patch function”
The error: “Network error when using the Patch function” or “Server returned an error. The server did not return a valid response.”
What causes it: This typically means the data call reached the server but failed for a reason Power Apps cannot parse cleanly. Common root causes:
- A required column is missing from the Patch call
- A column value violates a business rule or validation on the server
- The record has been deleted or modified by another user (concurrency conflict)
- A plugin or workflow on the server side threw an error
How to fix it:
- Open Monitor and find the failed request. The response body usually contains a more descriptive error from the server.
- Check that all required columns have values in your Patch call.
- Verify the record still exists — try a
LookUpfor the same record. - If using Dataverse, check for server-side plugins or business rules that might reject the data.
- Wrap your Patch in an
IfErroror useErrors()to capture the specific failure:
Patch(Accounts, First(Filter(Accounts, ID = varAccountID)), {Name: "Updated"});
If(!IsEmpty(Errors(Accounts)), Notify(First(Errors(Accounts)).Message, NotificationType.Error))
“The data returned by the service was invalid”
The error: “The data returned by the service was invalid” or “The data source returned an error.”
What causes it: The connector received data from the backend that does not match the expected schema. This frequently happens with:
- SharePoint columns that have been renamed or deleted after the app was built
- Custom connectors returning unexpected JSON structures
- API responses with null values where the schema expects a specific type
How to fix it:
- Refresh the data source connection: go to Data > … (ellipsis) > Refresh on the affected data source.
- Remove and re-add the data source if refreshing does not help.
- Check the data source for recent schema changes (renamed columns, changed column types, deleted columns).
- For custom connectors, validate that the API response matches the connector’s response schema definition.
”The operation timed out”
The error: “The operation timed out” or “The request timed out.”
What causes it: Power Apps data calls have a timeout (roughly 60 seconds for most operations). If your data source takes longer than that, the operation fails. Common triggers:
- Querying a very large SharePoint list without effective filtering
- Complex Dataverse views with many related records
- On-premises data gateway connection latency
- Custom connector calling a slow external API
How to fix it:
- Add filters to reduce the data returned. Instead of loading an entire table, filter to only what the current screen needs.
- For SharePoint, ensure you are filtering on indexed columns.
- Use
CountRowsbefore loading data to understand the scale. If the count is in the thousands, rethink the query. - For on-premises gateways, check gateway health in the Power Platform Admin Centre. Restart the gateway service if needed.
- For custom connectors, increase the timeout setting in the connector definition or optimise the backend API.
”The specified column does not exist”
The error: “The specified column ‘ColumnInternalName’ does not exist. It may have been deleted by another user.”
What causes it: Your formula references a column that the data source does not recognise. This happens when:
- A SharePoint column has been deleted or renamed (internal name stays, but display name changes)
- You are using the display name instead of the internal name (or vice versa)
- The column exists in one environment but not in another after a solution import
How to fix it:
- Refresh the data source connection in the app.
- Check the actual column name in the data source. For SharePoint, the internal name is often different from the display name (e.g., display name “Employee Name” might have internal name “Employee_x0020_Name”).
- In Power Apps, use the column names shown in the Data panel, not what you see in SharePoint or Dataverse.
- If the column was genuinely deleted, update your formulas to remove references to it.
”Invalid argument type. Expecting one of the following: Text, Number”
The error: “Invalid argument type. Expecting one of the following: Text. Received: Table” or similar type mismatch messages.
What causes it: You are passing the wrong data type to a function. Common mistakes:
- Passing a table to a function that expects a single value (e.g.,
Text(Filter(...))instead ofText(First(Filter(...)).Column)) - Comparing a Choice column value directly to a text string
- Using a Lookup column value without extracting the specific field
How to fix it:
- Check what the function expects. The formula bar will highlight the parameter and its expected type.
- For Choice columns, compare using
.Value:If(ThisItem.Status.Value = "Active", ...). - For Lookup columns, drill into the specific field:
ThisItem.Customer.Nameinstead ofThisItem.Customer. - Use
Text(),Value(), orDateValue()to convert between types explicitly.
”The record could not be found” or “Record missing required field”
The error: “The record could not be found” when trying to update, or “One or more field values are not valid and the record could not be created or updated.”
What causes it:
- Attempting to Patch a record that has been deleted by another user
- Missing a required field in a new record creation
- A Dataverse business rule is blocking the save because a conditionally required field is empty
How to fix it:
- For “record not found”, verify the record exists before patching:
If(!IsBlank(LookUp(Table, ID = varID)), Patch(...), Notify("Record no longer exists")). - For missing required fields, check the data source for all required columns and ensure your form or Patch includes them all.
- In Dataverse, check Business Rules on the table — a rule might be making a field required based on another field’s value.
- Use
Errors(DataSource)immediately after the Patch to get the detailed error.
”This rule creates a circular reference”
The error: “This rule creates a circular reference” in the formula bar.
What causes it: Two or more controls are referencing each other’s properties in a cycle. For example:
- TextInput1.Default references TextInput2.Text
- TextInput2.Default references TextInput1.Text
Power Apps evaluates formulas reactively, and circular dependencies would create infinite loops.
How to fix it:
- Break the cycle by introducing a variable. Use
UpdateContextorSetto store an intermediate value. - Redesign the logic so one control is the “source of truth” and others derive from it, not the other way around.
- Use the OnChange event of the input control to update a variable, then have the other control reference the variable instead of the first control directly.
”You don’t have permission to access this resource” or “Forbidden”
The error: “You don’t have permission to access this resource”, “Forbidden”, or “Access denied.”
What causes it: The current user’s account does not have access to the data source. This can be:
- SharePoint list permissions not granted to the user
- Dataverse security role missing for the table
- The connection in the app is using a different identity than expected
- The app has not been shared, or sharing did not include data source permissions
How to fix it:
- Check the connection type for the data source. Connections can be “shared” (runs as the app maker) or “per-user” (runs as the current user). This dramatically affects who needs permissions.
- For SharePoint, verify the user has at least Read access to the list.
- For Dataverse, check the user’s security role in the Power Platform Admin Centre. They need at least Read privilege on the relevant table.
- When sharing the app, ensure you also share the underlying connections (Power Apps prompts for this, but it is easy to skip).
”Sign-in required” or “The connection is not valid”
The error: “Sign-in required” popup on app load, or “The connection ‘xyz’ is not valid or is no longer available.”
What causes it: The connection token has expired or been revoked. This happens when:
- The user’s password has changed
- Multi-factor authentication sessions have expired
- An admin has revoked the app’s consent
- The connection was created with an account that has since been disabled
How to fix it:
- Have the affected user go to make.powerapps.com > Connections and fix any connections showing a warning icon.
- If you are the maker, re-authenticate the connection in the app studio: Data > … > Fix connection.
- For shared connections (where the maker’s identity is used), the maker needs to re-authenticate. This is a maintenance burden — consider switching to per-user connections for production apps.
- For service accounts, ensure the password has not expired and that any MFA requirements are met.
”An error has occurred on the server” (Generic 500)
The error: “An error has occurred on the server” with no further details.
What causes it: The backend system returned an internal server error (HTTP 500). This is the catch-all for server-side failures. In practice:
- A Dataverse plugin crashed
- A SharePoint workflow triggered by the data change failed
- The backend service is temporarily unavailable
- A custom connector’s API threw an unhandled exception
How to fix it:
- Open Monitor to see the actual HTTP response. The 500 response body often contains a more descriptive error.
- Check the backend system’s health. For Dataverse, look at the Plugin Trace Log in the admin area.
- Try the same operation directly in the data source (e.g., create the record in Dataverse directly) to confirm whether the issue is the data source or the app.
- If the error is intermittent, it may be transient — add retry logic using
IfError.
General Debugging Workflow
When you encounter an error you have not seen before:
- Read the full error — not just the title. Expand the details in the notification or formula bar.
- Open Monitor — the HTTP request/response pair almost always has more information than the UI shows.
- Isolate the data source — try the same operation in a new blank app with just that one data source.
- Check recent changes — did someone modify the data source schema, permissions, or business rules?
- Test with a different user — permission issues often only affect specific users.
- Check the Power Platform service health — outages happen. The admin centre shows current service status.