--- title: "Extend the application schema through UI" slug: "extend-the-application-schema-through-ui" description: "Customize your CPQ workspace by adding custom attributes to the application data model." updated: 2026-07-22T14:03:57Z published: 2026-07-31T10:00:05Z canonical: "docs.zilliant.com/extend-the-application-schema-through-ui" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.zilliant.com/llms.txt > Use this file to discover all available pages before exploring further. # Extend the application schema through UI You can customize your CPQ workspace by extending the application schema (data model) with custom attributes and adding them as fields or columns to key business objects like Quote or Agreement. This helps you track information important to your workflows and business processes. The CPQ schema contains: - **Standard attributes** that are already available in the application schema. You can’t edit or delete them, but you can add them as fields to the UI. - **Custom attributes** that you define in the schema yourself. Then you can add them as fields to the UI. Attributes are of two types, which define how the related fields behave in the UI: - **Business Data Attribute (BDA)**—Creates fields where users manually enter independent values, such as a custom delivery note or internal reference number. - **Business Relation Attribute (BRA)**—Creates dropdown fields with predefined selectable values. BRAs are linked to lightweight objects (lists of values) that populate the field’s dropdown list. For example, you can use a BRA to capture a delivery cadence with options like Weekly, Monthly, or Yearly. To extend the application schema and add custom fields to objects in the new UI, follow these steps: 1. [Complete the prerequisites.](/v1/docs/extend-the-application-schema-through-ui#prerequisites) 2. [Add a custom attribute.](/v1/docs/extend-the-application-schema-through-ui#add-a-custom-attribute) 3. (Optional.) [Add an attribute as a field to the UI.](/v1/docs/extend-the-application-schema-through-ui#add-an-attribute-as-a-field-to-the-ui) > [!WARNING] > Note > > We are gradually rolling out the new UI in CPQ. To verify which objects support the new UI, read the [release updates](/v1/docs/releases). ## Prerequisites To access and extend the application schema, verify that you have the SCHEMA EXTENSIBILITY PERMISSION. For details on assigning permissions, read [Role management](/v1/docs/role-management#define-permissions-for-a-role). ## Add a custom attribute To add a custom attribute capturing business-specific data: 1. From the application left navigation area: - In the classic view, select **Schema Extensibility**. - In the new UI, select **Settings** > **Schema Extensibility**. 2. From the top navigation bar, select the object where you want to add the attribute. > [!WARNING] > Note > > - To add an attribute for [agreements under negotiation](/v1/docs/manage-agreements-under-negotiation), select the **Quote** object. > - To add an attribute for [published agreements](/v1/docs/manage-published-agreements), select the **Agreement** object. 3. Select an option to proceed: - To add a custom attribute to the header level, on the leftmost panel, select **+ Add Custom Attribute**. - To add a custom attribute to the child level, such as line items, on the leftmost panel, locate the related parent attribute and select Next. Then select **+ Add Custom Attribute**. 4. On the **New Custom Attribute** panel, enter information or make selections to define the attribute: 1. **Name**—Enter a name for the attribute. 2. **Attribute Type**—Select a type: - Business Data Attribute - Business Relation Attribute 3. **Data Type**—(Available for business data attributes.) Select the field data type, such as integer or string. 4. **Range**—(Available for business relation attributes.) Select an attribute source—a lightweight object that stores values users can select from the field’s dropdown list. To create this object, read [Define a business relation attribute source](/v1/docs/add-fields-to-objects#define-a-business-relation-attribute-source). 5. **Decimal Places**—(Optional, available for numeric attributes.) Enter the number of digits to show after the decimal point. 6. **Precision**—(Optional, available for numeric attributes.) Enter the total number of digits in a number. 7. **Rounding Mode**—(Optional, available for numeric attributes.) Select how to round the number when it can’t be stored exactly. 8. **Default Value**—(Optional.) Select or enter a default value for the field. 9. **Groovy Script on Update**—(Optional.) Select a Groovy script to run when users update the field value. For example, you can run a script that triggers a validation or sends a notification. For details on Groovy scripts, read [About Groovy](/v1/docs/about-groovy). 10. (Optional.) Turn on the following switches to control the field properties: **Mandatory**, **Hidden**, and **Read-Only**. 5. Select **Add**. ### Define a business relation attribute source To add a field with predefined selectable values (a business relation attribute), create an attribute source. An attribute source is a lightweight object that stores values users can select from the dropdown list of a field related to your BRA. To define a custom lightweight object: 1. From the application left navigation area: - In the classic view, select **Schema Extensibility**. - In the new UI, select **Settings** > **Schema Extensibility**. 2. From the top navigation bar, select **Master Data Management**. 3. Select ![Plus sign](https://cdn.document360.io/24f960e8-3c1c-4c18-a2c6-83b6ae4aab84/Images/Documentation/add_42dp_1A1A1A%20(1).png?sv=2026-02-06&spr=https&st=2026-11-11T12%3A16%3A54Z&se=2026-11-11T13%3A16%3A54Z&sr=c&sp=r&sig=xNmA6sGayWeKL3ac0t3ESxPASyKVyOprm6ryh4%2Fw1hI%3D). 4. In the **Create New Custom Business Type** dialog, enter information to define a field type: - **Name**—Enter a system name for the object. - **Label**—Enter a display name for the object to display in the UI. 5. Select **Create**. 6. Define object values that will appear in the field dropdown list. Follow these steps for each object value you want to add: 1. On the **Master Data Management** tab, select the object. 2. Select ![Plus sign](https://cdn.document360.io/24f960e8-3c1c-4c18-a2c6-83b6ae4aab84/Images/Documentation/add_42dp_1A1A1A%20(1).png?sv=2026-02-06&spr=https&st=2026-11-11T12%3A16%3A54Z&se=2026-11-11T13%3A16%3A54Z&sr=c&sp=r&sig=xNmA6sGayWeKL3ac0t3ESxPASyKVyOprm6ryh4%2Fw1hI%3D), then select the newly added row. 3. On the **Configuration** tab, enter information to define the object value: - **Name**—Enter a value name. - **External Id**—(Optional.) Enter the ID of the value. - **ERP Id**—(Optional.) Enter the ERP ID of the value. 4. Select **Save**. 5. (Optional.) On the **Localisation** tab, in the **Label** field next to the needed languages, enter a translation of the value name. Then select ![Save](https://cdn.document360.io/24f960e8-3c1c-4c18-a2c6-83b6ae4aab84/Images/Documentation/CPQ%20icon%20-%20Save.png?sv=2026-02-06&spr=https&st=2026-11-11T12%3A16%3A54Z&se=2026-11-11T13%3A16%3A54Z&sr=c&sp=r&sig=xNmA6sGayWeKL3ac0t3ESxPASyKVyOprm6ryh4%2Fw1hI%3D) to save the changes. ## Add an attribute as a field to the UI To add an attribute as a field to the UI, read [Add fields and columns to the UI](/v1/docs/add-fields-and-columns-to-the-ui). ![Icon Next](https://cdn.document360.io/24f960e8-3c1c-4c18-a2c6-83b6ae4aab84/Images/Documentation/icon%20Next.png?sv=2026-02-06&spr=https&st=2026-11-11T12%3A16%3A54Z&se=2026-11-11T13%3A16%3A54Z&sr=c&sp=r&sig=xNmA6sGayWeKL3ac0t3ESxPASyKVyOprm6ryh4%2Fw1hI%3D) Next