Power Apps canvas app errors explained
By Emil Björk · Microsoft business apps consultant, Gothenburg
The canvas app errors makers hit most — delegation warnings, 'The specified column does not exist', Patch type errors, network error when using Patch, data source not found, permission denied, connection consent, premium licence prompts — with fixes.
Canvas app errors show up in three places: the formula bar (red underlines and delegation warnings while authoring), the running app (banners and dialogs), and the Monitor tool (the network calls behind them). Most user-facing failures are one of a dozen patterns, and this reference covers them with the fix. For what canvas apps are and when to use them, see canvas apps vs model-driven apps; for making a slow app fast, Power Apps performance tuning.
Authoring-time warnings that become runtime bugs
Delegation warning: "The 'Filter' part of this formula might not work correctly on large data sets"
Symptom. A yellow triangle on a formula; the app works in testing; in production users cannot find records they know exist.
Cause. A non-delegable function or operator — Search on a Dataverse column that does not support it, in on some sources, Sum over a filtered SharePoint list, string functions like Left inside Filter, or comparing to a variable of the wrong type. The source returns the first 500 rows (2,000 with the app setting), and the rest of the formula runs on that subset.
Fix. Use delegable functions for the source (Filter, LookUp, StartsWith, =, <, >, And/Or on indexed columns for Dataverse), push logic into a Dataverse view and filter on that, or pre-aggregate with a rollup column. For SharePoint, index the columns and avoid complex expressions.
Prevention. Treat every delegation warning as an error before the app leaves development; test against a copy of production-sized data.
"Invalid argument type. Expecting a Record value instead." / "Expecting a Text value"
Symptom. A red underline on Patch, Set, or a control property.
Cause. Type mismatch. Dataverse lookups need a record from the related table (LookUp(Accounts, 'Account' = …)), choices need the choice value ('Status (Orders)'.Active), dates need a date, and a text box's .Text is text even when it contains a number.
Fix. Convert explicitly: Value(), DateValue(), Text(); pass lookup records and choice values in their own types.
"Name isn't valid. 'X' isn't recognized" after renaming or importing
Cause. A control, variable, collection, or data source was renamed or removed and the formula still references it; or the app was imported into an environment where the data source name differs.
Fix. Use the App checker's formula errors list to find every reference; re-add the data source with the expected name.
Runtime data errors
"The requested operation is invalid. Server Response: X failed: The specified column 'Y' does not exist. The column with the most similar name is 'Z'."
Symptom. A Patch or Collect to Dataverse fails with this text.
Cause. The record literal uses a display name (Status) or wrong case (New_Status) where Dataverse wants the logical name (new_status), or a column that exists on a different table.
Fix. Use the name the error suggests; check the table's Columns view for logical names.
Prevention. Let IntelliSense in the formula bar supply column names; do not type them from memory.
"Network error when using Patch function: The server returned an error" / "Bad Request"
Symptom. The write fails; the message has little detail.
Cause. The data source rejected the write. Dataverse: a business-required column not supplied, a business rule, a real-time workflow or plug-in error, a duplicate detection rule, an alternate key violation, or a missing privilege (Create, Write, Append, AppendTo). SharePoint: a column validation, a lookup value not in the target list, a required column.
Fix. Open Monitor (from the app's Advanced tools), reproduce, and read the server response body — it contains the Dataverse or SharePoint message and code. Decode Dataverse codes with Dataverse Web API errors.
Prevention. Wrap writes in IfError(Patch(...), Notify(FirstError.Message, NotificationType.Error)) so users see the real message.
"An entry is required" / the form will not submit
Cause. A required field in the form's data source has no card, or the card's Update property is blank; on Dataverse, business-required columns; on SharePoint, required columns.
Fix. Add the card or set Update to a value; check the form's Error and ErrorKind properties in OnFailure.
"Data source not found: X" / "The data source 'X' has been removed" / "Getting your data" forever
Symptom. The app opens but data does not load, or shows an error banner.
Cause. After import into another environment the data source (a Dataverse table, a SharePoint list by URL, a SQL connection) is missing or points at a different environment; or the connection behind it needs consent (see below); or the user has no access to the source.
Fix. Remove and re-add the data source in the target environment; for SharePoint and SQL, use environment variables for the site URL and connection so imports rebind automatically. See connection references and environment variables.
Only some records show / a gallery is missing rows
Cause. Delegation (above), or a Dataverse security role scope (user-level read shows only the user's own rows), or a SharePoint list over the 5,000-item view threshold with a non-indexed filter.
Fix. Check the delegation warnings first; then the user's read scope on the table; then SharePoint indexing.
Permissions, sharing, and connections
"You don't have permission to view this data" / "Access to Dataverse denied"
Cause. The app is shared but the user lacks a security role with read on the table, or is not in the environment's security group. On SharePoint, the user lacks permission on the list.
Fix. Assign a security role when sharing the app (the share dialog offers it for Dataverse apps), or through the admin centre; grant list permissions in SharePoint.
Prevention. One custom role per app that grants exactly the tables and privileges the app uses; Dataverse security model explains scopes.
"You need to allow connections" / consent dialog on first open
Cause. The app uses connections the user has not consented to. Each user is asked once per connector.
Fix. Expected behaviour. To remove the prompt for connections that do not need per-user consent, an admin can bypass it with Set-AdminPowerAppApisToBypassConsent in the Power Apps PowerShell module — appropriate for Dataverse and other tenant-managed connectors, not for connectors that act as the user.
"This app requires a Power Apps Premium licence" / "You need a licence to run this app"
Cause. The app uses a premium connector (Dataverse outside a Dynamics 365 context, SQL, HTTP, custom connectors) and the user's licence does not cover it — Microsoft 365 users, or Dynamics 365 Team Member users on an app that touches non-Dynamics tables or premium connectors.
Fix. Assign Power Apps Premium or pay-as-you-go, or redesign the app to use only connectors the user's licence covers. The Power Apps pricing page covers what Dynamics 365 licences include.
Prevention. Decide the licence position for every app before it is shared; Power Apps vs Dynamics 365 CRM covers where the boundary sits.
"The connection is not valid" / flows run from the app fail
Cause. A connection embedded in a flow the app calls belongs to a user who left or whose token expired; or the flow is not shared with the app's users (run-only permissions).
Fix. Rebind the flow's connections to a service account and share the flow with the app users as run-only; see Power Automate flow failures.
App opens for the maker but not for others
Cause. Not shared, or shared without the underlying data source access, or the environment's security group excludes them.
Fix. Share the app, assign the role, check the security group.
Performance and platform
Slow start, "Loading" for many seconds
Cause. OnStart loads whole tables into collections, sequentially; many data sources; large images embedded; formulas that recalculate on every screen.
Fix. Load only what the first screen needs, use Concurrent() for independent loads, defer the rest to screen OnVisible, use named formulas for derived values. Power Apps performance tuning has the full list.
"There's a problem with your app. Please try again later." / app checker errors after a platform update
Cause. A control or formula that a platform update changed behaviour for — the app has not been republished against the new version — or an experimental feature that was retired.
Fix. Open the app in the studio, resolve App checker errors, republish.
Prevention. Republish apps at least once per release wave; keep experimental features out of production apps.
Mobile: "App not available offline" / stale data on mobile
Cause. Offline is not enabled or the offline profile does not include the tables; the app relies on data loaded in OnStart that is not refreshed.
Fix. Configure the offline profile for the tables needed; see canvas app offline mode.
Finding the cause quickly
Three tools answer nearly every canvas app error. The App checker lists formula errors and delegation warnings with the control and property. Monitor shows every network call the app makes with request and response, including the server's real error text behind a "network error". And IfError with FirstError.Message in OnFailure and around Patch puts that text in front of the user instead of a generic banner. Once the message is visible, it is usually one of the Dataverse or SharePoint errors above.
Frequently asked questions
What does the delegation warning actually mean?
- The formula includes a function or operator the data source cannot evaluate server-side, so Power Apps fetches only the first 500 rows (up to 2,000 with the setting) and applies the rest locally. On a small table nothing is wrong; on a large one, results are silently incomplete. Rewrite with delegable functions and columns, or filter server-side through a view.
Why does Patch fail with 'The specified column X does not exist'?
- The record you pass to Patch uses a display name or a wrong-case name where the data source expects the logical name — for Dataverse, the lowercase schema name such as new_status. The error usually suggests the most similar column; use that.
What is 'Network error when using Patch function: The server returned an error'?
- The data source rejected the write. On Dataverse it is usually a business-required column missing, a business rule, a plug-in error, or a security privilege; on SharePoint a validation or a lookup mismatch. The details after the message, or the Monitor tool, show the server's actual response.
Why do users see 'You don't have permission to view this data'?
- Either the app is not shared with them, or they lack a Dataverse security role with read on the table (or a SharePoint permission on the list). Sharing the app does not grant data access; assign the security role when sharing, or through the admin centre.
Further reading
Related guides
- Power Automate flow failures explainedThe Power Automate errors that stop flows — ActionFailed, BadGateway, InvalidTemplate, 429 throttling, 'Could not find a property named', null Apply to each, expired connections, DLP suspension, silent triggers — with fixes.
- Power Apps monitoring and Application InsightsHow to monitor Power Apps in production — App Monitor, Application Insights integration, and the operational patterns for performance and error tracking.
- AL compiler errors in Business CentralThe AL compiler errors every Business Central developer hits — AL0118, AL0132, AL0185, AL0296, AL0432, AL0603, AL0604, ID-range and symbol errors — with cause, fix, and prevention.
- AL runtime errors in Business CentralThe Business Central runtime errors AL developers and admins meet most — record already exists, does not exist, modified by another user, string length, locks and deadlocks, G/L inconsistency — with fixes.
- Business Central API errorsBusiness Central API and OData errors decoded — Authentication_InvalidCredentials, BadRequest_ResourceNotFound, Internal_CompanyNotFound, Request_EntityChanged, Application_DialogException, 429 limits, custom API 404s.
Browse every guide in Power Platform or just Troubleshooting.
Spot something wrong or want a topic covered? Send a correction or a topic request — both are welcome.