Published at: 2026-09-17
Create custom objects
When the standard objects provided by the system cannot meet specific business requirements, administrators can create custom objects directly through Setup or import them from an Excel template.
Overview
Creating custom objects helps enterprises extend their data modeling capabilities. The system provides two creation methods:
- Manual creation: Suitable for building an object from scratch by adding fields and relationships one by one.
- Import from Excel: Suitable for scenarios where you already have a clear field list or need to migrate data from a legacy system and want to batch-generate objects with dozens of fields.

Before you begin
Before configuration, confirm the following:
- You have the Object Management permissions in Setup.
- You have prepared the business definition, API name, required-field rules, and relationship mapping for the object.
- The remaining custom object quota for the current system edition is sufficient.
Method 1: Create an object directly in Setup
Step 1: Open custom object management
- Log in to the enterprise admin console.
- Go to Setup > Object Management > Custom Object Management.
- Click Create in the upper-right corner of the page.
Step 2: Configure basic object information
On the Create Custom Object page, configure the basic properties of the object.
| Property | Description | Recommendation |
|---|---|---|
| Object name | The display name shown in the front end and back end. Must be unique within the same tenant | Use a name that business users understand, such as Delivery Note |
| API name | The development identifier for the object, used by functions, APIs, and integration logic | Keep the system-generated value unless development requirements exist |
| Status | Controls whether the object is visible in the front end | Set to Disabled during configuration, then enable it after setup is complete |
| Description | Describes the business purpose of the object | Specify the object scope and applicable scenarios |
| Object icon | The icon displayed in the front-end menu or list | Choose an icon that aligns with the business meaning |

The
API name must follow these rules:- Must start with an English letter.
- Only English letters, digits, and underscores are allowed.
- Custom object API names must end with
__c. - Underscores must not appear consecutively except for the trailing
__c. - Maximum length is 38 characters.
[!TIP] TheAPI nameis primarily used for development and system integration. Changing it after the object goes live affects functions, APIs, and external integration references. Do not modify it manually unless you have specific development requirements.
Step 3: Configure optional features
Optional features determine whether the object supports collaboration, search, follow-up activities, and auditing. Enable them carefully based on your business scenario.
| Optional feature | Capabilities when enabled | Impact when disabled | Key restrictions |
|---|---|---|---|
| Related team | The object supports related teams and related-team data permissions | No related team component or related team button | Cannot be disabled after historical data exists |
| Global search | The top global search bar, list page full-field search, and dynamic related-business search can find this object | The object is excluded from global search and related-business search | Child objects do not support global search |
| Follow-up activity | The details page supports follow-up activities. Sales records can be written on both web and mobile | No follow-up activity component on the details page. Sales records cannot reference this object | After re-enabling, verify that the details page layout displays the component |
| Modification history | The details page shows field change history and audit records | Modification history is not recorded for this object | History during the disabled period is not retained after re-enabling |
When you enable Related team, the system activates the following capabilities:
- A Related Team Data Permission tab is added.
- The Related Team component becomes available on the details page.
- The standard buttons Add Related Team Member, Edit Related Team Member, and Delete Related Team Member take effect.
- The standard scenarios I Participate In and My Subordinates Participate In become available for this object.
- Import templates and export capabilities can include related-team fields.
[!WARNING] You cannot disable Related team after historical data exists. Before enabling it, confirm that the object truly requires multi-user collaboration and team-based authorization.
After you enable Global search, front-end users can search for this object’s data in the top search bar.

The object list page also supports full-field search.

When creating a sales record, log, or schedule, users can search for this object’s data in the Related Business Data section.

After you enable Follow-up activity, the follow-up activity component appears on the details page of this object.


After you enable Modification history, the details page shows field value changes, the operator, and the operation time.

Step 4: Configure the primary attribute field
The primary attribute field identifies each object record. It serves as the record title and commonly appears in the details page title, list primary column, and lookup relationship field display.
The primary attribute supports the following types:
| Primary attribute type | Applicable scenario | Key configuration |
|---|---|---|
| Auto number | The system automatically generates a business number | Prefix, suffix, date or field insertion, starting value, number of digits, recount rule |
| Text | Users manually enter a name or scan a barcode | Allow duplicates, manual entry, barcode recognition entry |
To configure an auto number, follow the business numbering rules:
- In Primary Attribute Field Settings, select Auto Number.
- Set the number prefix, suffix, or date field insertion.
- Set the starting value.
- Set the number of digits.
- Choose whether to recount by year.

To configure a text primary attribute, set whether duplicates are allowed and whether barcode entry is supported.
[!NOTE] The number of digits does not cap the number. When the number exceeds the configured digit count, the system continues to increment.
Step 5: Save the object
- Review the basic object information, optional features, and primary attribute configuration.
- Click OK at the bottom of the page.
- Return to the Custom Object Management list.
- Search for the new object and confirm that it has been created.
After creating the object, complete the following configuration:
- Add business fields.
- Configure the details page, form page (create and edit page), and list page layouts.
- Assign object permissions and field permissions.
- Configure record types, rules, and object relationships.
Step 6: Configure the object display field (optional)
The object display field replaces the primary attribute as the title in all positions where the system displays the primary attribute by default. For example, a product after-sales service object can use “Product Name + Serial Number” as the display title.
- In the Custom Object Management list, open the target object.
- Go to Basic Information.
- Click Edit.
- At the bottom of the page, open Object Display Field Settings.
- Select the fields that should replace the primary attribute display.
- Save the configuration.



[!WARNING] You cannot disable the object display field after enabling it. This setting replaces the primary attribute in all fixed display positions across the system, including lookup relationship field display and details page titles. When historical data exists, consider using a formula as the display field.
Method 2: Import a new object from an Excel file (gradual rollout feature)
When you need to create an object with a large number of fields, importing from an Excel template significantly reduces configuration time.
Step 1: Open the import entry and download the template
- Go to Setup > Object Management > Custom Object Management.
- Click Create from Spreadsheet in the upper-right corner.

- In the import dialog box, download the official Excel template.
Step 2: Fill in the template data
Open the template Excel file and fill in the object and field metadata as required:

- Row 1 (Object name): Enter the object name in Chinese. To create multiple objects at once, create multiple sheets and fill in one object per sheet.
- Row 2 (Object API name): Enter the custom object API name following the API name naming rules.
- Row 4, column 2 onward (Field name): Enter the name of each field to create, one per row.
- Row 4, column 3 (Field API name): Enter the custom field API name. If you omit the
__csuffix, the system auto-appends it during import. - Row 4, column 4 (Field type): Enter the field type name. The template supports dropdown selection. The system performs smart mapping for common aliases. See the table below for the mapping details.
- Row 4, column 5 (Required): Select “Yes” or “No” from the dropdown.
- Row 4, column 6 (Option values): Valid only when the field type is Single Select or Multi-Select. Enter the candidate values separated by semicolons
;. - Row 4, column 7 (Related object API name): If the field type is Lookup Relationship or Master-Detail Field, enter the API name of the target related object.
- Row 4, column 8 (Help text): Enter the guidance text shown to front-end users when they fill in this field.
[!WARNING] Import limitations and notes: - Do not modify the column order or header names in the import template. Otherwise, parsing fails. - The uploaded Excel file must be smaller than 5 MB. - The total number of fields created in a single import must not exceed the per-object custom field limit of the current system edition.
Step 3: Field smart mapping reference
To ensure import compatibility, the system maps various synonyms entered in the template to standard system field types:
| # | Excel entry (case-insensitive) | Mapped system field type |
|---|---|---|
| 1 | Text, single-line text | Single-line text |
| 2 | Text area, long text area, text area (long), text field, multi-line text | Multi-line text |
| 3 | Rich text, text area (RTF) | Rich text |
| 4 | Single select, option list | Single select |
| 5 | Multi-select, option list (multiple choice) | Multi-select |
| 6 | Number, integer, real number | Number |
| 7 | Currency, amount | Amount |
| 8 | Date | Date |
| 9 | Time | Time |
| 10 | Date/time, datetime | Date/Time |
| 11 | Phone, mobile phone | Mobile phone |
| 12 | Image, picture | Image |
| 13 | File, attachment | Attachment |
| 14 | Email, mail, mailbox | |
| 15 | Boolean, checkbox, bool | Boolean |
| 16 | Formula, calculated type, formula field | Formula |
| 17 | Lookup, lookup relationship, relationship, relation | Lookup relationship |
| 18 | Percent, percentage | Percent |
| 19 | URL, web address | URL |
| 20 | Auto number, auto-number | Auto number |
| 21 | Department | Department |
| 22 | Department multi-select | Department (multi-select) |
| 23 | Person, personnel | Personnel |
| 24 | Personnel multi-select | Personnel (multi-select) |
| 25 | Geolocation, location | Location |
| 26 | Child detail, master-detail field, master-detail relationship | Master-detail field |
Step 4: System-level duplicate name and relationship field logic
- Duplicate name ignored: If a field API name in the Excel file matches a standard system field API name, the system skips that row and does not create a duplicate. Standard system field API names include:
record_type(Record type)created_by(Created by)create_time(Create time)last_modified_by(Last modified by)last_modified_time(Last modified time)life_status(Life status)owner(Owner)owner_department(Owner primary department)
- Relationship field auto-rules:
- Lookup relationship: During import, the system auto-generates the related list API name. The related list title defaults to the display name of the current object, and the selectable data scope defaults to “All”.
- Master-detail relationship: The details page related list title defaults to the display name of the current object. The system auto-generates the related list API name. “Whether the child object is required when creating the parent object” defaults to “No”.
Step 5: Upload and confirm data
- On the Create from Spreadsheet page, select and upload the completed Excel file.
- After upload, the system opens the Object Layout Designer preview.
- In this interface, you can review the parsed fields, types, and required attributes. You can also edit or delete incorrect fields.
- After confirming that all fields are parsed correctly, click Import at the bottom of the page.

Expected results and verification
- Creation status verification: After import or manual creation, search for the object in the custom object management list. The status should display as “Enabled” or “Disabled”.
- Field list verification: Open the object management details page and review the Fields and Relationships list. Confirm that all imported fields are generated correctly and that the API names and field types match the template design.
Related topics
- Manage custom objects
- Field overview
- Field type reference