An inspection app in Power Apps is a canvas app where someone works through a checklist, records what is wrong, and attaches photos at the moment of inspection. Three decisions shape how it turns out: how the data is structured, how photos are captured, and whether it has to work without a connection. Get those right and the screens are the easy part.
What does an inspection app need to do?
Less than people first list, and the same five things every time:
- Identify what is being inspected, such as a container, a vehicle, or a room.
- Walk the inspector through a fixed checklist.
- Record anything that is wrong, with a note and a photo.
- Submit everything as one record, stamped with who and when.
- Produce a report somebody can send or file.
Everything else is polish. If a feature does not serve one of those five, leave it out of the first version.
How should the data be structured?
Three related tables, not one wide one.
| Table | One row per | Holds |
|---|---|---|
| Asset | Thing being inspected | Identifier, type, location |
| Inspection | Visit | Asset, inspector, date, overall result |
| Finding | Problem noted | Checklist item, severity, notes, photo |
The reason is history. With findings in their own table, you can pull up every inspection ever done on one asset and compare them. With everything in one flat list, you search for it. This is the same relational thinking behind the choice in Dataverse vs SharePoint Lists, and it is why inspection apps usually belong in Dataverse.
Keep the checklist itself as data too, not as labels hard-coded into screens. The day somebody wants to add a question, you want that to be a row, not a rebuild.
How do you capture photos in Power Apps?
Use the Camera control for quick snaps and the Add picture control when image quality matters.
The difference is documented. According to Microsoft's camera control reference (last updated July 2024), images from the Camera control have a maximum resolution of 640 x 480 pixels and carry no metadata. For full resolution, Microsoft points to the Add picture control instead.
Two habits matter more than the control you choose:
- Save the photo in the same submission as the finding. A photo that can exist without the asset and the timestamp it belongs to is a photo nobody can rely on later.
- Do not hoard images in a collection. Microsoft's own guidance is to be careful holding several images in a collection at once, because the device has limited memory.
Does an inspection app need to work offline?
Only if inspections happen where the signal is unreliable, but decide before you build, because offline changes the design.
Microsoft's page on offline-capable canvas apps (updated June 2025) sets the ground rules:
- Offline works in the Power Apps Mobile player on iOS, Android, and Windows. A canvas app running in a web browser cannot run offline, even on a phone.
- If the app uses Dataverse, offline support is built in.
- If it does not, you use the LoadData and SaveData functions and write the sync logic yourself.
| Dataverse offline | LoadData and SaveData | |
|---|---|---|
| Runs in a browser offline | No | No |
| Setup | Built-in offline experience | Formulas you write |
| Reconnection | Handled by the platform | Your responsibility |
| Good for | A full inspection data set, photos included | Small amounts of data |
Microsoft also notes that LoadData and SaveData do not resolve merge conflicts for you, and that they work from app memory, so test with realistic data on the real devices. Photos are heavy, which is one more reason to keep them in Dataverse rather than in a local collection.
How do you produce the report?
Let a flow do it. When the inspector closes the report, a Power Automate flow gathers the findings and their photos, builds a document, and emails it. The inspector should not be assembling a PDF by hand.
If the report needs a sign-off before it counts, add an approval step. How to build one that does not stall is covered in How to Automate Approval Workflows with Power Automate.
Common mistakes
Designing screens before the data model. The tables decide what the screens can do. Sketch them first.
Testing only in the browser. Camera behavior and offline behavior differ on a device, and Microsoft notes that LoadData and SaveData can show errors in Power Apps Studio because browsers do not support them. Test on the phone or tablet that will be used.
Free-text checklists. If every answer is typed, nothing can be counted or compared. Use choices wherever the answer is one of a few.
Making the inspector re-enter anything. If the asset is already known, scan it or pick it. Typing an identifier at a container yard in the sun is where errors come from.
Where to start
Pick one asset type and one checklist. Build the three tables, one capture screen, and one submit button, then put it in an inspector's hands for a day. What they trip over will tell you more than any spec.
For a worked example of the pattern, see the container damage reporting app, written up anonymously. If you want one built, the Power Apps development service explains how I work.
Last updated
- Power Apps
- Canvas Apps
- Inspections
