Power Apps offline mode: set up a canvas app that works without a connection
Turn on offline-first for a Dataverse canvas app, build the offline profile that keeps sync fast, and know the hard limits — no SharePoint, no flows, no browsers — before you promise offline to anyone.
Power AppsFix a problem4 min read
Field teams don't have Wi-Fi in basements, warehouses or vans — and a canvas app that spins forever offline burns trust fast. Power Apps' offline-first capability handles the hard parts — local storage, sync, conflict detection — but only inside clear boundaries.
The hard limits (check these first)
Microsoft documents these as unsupported in offline-enabled canvas apps — design around them up front:
- Dataverse only. Non-Dataverse connectors — SharePoint included — don't work offline. If the data lives in SharePoint lists or Excel, move it to Dataverse first.
- Native mobile players only — iOS, Android, Windows. A canvas app in a web browser can't run offline, even on a phone.
- Standalone canvas apps only — not embedded canvas apps, custom pages or Teams apps.
- No Power Automate flows offline, and no virtual or elastic tables.
For small non-Dataverse cases there's the old fallback: SaveData/LoadData collections — but they're memory-bound (roughly 30–70 MB in practice, per Microsoft), don't resolve conflicts, and are a mechanism you wire yourself.
Turn it on
- In Power Apps Studio, open the app and go to Settings > General.
- Turn on Can be used offline. If the option is missing, the app isn't in a solution yet — add it to one.
- Pick an offline profile: Auto-generated to start, or a custom profile (next section).
- Save and publish. A page based on the Offline template is inserted automatically, with a globe icon wired to
Connection.Syncthat shows users the sync state.
Once enabled, the app runs offline-first always: it reads and writes the local copy even when online, and syncs in the background — which is also why performance stops depending on signal strength.
Build a real offline profile
The auto-generated profile downloads every table the app touches, with no filters — Microsoft's own docs call it a starting point to validate with, not a destination. The custom profile is where offline apps live or die:
- In the app's offline settings choose New profile with current app data (or create one in the admin center under Mobile configuration).
- Add only the tables the app needs offline, and for each one set a row filter: the user's rows, team rows, related rows only, or a custom expression up to three levels deep. Avoid business-unit-wide filters unless the table is tiny reference data.
- Select relationships so related rows ride along, and set each table's sync interval — a product catalogue doesn't need to sync every few minutes.
- Publish the profile, then publish the app again. Each table can link to at most 15 others through filters and relationships — transitively counted — or the profile won't publish.
Do
- Set gallery items directly to filtered Dataverse data; bulk-
Patcha collection of edits. - Use views with the related columns you need instead of per-row lookups.
Don't
- Don't load whole tables into collections and filter in memory — it defeats the sync design.
- Don't add users under "Users with offline access" for a canvas profile — that area applies to model-driven apps.
Verify it on a real device
Nothing here replaces a device test: install Power Apps Mobile, open the app once online to pull the first download, then flip to airplane mode and work the core journeys — create, edit, reopen, then reconnect and confirm the changes land in Dataverse. Microsoft's Monitor tool can attach to a mobile session for diagnosing sync behaviour. State what was tested, on what device, in your rollout notes — "offline works" claims belong to whoever actually ran it.
Sources
Did this fix it?
Comments
No comments yet. Share what worked for you.
Sign in to comment. Comments show under a display name you choose, never your email.