This guide details the Custom Attributes framework in Zenskar. This system allows you to extend the standard data model for Customers, Contracts, and Products, ensuring the platform adapts to your specific business logic, reporting requirements, and third-party integrations.
1. Core concepts: The data extensibility framework
Custom Attributes (also referred to as Custom Fields or Metafields) are the primary mechanism for adding bespoke data points to Zenskarβs core objects.
Standard SaaS schemas often lack the granularity required for complex B2B operations. Custom attributes solve this by providing:
Structural integrity: Unlike free-text βNotesβ fields, custom attributes use defined data types (integer, boolean, etc.) to ensure data consistency across thousands of records.
Downstream automation: Attributes are assigned a permanent Property Key Name. This key acts as the technical anchor for API integrations and Webhooks to pass data to external systems like your CRM or ERP.
Governance: Admin-defined rules, such as the Mandatory Field toggle, ensure that your team captures critical information every time a new record is created.
When you open the create or edit side panel for a Customer, Contract, or Product object and select a business entity, all custom attributes configured for that entity automatically appear in the Custom Attributes section, either pre-filled with their default values or as empty fields. Review and update the pre-filled values if needed, and complete any empty fields before saving.
Immutability: Once you click ADD, the Property Key Name and Data Type become permanent. They cannot be changed or deleted later. Ensure the key name is exactly as you want it for your API/integration needs before committing.
About the slide panel: The side-panel interface is used throughout the platform to ensure a consistent experience across the Customer, Contract, and Product modules. Regardless of which object you are working with, the slide panel functionality remains identical.
Note that the naming convention for the container object varies depending on the object being accessed.
Object
API Field Name
Customer
custom_data
Contract
custom_attributes
Product
custom_attributes
Note: The Customer object uses custom_data instead of custom_attributes. This is a known inconsistency in the current API and will be aligned in a future release.