> For the complete documentation index, see [llms.txt](https://learn.withessential.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.withessential.com/field-operations/assets/add-photos-to-an-asset-photo-attributes.md).

# Add photos to an asset (photo attributes)

An asset type's attributes are the stored information every asset of that type carries: a serial number, a manufacture date, a sprinkler type. Two attribute types hold photos instead of text: **Photo** stores one picture of the asset (a nameplate, a gauge), and **Photos** stores up to 10 (several angles, the surrounding area). The photos live on the asset, so they follow it into every inspection report question that is linked to the attribute.

> **Where to find it:** Add, replace, or remove photos on the asset group page, in the asset's **Edit Asset** form, or from the technician app's asset form. Setting up the attribute itself is done by Essential.

## Set up a photo attribute

Adding a **Photo** or **Photos** attribute to an asset type — like any change to an asset type's stored information — is report/asset setup, handled by Essential; the **Assets & Reports** settings area where it's configured is limited to Essential staff. [Contact Essential](/getting-started/getting-started/contact-essential-for-setup-changes.md) through the **Talk to a human** tab and say which asset type needs the attribute, whether it holds one photo or up to 10, and whether every asset must carry at least one (**Required**).

Changing an existing attribute to or from a photo type is a destructive change: every stored value (or every stored photo) is cleared, including when you switch between **Photo** and **Photos**. When assets hold values that would be cleared, Essential's setup screen shows how many before the change is saved. Any recurring-service rule that used the attribute is dropped. A report photo question linked to the attribute is unlinked when the attribute changes to a non-photo type; switching between **Photo** and **Photos** changes the linked question to match instead.

## Add, replace, and remove photos

**On the web.** The asset group page shows each photo attribute's thumbnails on the asset card and in the table; click any thumbnail to view it full size. To change photos, open the asset's **Edit Asset** form. There, the **Add** tile next to the thumbnails opens the upload window, where you can drag pictures in or browse for them. For **Photos**, pictures are added in order until the attribute holds 10. Hover over a thumbnail and click its ✕ to remove it. To change a **Photo** attribute's picture, remove it and add the new one. Photos on an existing asset are saved the moment they finish uploading, so there is nothing else to save.

**When adding a new asset.** The **Add Asset** form has the same photo fields. The photos you pick show as thumbnails in the form and are uploaded as soon as you click **Save** and the asset is created.

**In the technician app.** The asset form shows the same attribute with **Take Photo** and **Select Photo** (**Select Photos** for a **Photos** attribute). Photos you add or remove are saved when you tap **Submit**. Offline, they are kept on the device and uploaded when the app is back online, in the order they were made.

Only image files are accepted. The technician app compresses photos before uploading them; on the web, the picture is uploaded as it is.

## Photo attributes on inspection reports

A photo question on a report form can be linked to a photo attribute of the asset type, just as a text question can be linked to a text attribute. When a technician opens the report, the asset's saved photos already fill the question; when the report is published, the question's pictures (up to the attribute's limit) are written back to the asset. Videos stay on the report only. That keeps an asset's nameplate photo current without anyone retyping anything, and it lets the report's PDF print the same picture. See [Link a report photo question to an asset photo attribute](/field-operations/inspection-reports/link-a-report-photo-question-to-an-asset-photo-attribute.md).

## Where photos do not appear

Photos are pictures, not values, so they stay out of the places that compare or print text:

* **Asset Group Labels** never offer a photo attribute.
* The asset groups list cannot filter by a photo attribute.
* CSV export and the printable asset table leave photo columns out.
* Recurring-service conditions (the asset filter) cannot test a photo attribute.
* The Customer Portal does not show asset photos.
* Bulk add from a document never fills a photo attribute.

Photos attached to an asset group's **Files** section are separate: they belong to the group, not to a single asset's attribute.

## Related guides

* [Editing, reordering, and deleting assets](/field-operations/assets/editing-reordering-and-deleting-asset-items.md)
* [Files on an asset group](/field-operations/assets/files-on-an-asset-group.md)
* [Show asset attribute values as labels (Asset Group Labels)](/field-operations/assets/show-asset-attribute-values-as-labels-asset-group-labels.md)
* [The field types you fill in on a report](/field-operations/inspection-reports/the-field-types-you-fill-in-on-a-report.md)
* [Contact Essential for setup changes](/getting-started/getting-started/contact-essential-for-setup-changes.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://learn.withessential.com/field-operations/assets/add-photos-to-an-asset-photo-attributes.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
