Skip to main content

Custom object definitions

Zuora

Custom object definitions

The Data Model feature is In Development.

Zuora Data Model provides the service to define custom objects. You can extend the Zuora data model to accommodate your specific use cases with custom objects.

This article describes how to view, create, update, and delete custom object definitions through UI. Once a custom object definition is created, you can create custom object records of this type. See Custom object records for more information.

If you want to access custom object definitions by API, see Custom Object Definitions in Zuora API Reference.

View custom object definitions

To view custom object definitions:

  1. Navigate through Platform > Data Model.
  2. Click the CUSTOM OBJECTS tab. The list of custom objects will be displayed.
  3. Input the custom object name in the search box.
  4. Click the object name in the list of the search result and the custom object details will be displayed.

Create a new custom object definition

To create a new custom object definition:

  1. Click + at the top right corner in the custom object list view.
  2. Fill in the information on the new custom object page. The Name and API Name fields of the custom object are required.
  3. Click + NEW CUSTOM FIELD.
    • You must create at least one custom field for a new custom object.
    • You can add at most 50 custom fields to a custom object.
    • All custom fields in a custom object are indexed.
  4. Input the information of the custom field on the Custom Field page.
    NewCustomFieldsForNewCustomObjects.png
    • Field Name: The custom field name displayed on UI. The field name is required.
    • API Name: The API name of the custom field. The API name must end with __c and cannot be edited once created. The API name is required.
    • Description: The description of the custom field.
    • Field Type: Select a field type for the new custom field. See the following possible values of the field type. The field type cannot be changed once the custom field is created.
      • Text: You can define the default value for a text type custom field.
      • Number: You can define the default value for a number type custom field.
      • Boolean: You can select the default value for a boolean type custom field.
      • Date: You can define the fault value for a date type custom field.
      • Date and Time: You must enter the values for both date and time if you want to define the default value for a date and time type custom field. 
      • Picklist: You must add at least one option for a picklist type field. You must make sure every picklist value is unique when you fill in picklist values. The picklist value is case-insensitive. For example, "Business" and "BUSINESS" are treated as the same value and cannot both be added. You can set a default value for a picklist type custom field.
      • Relationship:
        • You must select the Namespace for a relationship type field. The com_zuora namespace houses Zuora objects and the default namespace houses the custom objects.
        • You must select the Object Name of the object that this custom field is related to.
        • Each custom object can contain at most 2 relationship type custom fields.
        • The relationship between a custom object and its related object is many-to-one. For example, a custom object of Vehicles could have many records that are related to one Subscription.
        • Relationships can be established with Zuora objects or other custom objects.
        • The relationship field usually stores the related object's UUID only except for Subscription Name and Rate Plan Charge Number as both of them are unique.
        • Relationship type fields can only be added when you create a new custom object. Once the object is created, you cannot add any relationship type field to it anymore.
    • Required: If you select Required, Zuora will require you to specify a value for this custom field when creating the custom object.
  5. Click Save and the new custom field will be displayed in the field list on the new custom object page.
  6. Repeat step 3-5 until you add all the custom fields to the custom object.
  7. Click Save on the new custom object page.

The new custom object definition will be displayed in the custom object list view.

Note that you should not store PCI, sensitive PII, or other regulated data in custom objects. See Responding to individual requests for access, correction, and deletion of data under applicable privacy laws for more information.

Update a custom object definition

You can add new custom field definitions into or delete existing custom field definitions from a custom object definition.

To add a new custom field definition to a custom object definition:

  1. Click + NEW CUSTOM FIELD on the custom object detail page.
    • A custom object can contain at least 1 and at most 50 custom fields
    • All custom fields in a custom object are indexed.
  2. Input the information of the custom field on the Custom Field page. The Field Name and API Name are required.
  3. Click Save and the new field will be displayed in the field list on the custom object detail page.
  4. Click UPDATE on the custom object detail page. 

Note that you cannot add a Required custom field to an existing custom object.

To delete an existing custom field definition from a custom object definition:

  1. Click the trash can icon on the right side of the field on the custom object detail page.
  2. Click YES on the confirmation dialog and the field is deleted from the field list on the custom object detail page.
  3. Click UPDATE on the custom object detail page.

Note that you can only delete field definitions for custom object definitions that contain no records.

Delete a custom object definition

To delete a custom object definition:

  1. Click the trash can icon on the right of the custom object in the custom object list view.
  2. Click YES in the confirmation dialog.

Note that you can only delete the custom object definitions that contain no custom object records. See Custom object records for more information.