Skip to main content

1. Concepts

What custom attributes are

Custom attributes are additional fields defined once at the account level and applied consistently across every record of a given object type. They extend Zenskar’s standard data model to capture business-specific metadata for reporting, operations, and integrations. Unlike free-form notes, custom attributes are typed. Each has a defined data type, which keeps values consistent across records and reliable for downstream use.

Supported objects

Custom attributes are managed from Settings > Custom Attributes for three objects: Customer, Contract, and Product.
On demo accounts using the Contracts V3 experience, only the Customer section is currently shown; the Contract and Product sections are not available there.

The property key name

Every custom attribute has two identifiers: a display name shown throughout the product, and a property key name used by the API. The property key name is auto-generated from the display name when the attribute is created, and can be edited before the attribute is first saved.

What changes after creation, and what does not

After a custom attribute is saved, its data type cannot be changed. This is enforced by the backend, and an attempt to change it is rejected. The property key name is not editable in the interface after creation, though this is a restriction in the interface rather than a rule enforced by the backend. Changing it is strongly discouraged regardless, since API integrations and webhooks reference an attribute by this key. Display name, default value, the mandatory toggle, and business entity scope remain editable at any time.

Deleting a custom attribute

The Custom Attributes screen does not offer a way to delete an attribute; only Edit is available. A delete capability exists at the API level, gated by a separate permission, and performs a soft delete. Since the interface itself has no delete action, retiring an attribute through the interface is typically done by renaming it to signal it is no longer in use and turning off its mandatory toggle. This is a naming convention only, not a feature the system enforces or recognizes.

Business entity scoping

A custom attribute can be scoped to all business entities or to one specific entity. When a business entity is selected on a customer or contract’s create or edit form, only the attributes configured for that entity are loaded. Business entity scoping is not available for products, since products are global in scope.

Data types

Supported data types when creating an attribute through this screen: Text, Integer, Boolean, Float, Array, and Dropdown.

The API field name differs by object

A custom attribute’s values are read and written differently depending on the object. On the customer object, they appear under custom_data. On the contract and product objects, they appear under custom_attributes. Do not confuse this with a separate, unrelated field also named custom_attributes that exists on some objects for tagging. That is a different feature from the custom attribute definitions described on this page.

2. How-to guides

Add a custom attribute

  1. Go to Settings > Custom Attributes.
  2. Scroll to the object to extend: Customer, Contract, or Product.
  3. Click Add New Property.
  4. Fill in the property details: Business Entity, Property Name, Property Key Name, Data Type, Default Value, and Mandatory.
  5. Click Add.
Double-check the property key name and data type before saving. Neither can be changed afterward.

Edit a custom attribute

  1. Go to Settings > Custom Attributes.
  2. Find the attribute, open its actions menu, and select Edit.
  3. Update the display name, default value, mandatory toggle, or business entity scope. Property key name and data type cannot be changed.
  4. Click Update.

Retire a custom attribute

  1. Go to Settings > Custom Attributes.
  2. Edit the attribute, and rename it to indicate it is no longer in use, for example by prefixing the name with [DEPRECATED].
  3. Turn off the Mandatory toggle.
  4. Click Update.

Fill in custom attributes on a record

  1. Open the create or edit form for a Customer, Contract, or Product.
  2. Select a business entity at the top of the form. This determines which custom attributes load, except for Product, which is not scoped by business entity.
  3. Scroll to the Custom Attributes section.
  4. Fill in the fields. Mandatory fields must be completed before saving.
  5. Click Create or Update.

Troubleshooting

  • Property Key Name or Data Type cannot be changed while editing: both are locked after an attribute is created. Create a new attribute if a different key name or data type is needed.
  • There is no way to delete an attribute from this screen: deletion is not available in the interface. Retire the attribute instead by renaming it and turning off its mandatory toggle.
  • The Contract or Product sections are missing from Custom Attributes: this can happen on a demo account using the Contracts V3 experience, where only the Customer section is currently shown.

3. Reference

Location

Settings > Custom Attributes.

Fields

Supported data types

API field name by object

A separate, unrelated field also named custom_attributes exists on some objects for tagging. It is not the same feature as the custom attribute definitions on this page.

API endpoints

A delete endpoint also exists at the API level, performing a soft delete. It is not exposed in the interface, which offers editing only.

What is not currently supported in the interface