Adding Custom Attributes to Standard or Custom Klasses

To really use the full functionality of Klasses in Kustomer, Creating and using custom attributes in standard and custom klasses will help model and build the data you are wanting to exist in your organization. 


Let's recap what the structure of Klasses and Attributes are: 

Kustomer uses Klasses to define the attributes associated with each object type in your platform. A Klass is the definition of custom objects (Objects), capturing the name of the object (e.g. “order”), an icon to represent it, and the properties that individual objects can have (e.g. an order number).

New attributes can be added to Standard Klasses to store custom information related to a Customer, Company, Conversation, or Message. You can also add custom attributes for your custom Klasses.

For more information on this see: Data model

There are four Standard Klasses:

  • Company: the company object, associated with the Customer

  • Conversation: the conversation object, associated with the Customer and Message

  • Customer: the customer object describing customer attributes

  • Message: the message object, associated with Conversation and Customer

This Example shows the creation of a Custom attribute named “custom customer attribute” in the standard Klass “customer”.


Custom Klasses:

You can also create custom Klasses, which are used to model more complex objects that map to your business workflows. Custom Klasses are commonly used to store, model, and render Objects. For example, an ecommerce company commonly uses a custom Klass for Orders, which brings in data from an external ecommerce site like Shopify.

This Example shows the creation of a Custom attribute named “shopify custom attribute” in the custom Klass “shopify order”.

If none of the Standard Klasses meet your requirements of where you want certain data to live you can create a custom Klass.


Before you can create a KObject, an organization needs to define a set of attributes and relationships that make up an object. This is done through a class definition called a Klass. A Klass includes a set of standard and custom attributes that together make up the definition of all instances (KObjects) of a Klass. Klasses are uniquely identified by a Klass name that is used to reference KObjects and Klass definition across the product. 

All Klasses include a common set of attributes including:

  • externalId - identifier that uniquely identifies a specific kobject across a single klass 

  • title - a short string title of the object

  • description - a long string description for the object

  • images - an array of image URLs

  • Rev - revision number used for optimistic locking purposes

You can use custom Klasses to model individual business objects that may have 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 and select Platform > Klasses.

  2. Select Add Klass.

  3. Enter a name. Optionally, select an icon and the icon's color.

  4. Select Create.

Change Klass settings

You can customize your Klass by selecting an icon and icon color to better represent the object. 

To change settings:

  1. Select the edit icon for the Klass.

  2. Select the Settings tab.

  3. Select an icon and color from the fields provided.

  4. Select Save Changes. You can see the changes in your Klass list.

Once you have all the Klasses you are wanting to use, you can then start further expanding your attributes that live inside these Klasses (standard or custom).

Custom Objects (KObject)

Custom Objects, referred to as KObjects, are objects that organizations can use to extend the base data model of the application. As a result, organizations can store information specific to their business and link to customer records or any other standard or KObject. For example, if an organization wants to store orders placed by their customers on their website or mobile application, they can define an order Klass (defined below) and start ingesting order events using the API and Inbound Web Hooks.

To add a Custom 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 that has '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.

  3. Select a data type from the Type drop-down menu. The following options are available:

    • Single line text - for example, product name or item color.

    • Paragraph - for example, notes on a transaction.

    • Number - for example, price, quantity, or numeric tracking number.

    • Date - for example, 01/01/2020.

    • URL - for example,

    • True/False

    • Multi-level list - for example, Level 1 > Item 1.

    • Id - for example, a kObject.

    • User Picker - for example, John Doe. Only active users within your org can be selected.

    • Customer Picker - for example, Jane Doe.

  4. 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.

  5. Select Create. Continue adding the necessary attributes for that Klass.

NOTE*: New attributes are turned on by default.

NOTE*: You can require fields to be filled out before marking a conversation done ONLY on the standard Conversation Klass.

These are the basic fundamentals in creating and using Klasses alongside the creation and usage of attributes within these Klasses. After this you can go further into the customization of these attributes by using Workflows to automatically ingest data to live in these attributes or you can begin to use these attributes for business rules or reporting. 

Furthermore you can then start exposing these Klasses and attributes onto Insight cards, this will allow you show these attributes in the agent view and can also be updated and edited from there. More info on: Insight Cards.

For now this will help you establish the foundation of the Klasses you are wanting to exist alongside the attributes you are wanting to store. 

If you have any general questions about how to better understand Klasses or attributes as a whole, or need assistance with ideas, feel free to reach out to or visit our knowledge base at Kustomer University is another great resource, with videos and tutorials to help you better utilize everything Kustomer has to offer.