# Custom Field

Custom Fields allow IT admins to **create and manage asset-specific metadata fields** that go beyond the default system-defined attributes. These fields enable teams to tailor asset records to suit organizational, compliance, or operational needs.

It is designed to support:

* Organization-specific field tracking (e.g., Warranty Location, Department Tag, Device Owner Remarks)
* Flexibility in defining **Text**, **Date**, **Dropdown**, or **Numeric** fields
* Reusability across different asset categories
* Uniform data collection and visibility across modules like IT Assets, Fixed Assets, and CMDB

Custom Fields ensure that asset data models are scalable and relevant to different business environments.

## **What Do You See on the Screen?**

Below is a detailed breakdown of the elements shown on the **Custom Field** listing screen:

| **Label**                  | **Action**                                         | **Description / Example**                                                                                                                                                                                                                            |
| -------------------------- | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Search**                 | Type at least three characters to perform a search | <p>Performs a free-text keyword search on custom field labels.</p><p><strong>Example:</strong> Asset ID, Owner Group</p>                                                                                                                             |
| **Filter**                 | Select a field → choose a condition → enter value  | <p>Filter options include:<br></p><ul><li><strong>Fields</strong>: Label, Type</li><li><strong>Conditions</strong>: equal to, not equal to, contains, not contain, in, not in</li></ul><p><br><strong>Example:</strong> Filter where Type = Text</p> |
| **Label**                  | View only                                          | <p>Displays the name of the custom field.</p><p><strong>Example:</strong> Customize Asset ID, Branch Code</p>                                                                                                                                        |
| **Property**               | View only                                          | Category this field belongs to (e.g., Custom Property, Procurement Property)                                                                                                                                                                         |
| **Field Type**             | View only                                          | <p>Data type assigned to the field.</p><p><strong>Example:</strong> Text, Date, Dropdown, Email, etc.</p>                                                                                                                                            |
| **Type**                   | View only                                          | <p>Denotes the module or entity this field applies to.</p><p><strong>Example:</strong> Asset, Contract, Software</p>                                                                                                                                 |
| **All Related Categories** | View only                                          | <p>Lists the number of asset categories using this custom field.</p><p><strong>Example:</strong> 2, 3, etc.</p>                                                                                                                                      |
| **Action Icons**           |                                                    |                                                                                                                                                                                                                                                      |
| **Edit**                   | Click pencil icon                                  | Opens the custom field in edit mode to change label, field type, or related categories                                                                                                                                                               |
| **Delete**                 | Click trash icon                                   | Deletes the custom field. This action is only allowed if the field is not in active use.                                                                                                                                                             |

{% hint style="info" %}

* All created custom fields will appear as selectable options in the **Category Template > Fields** tab.
* Deleted fields cannot be recovered.
* Fields are global and can be reused across multiple modules or templates.
  {% endhint %}

## **Add a Custom Field**

Custom fields allow you to extend the default asset metadata by creating organization-specific attributes. These fields can be added to both **Assets** and **Resources**, with field type options and properties varying depending on the selection.

{% hint style="info" %}
Duplicate field labels or property-field combinations are not allowed. Each custom field must be unique.
{% endhint %}

### **Steps to Add a Custom Field**

Begin by selecting the type of entity the custom field will be associated with:

* **Asset**
* **Resource**

#### **If Asset is Selected**

<figure><img src="/files/IV0aBwB0bOD4XBhYFfAS" alt=""><figcaption></figcaption></figure>

| **Label**      | **Action**               | **Description / Example**                                                                                                                                                                 |
| -------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Property**   | Select from the dropdown | <p>Choose the property group the custom field belongs to.<br><br><strong>Options:</strong> Common, Procurement, OS, CPU, BIOS, Disk, Monitor, Keyboard, Mouse, Cost, Assignment, etc.</p> |
| **Field Type** | Select from the dropdown | <p>Choose the type of input expected for this field.</p><p><strong>Options:</strong> Text, Phone Number, Email, Date, Date & Time, Checkbox, Radio, Text Area, Drop Down, Number.</p>     |
| **Label**      | Enter custom field label | **Example:** Asset Location Code, Internal User Email, Device Category, etc.                                                                                                              |

Based on the selected **Field Type**, different configurations appear on the screen. See below for type-specific settings.

#### **If Resource is Selected**

<figure><img src="/files/WpOXxkQdVYF6t6RZDhKa" alt=""><figcaption></figcaption></figure>

| **Label**      | **Action**               | **Description / Example**                                     |
| -------------- | ------------------------ | ------------------------------------------------------------- |
| **Field Type** | Select from dropdown     | **Available options:** Text, Phone Number, Email, and Number. |
| **Label**      | Enter custom field label | **Example:** Resource Owner, Vendor Email                     |

Each field type triggers a specific form layout. Below is a detailed breakdown.

#### **Field Type-Based Configuration**

Based on the selected **Field Type**, additional configuration fields appear. Each type serves a unique purpose. The details below explain the labels and their usage in a clear format for end users.

**Email / Phone Number / Text | Configuration**

<figure><img src="/files/YkEBWjxiNKJZR9ii1Pap" alt=""><figcaption></figcaption></figure>

<table data-header-hidden><thead><tr><th width="202.20001220703125"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Purpose</strong></td></tr><tr><td><strong>Placeholder</strong></td><td>This is the default hint text displayed in the field before the user inputs any value. It auto-fills based on the field type (e.g., “Enter your email”) but can be edited to provide more specific guidance.</td></tr><tr><td><strong>Validation Rules</strong></td><td>This allows you to add descriptive text that instructs users on what type of input is expected. For example: “Must be a valid company email address.”</td></tr><tr><td><strong>Regex</strong></td><td>Enables admins to define pattern-based validation using regular expressions. This ensures that input strictly matches defined criteria (e.g., emails must follow abc@domain.com).</td></tr><tr><td><strong>Error Text</strong></td><td><p>This is the message shown to the user when the input fails validation. It should clearly explain what went wrong.</p><p><strong>Example:</strong> “Please enter a valid email format.”</p></td></tr></tbody></table>

\
**Number | Configuration**

<figure><img src="/files/4oPZR6L6Tae7MzIO74Gw" alt=""><figcaption></figcaption></figure>

| **Field**           | **Purpose**                                                                                                                  |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **Min**             | Sets the minimum allowable value for the number field. This prevents users from entering values below the defined threshold. |
| **Max**             | Sets the maximum allowable value. Useful for setting limits like asset quantity, license count, etc.                         |
| **Validation Rule** | Optional message or description that informs the user what the number field is intended for or how to fill it.               |

\
**Drop-down | Configuration**

<figure><img src="/files/XqKCGvpWHStag3pLTvDx" alt=""><figcaption></figcaption></figure>

| **Field**  | **Purpose**                                                                                   |
| ---------- | --------------------------------------------------------------------------------------------- |
| **Label**  | Visible name for each dropdown option. Should be human-readable (e.g., “HR Department”).      |
| **Value**  | Backend reference for that label (e.g., HR01), used for automation, filters, and rules.       |
| **Action** | Add multiple entries using "+" and remove using delete icon. Avoid duplicating labels/values. |

\
**Text Area | Configuration**

<figure><img src="/files/JWym1CkddLAq6XZC14mi" alt=""><figcaption></figcaption></figure>

* Designed for long-form input (e.g., notes, remarks).
* Uses the **same configuration layout** as Email/Text fields.
* Best used for optional descriptions or unstructured inputs.

**Checkbox / Radio | Basic Details**

<figure><img src="/files/yudfjlSMLZ5TwF9fcJh9" alt=""><figcaption></figcaption></figure>

| **Field** | **Purpose**                                                                                                          |
| --------- | -------------------------------------------------------------------------------------------------------------------- |
| **Label** | The name shown to users for the option. Use clear wording like “Yes”, “No”, “Internal Use Only”, etc.                |
| **Value** | This is the stored backend value for the label (e.g., “Y” for Yes, “N” for No). Used in reports and rule automation. |

\
**Date / Date & Time | Configuration**

* These types do not have field-specific validations like Min/Max or Regex.
* A **placeholder** auto-fills with a default hint (e.g., "Select a date").
* All common options (like category mapping, toggles for mandatory/unique) are applicable.

#### **Add Related Categories**

Custom fields can be linked to categories or sub-categories to determine their visibility and usage.

| **Option**                | **Purpose**                                                                                                                                                                       |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Common Custom Field**   | When enabled, this makes the field available across multiple selected categories. Best for generic fields like “Department” or “Asset Tag.”                                       |
| **Category/Sub-Category** | Select the target group where the field should be active. Fields in a **Category** propagate to all sub-categories. Fields added only to a **Sub-Category** are restricted there. |
| **Mandatory**             | Toggle this ON to enforce field entry during asset/resource creation.                                                                                                             |
| **Unique**                | Prevents duplicate values. Useful for fields like Serial Number, Asset ID, or Employee ID.                                                                                        |
| **Disable**               | Temporarily hides the field from being used without deleting it.                                                                                                                  |
| **Action Icons**          |                                                                                                                                                                                   |
| **Add**                   | Confirms and applies the field-to-category association. You can add multiple mappings.                                                                                            |
| **Delete**                | Removes the field from a specific category. Does not delete the field entirely.                                                                                                   |

{% hint style="info" %}

* Avoid using **duplicate labels** or field names across categories to maintain clarity and avoid conflicts.
* Fields are global once created but are **only active in the categories they are mapped to**.
  {% endhint %}


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.infraon.io/infraon-help/infinity-user-guide/asset/asset-categories-sub-categories/custom-field.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
