---
title: "Assets and asset layouts"
description: "Design asset layouts that describe a kind of record, then document a client's firewalls, phone systems, and other assets with them."
url: "https://support.outpostplatform.com/documentation/assets/"
product: "depot"
type: "how-to"
status: "draft"
ai_summary: "How to design asset layouts (fields such as Text, Choice, Hidden value, Password, Link to a record, Read from the endpoint) and create assets from them. Layouts need docs:manage and belong to the organization, or to the practice on MSP. Assets need docs:write. Hidden values are revealed with an audit entry. Dated fields appear in Expirations."
availability:
  plans: ["home-lab", "essentials", "enterprise", "msp"]
  permission: "docs:write"
  preview: false
source: "https://gitlab.com/outpostplatform/docs/-/edit/main/src/content/docs/documentation/assets.mdx"
license: "CC BY 4.0"
---

# Assets and asset layouts

An asset is a structured record of something a client runs that is worth
documenting, such as a firewall, a wireless controller, or a line-of-business
application. Every asset is built from an asset layout, which says what fields
that kind of record has. This page shows how to design a layout and how to
record an asset with it.

## Before you begin

- Designing a layout needs `docs:manage`. Creating and changing assets needs
  `docs:write`.
- Where layouts live depends on your plan. On Home Lab, Essentials, and
  Enterprise, they belong to your organization. On MSP, they are designed at
  practice level and used by every client, so agree with your team what each
  kind of record carries before you build it.

## Design an asset layout

1. Go to **Documentation** > **Asset layouts** and select **New layout**. On
   MSP, do this at practice level.
2. In **Name**, enter the name of the kind of record, such as `Firewall`.
3. In **Key**, enter the name the layout is filed under, in lowercase with no
   spaces. The key cannot change once the layout is saved.
4. Optionally, enter a **Description** and an **Icon**. The icon is a Feather
   icon name, such as `shield` or `server`.
5. Select **Save**. Fields belong to a layout that exists, so you save the
   layout before you add fields.
6. Under **Fields**, select **Add a field** and fill in the field:
   - **Label**: what people see.
   - **Key**: the name the value is stored under.
   - **Kind**: one of the kinds in the table below.
   - **Hint**: one line shown under the control.
   - For a **Choice** or **Several choices** field, enter **Choices**
     separated by commas, or pick a **Shared list**.
   - For a **Link to a record** field, choose what it **Can point at**.
   - Select **Required**, **Show it in the asset list**, or, for a date,
     **Track this date in Expirations**, as needed.
   - Use **Show this field when** to show the field only when another field
     has a particular value. A hidden field keeps its value.
7. Select **Save field**. Repeat for each field. Use **Move up** and **Move down** to set
   the order, and watch the **Preview**.
8. In **Use for the title**, choose which field names an asset in every list
   and link, or leave **The asset's own title**.
9. Select **Save**.

A field's key and kind cannot change once assets use the layout. To change one,
add a new field and retire the old one.

### Field kinds

| Kind | Holds |
| --- | --- |
| **Text** | One line of text |
| **Long text** | Several lines of text |
| **Formatted text** | Formatted text |
| **Section heading** | A heading that groups the fields under it, with no value |
| **Number** | A number |
| **Date** | A date, which can be tracked in **Expirations** |
| **Checkbox** | Yes or no |
| **Choice** | One value from a list |
| **Several choices** | Any number of values from a list |
| **Web address** | A URL |
| **Email address** | An email address |
| **Phone number** | A phone number |
| **Hidden value** | A value stored encrypted and shown only when someone selects **Reveal**. The reveal is recorded in the audit log. |
| **Password** | A password, stored as a credential in the vault so it follows the vault's access and audit rules |
| **File** | An attached file |
| **Link to a record** | Links to one or more endpoints, people, sites, or other records |
| **Read from the endpoint** | A value Outpost fills in from a linked endpoint's inventory, such as its serial number. Values refresh every 15 minutes. |

### Retire a layout

To stop new assets being made from a layout, open it, select **Retire this
layout. Existing assets keep working; no new ones can be made.**, and select
**Save**. Retired layouts show **Retired** in the list.

## Record an asset

1. In a client's **Documentation**, go to **Assets** and select **New asset**.
2. In **Layout**, choose the kind of record.
3. In **Title**, enter a name for the asset, and in **Labels**, enter labels
   separated by commas.
4. Fill in the fields under **Details**.
5. Select **Save**.

The asset page has two tabs. **Details** shows the fields and **About this
asset**, including where it was imported from. **Relations** lists the
endpoints, people, and records it points at and the records that point at it.

To find assets of one kind, open **Assets** and filter by **Layout**. The
search matches the title, the labels, and the typed field values. Hidden
values are never searched.

## Verify

Open the client's **Documentation** > **Assets**. The asset is listed with its
layout. Open it, and the **Details** tab shows the values you entered, with
**Hidden value** fields showing **Reveal** instead of their value.

## If something goes wrong

| Symptom | Cause | Fix |
| --- | --- | --- |
| **No asset layouts exist yet.** on **Assets** | No layout has been designed. | Design one under **Documentation** > **Asset layouts**, at practice level on MSP. |
| A layout is missing from **Layout** when you create an asset. | The layout is retired. | Open the layout and clear the retire option. |
| **Reveal** is unavailable on a hidden value. | Your account lacks the access the record needs. | Ask an administrator for access to the asset. |

## Next steps

- [Credentials vault](/documentation/credentials-vault/)
- [Track expirations](/documentation/expirations/)
- [Import and export documentation](/documentation/import-and-export/)
