# Define custom attributes in Kustomer

> Klasses  determine the data attributes available to standard (Customer, Conversation, Company, Message, and User) objects and your custom objects.

Source: https://help.kustomer.com/en_us/define-custom-attributes-Skr924HI

Last updated: 2026-06-22T22:53:27.540Z

[Klasses](https://help.kustomer.com/kustomer-glossary-r10vBrc6v#K) determine the data attributes available to standard (Customer, Conversation, Company, Message, and User) objects and your custom objects, or KObjects, in Kustomer. Visit the [Data Model Overview](https://support.kustomer.com/data-model-overview-SyIS1S3zM) to learn more about how standard and custom objects work in Kustomer. 

![](https://cdn.kustomerhostedcontent.com/media/570fad9d9001bc1000163b28/01c1af01d5e6d7f59ea29f996b9ceb7b.png)

You can create, define, and modify Klasses to customize the data attributes for both standard and custom objects to match your business needs. 

In this article, we'll explore the standard Klasses available in Kustomer and learn how to create custom Klasses to define custom objects, or KObjects. We'll also learn how to add custom data attributes to both standard and custom Klasses.

**Who can access this feature?**

**User types**

Admins can access the Klass page.

  

### In this article

*   [Standard Klasses](#Standard)
*   [Create custom Klasses](#CustomKlass)
*   [Add custom attributes to a Klass](#Attributes)
*   [Make fields required](#required)
*   [Display Klass data in Kustomer](#KlassData)
*   [Create a form for a custom Klass (Beta access)](#form)
*   [Create a notification for a Klass (Beta access)](#notification)
*   [View Klass settings and permissions](#settings)

### Standard Klasses

Standard Klasses define data attributes for the five standard objects in Kustomer: Customers, Conversations, Companies, Messages, and Users. For example, a standard Customer object refers to an instance of the standard Customer klass, and the Customer klass defines the data attributes available for the Customer object.

You can add new attributes to standard Klasses to store custom information for Customer, Company, Conversation, Message, and User objects. When you define new attributes for a standard Klass, the new attributes will be available for any object instance of that Klass in Kustomer.

Kustomer provides five standard Klasses: Customer, Conversation, Company, Message, and User.

*   **Customer Klass**  
    Defines the data attributes available to the standard Customer object and describes Customer attributes.  
      
    
*   **Conversation Klass**  
    Defines the data attributes available to the standard Conversation object and is associated with Customers and Messages.  
      
    
*   **Company Klass**  
    Defines the data attributes available to the standard Company object and is associated with Customers.  
      
    
*   **Message K****lass**  
    Defines the attributes available to the standard Message object and is associated with Conversations and Customers.  
      
    
*   **User Klass**  
    Defines the data attributes available to the standard User object. It represents all types of Users that can log into Kustomer, and can be used to allow business rules and routing to access custom data. This Klass has no standard attributes defined, but you can add custom attributes to it in the same way as any other standard or custom object.

### Create custom Klasses

You can use custom Klasses to model individual business objects with multiple relationships or to map to your specialized business process in Kustomer. When you create a custom Klass, you can define the name, icon, and color of the Klass.

**To create a custom Klass:**

1.  Go to **Settings** **\> Platform >** **Klasses**.
2.  Select **Add Klass**.
3.  Enter a name. Optionally, select an icon and the icon's color.
4.  Select **Create**.

### Add custom attributes to a Klass

You can add attributes to both standard and custom Klasses.

**To add an attribute:**

1.  From that object's page, select **Create Attribute**.
2.  Enter a display name for the attribute. Note the following:
    
    *   When you create the new attribute, Kustomer will automatically generate the attribute's name based on the Display Name and data type. For example, an attribute added to a custom Klass for an order with "Assigned User" as the Display Name will have "assignedUserId" as the Name.
    *   An attribute's Display Name and Value properties can be changed after creation, but Name and data type cannot.
    
    ![](https://cdn.kustomerhostedcontent.com/media/570fad9d9001bc1000163b28/e7993681e528e9793402481f719f0d4a.png)
3.  Add optional **guidance** that informs Kustomer AI about the purpose of the attribute, which is used by features, such as [Copilot](https://help.kustomer.com/use-copilot-SyU13vB1lg) or the [AI workflow assistant](https://help.kustomer.com/en_us/create-workflows-using-the-ai-workflow-assistant-S1S1EG_3ee)
4.  Select a data type from the **Type** drop-down menu. The following options are available:
    
    **Data type**
    
    **Description**
    
    Single line text
    
    A single line of freeform text. Limited to 1024 characters.
    
      
    
    Paragraph
    
    Freeform text field that can wrap to multiple lines. For example, freeform notes related to a transaction. Limited to 1024 characters.
    
    Number
    
    a numeric value.  For example, price, quantity, and a numeric tracking number. 
    
    Date
    
    For example, 01/01/2020. The formatting will match whatever language your app is set to in Personal > Preferences such as English US mm/dd/yyyy or English UK dd/mm/yyyy).
    
    Date & Time (Beta access)
    
    For example, 01/01/2020, 12:00PM. The formatting will match whatever language your app is set to in Personal > Preferences.
    
    URL
    
    A freeform field for inputting a URL address. For example, [https://www.example.com](https://www.example.com)
    
    True/False
    
    A dropdown list where users can select true or false as a response. 
    
    Multi-level list
    
    A list of text values that can include nested sub-categories. For example, Level 1 > Item 1. Limited to 2500 items. If used in a conversational assistant, the list is limited to 32KB, which is approximately 200-225 items, depending on the length of the option names.
    
    ID
    
    Allows you to select any one KObject (custom object) from the timeline and surface it as an attribute. For example, a KObject (from an Order Klass) with order information could be selected and surfaced when viewing a conversation or a customer.
    
    User Picker
    
    A dropdown list to select an agent or Kustomer admin. Only active users in your organization can be selected.
    
    Customer Picker
    
    A dropdown list to select a customer name.
    
5.  Select the field value for the attribute type. Available options are:
    *   **Single Value** are fields that accept any value that matches the data type.
    *   **Option List** will only accept pre-defined values.

New attributes are turned on by default.![](https://cdn.kustomerhostedcontent.com/media/570fad9d9001bc1000163b28/18b785b1d698636d616608461192ac7e.png)

### **Change a custom attribute's data type**

You cannot change the data type of a custom attribute after you create it. The underlying data model does not support modifying attribute types after creation.

To change an attribute's data type, you must create a new attribute and migrate your data. To do this:

1.  From the Klass settings page, create a new custom attribute with the desired data type.
2.  Migrate or update any existing data from the old attribute to the new one as needed.
3.  Update any workflows, reports, or integrations that reference the old attribute to use the new one.
4.  Optionally, disable or remove the old attribute if it is no longer needed.

### Make fields required

You can require custom fields to be filled out before marking a conversation as done on the standard Conversation Klass. To do so, select the **Required to mark conversation done** checkbox when editing the attribute.

![](https://cdn.kustomerhostedcontent.com/media/570fad9d9001bc1000163b28/90ffe730873c984aa6406aacca9f2b77.png)

You can also display agents with the attributes relevant to their current conversation. For more information, see [Create conditional attributes in insight cards](https://help.kustomer.com/en_us/create-conditional-attributes-B1twN0pkO).

### Display Klass data in Kustomer

Klasses describe how individual KObjects will be stored on your Kustomer site. You can adjust the Timeline Layout and Insight Cards to render Klass data for your users. For more information on rendering these views, see [Klass Views](https://apidocs.kustomer.com/?version=latest#861dc499-175b-42f7-ad37-1a9b436d4323).

### Create a form for a custom Klass (Beta access)

You can create a form for a custom Klass that appears on the customer timeline and lets agents collect data that can be used for teams to cross-collaborate on that object. For more information, see [Tutorial: Create an assignable custom object for a timeline](https://help.kustomer.com/create-an-object-on-timeline-BJarDuoDT).

### Create a notification for a Klass (Beta access)

If you added a Date field to your Klass, you can alert users of an upcoming due date via email and in-app notifications. For more information, see [Create a notification for a custom object](https://help.kustomer.com/create-a-notification-for-a-custom-object-HyWsNUWop).

### View Klass settings and permissions

You can customize your Klass by selecting an icon and an icon color to represent the object better by going to the Settings & Permissions tab of the Klass you want to customize. From here, you can add guidance that informs Kustomer AI about the purpose of the Klass, which is used by features such as, [Copilot](https://help.kustomer.com/use-copilot-SyU13vB1lg) or the [AI workflow assistant](https://help.kustomer.com/en_us/create-workflows-using-the-ai-workflow-assistant-S1S1EG_3ee). You can also view and modify the permissions with access to this Klass directly from this page.

**Note:** This tab is currently in beta access.

#### **Delete or disable a custom attribute**

Before you remove a custom attribute from a Klass, update any workflows, business rules, reports, or integrations that reference the attribute. Removing an attribute without updating these references can cause errors.

To delete or disable a custom attribute:

1.  Identify all workflows, business rules, and reports that reference the attribute you want to remove.
2.  Update or remove those references so they point to a new attribute or no longer depend on the old one.
3.  If you need to preserve existing data, migrate values from the old attribute to a replacement attribute before deletion.
4.  From the left navigation, click ****Settings****. The Settings page opens.
5.  In the ****Settings**** page, click ****Platform****, then select ****Klasses****.
6.  Select the Klass that contains the attribute you want to remove.
7.  Locate the attribute in the list and remove it.

****Note:**** Deleting a custom attribute is permanent. Any data stored in that attribute across existing records is lost. If you are unsure whether the attribute is still in use, disable it first and monitor for issues before permanently deleting it.

### **Rename a value in a single line text attribute**

Single line text attribute values can’t be renamed directly. Instead, add the updated value, replace the old value wherever it’s used, and then remove the old value.

To update existing records after renaming:

1.  From the left navigation, click ****Searches****. Create a search filtered for conversations (or customers) that contain the old attribute value.
2.  Add the new option to your attribute field.
3.  In your search results, select all matching records and perform a ****Bulk Update**** to set the attribute to the new value.
4.  After confirming the update, remove the old option from the attribute.

Complete step 3 before step 4 so you can still search by the old value.

If you need to rename values frequently, consider using a ****multi-level list**** attribute type instead. Multi-level list options can be renamed at any time without requiring bulk updates.
