> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.cxplanner.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Auto-fill checklist line items with asset data

The attribute placeholder feature in the **Assets module** pulls live values from an asset's overview columns - default columns like **Manufacturer** and **Model**, or custom columns you've added at the project level - directly into checklist line item text, by referencing `{{ ColumnName }}`. Use it so verification questions like "Is the manufacturer Mitsubishi?" fill in automatically instead of being retyped on every line item. 

|| Only users with the project role **Manager** or higher can configure attribute placeholders.

## Insert an attribute placeholder into a line item

1. Open the **Template Center** in the sidebar, and go into a checklist. 
2. Add or edit a checklist line item.
3. Insert an attribute using the format `{{ ColumnName }}`, where `ColumnName` matches an Assets overview column - either a default column (e.g. **Manufacturer**) or a custom column you've created (e.g. **ModelNumber**).
   Example with a default column: `Is the manufacturer: {{ Manufacturer }}?`
   Example with a custom column: `Is the model number: {{ ModelNumber }}?`
4. Confirm the asset has a value set for that column, default or custom, so there's data to pull in.
5. Save the line item and import the checklist template into your project. Both default and custom column placeholders resolve automatically to the asset's actual values.

![](https://storage.crisp.chat/users/helpdesk/website/-/e/a/2/c/ea2cfd7bb6130800/image_1jxqbuq.png)


Placeholders resolve the same way whether the source column is a default Assets overview column or a custom one you added at the project level, and work equally with single-word (`{{ ModelNumber }}`) and multi-word (`{{ Model Number }}`) column names.

## Types of attribute placeholders

* **Full data lookup** - pulls all data from a column, e.g. `{{ Manufacturer }}` or a custom column like `{{ ModelNumber }}`.
* **Partial data lookup** - extracts a specific value from multi-line column text, e.g. looking up "Voltage" from a column that holds several readings. If the exact match isn't in the expected column, CxPlanner also checks other columns on the asset for a matching value.
* **Hyperlinks** - convert placeholder text into a clickable link with `{{ link:www.cxplanner.com }}`.
* **File previews** - show a file shortcut for a file already uploaded in the project's **File module**, using ``` {{ ``file:filename.pdf`` }} ```.

## Example: how a placeholder resolves

If an asset has **Manufacturer** (default column) set to Mitsubishi and **ModelNumber** (custom column) set to 1111, the line item text:

`Verify that the manufacturer is {{ Manufacturer }} and the model number is {{ ModelNumber }}`

resolves to:

`Verify that the manufacturer is Mitsubishi and the model number is 1111`

## Photo example: How a placeholder resolves 

Fill in the Asset attributes, and the checklist will automatically update 

![Fill in the Asset attributes](https://storage.crisp.chat/users/helpdesk/website/-/e/a/2/c/ea2cfd7bb6130800/image_z9ff1h.png)


![Auto update within the checklist](https://storage.crisp.chat/users/helpdesk/website/-/e/a/2/c/ea2cfd7bb6130800/image_197yty7.png)

## If a placeholder shows blank, the wrong value, or won't work

| Problem | Cause | Solution |
| ---- |
| Placeholder shows a blank value | The referenced column is missing or empty on the asset | Confirm the column exists on the asset and has a value set |
| Wrong value is displayed | The placeholder name doesn't match the column name exactly | Check spelling against the column name, including custom columns |
| File preview doesn't show | The file hasn't been uploaded to the project | Upload the file in the **File module** first |
| Link isn't clickable | Placeholder format is wrong | Use `{{ link:URL }}` with no spaces around the URL |
