---
title: Custom objects | Lightfield
description: Create your own record types, such as Campaigns, Vendors or Projects, and use them alongside accounts, contacts and opportunities.
---

A custom object is a record type of your own, such as Campaigns, Vendors or Properties, that sits alongside accounts, contacts and opportunities. Use one when you need to track something the built-in records don’t represent.

For example:

- **Campaigns**, to track marketing efforts across many accounts
- **Vendors**, to keep suppliers separate from customer accounts
- **Properties**, for real estate teams tracking listings
- **Projects**, to organize work that spans several accounts

Once it’s created, a custom object works like a built-in one. You can add records and fields, link it to other objects, filter and sort its table, add its records to [lists](/help/lists/index.md), attach [files](/help/files-and-attachments/index.md), and give it a [pipeline](/help/settings/pipelines/index.md) with its own stages.

## Who can use it

Custom objects are on every plan. Owners and admins create and edit custom objects, their fields and their relationships. Other roles don’t see **Create new**, and the edit and archive actions are turned off for them.

Everyone in the workspace can see a custom object and its records by default. On Enterprise, admins can set who can create, edit or delete its records on the object’s **Permissions** tab. Do not use an edit restriction as a privacy setting. See [Groups and permissions](/help/settings/members/roles-and-permissions/index.md) and [Privacy and access](/help/privacy-and-access/index.md).

[Formula fields](/help/settings/data-model/formula-fields/index.md) are on Enterprise. [Dashboards](/help/dashboards/index.md) are on Pro, Growth and Enterprise.

Earlier plans can differ. [Check your workspace’s available features](/help/missing-feature/index.md).

## Choose an object, field or list

- Use a field for one value on a record, such as an account’s campaign source.
- Use a [list](/help/lists/index.md) for a group of existing records, such as webinar attendees.
- Use a custom object for something with its own fields and relationships, such as a campaign with a budget, dates and target accounts.

## Create a custom object

1. Go to [Settings → Data model](https://crm.lightfield.app/crm/settings/data-model/) and select **Create new**.
2. Enter the **Singular label**, such as `Campaign`. It’s required. Select the icon next to it to choose how the object looks across the app.
3. Check the **Plural label**, filled in from the singular label, such as `Campaigns`. Change it if the automatic plural is wrong.
4. Optionally add a **Description** of what the object is for.
5. Check the **Slug (used to identify your objects in the URL)**, generated from the singular label, such as `campaign`. You can’t change the slug after the object is created, so fix it now if you need to.
6. Select **Create**.

The new object appears in the Data model list, ready for fields and relationships.

Or ask the agent in chat: “Create a Vendors object with a contract end date field.” The agent shows you what it plans to create before anything changes.

## What every custom object includes

Each custom object starts with a **Name** field and system fields such as **Created at** and **Last interaction**.

It also has built-in relationships to **Notes**, **Tasks**, **Files** and **Lists**, and an owner. Lightfield manages these relationships, and they can’t be removed. To connect the object to accounts, contacts or other custom objects, see [Custom object relationships](/help/custom-objects/relationships/index.md).

## Set up the object

Open the object in [Settings → Data model](https://crm.lightfield.app/crm/settings/data-model/). Its settings are split into tabs:

- **Fields**: add and edit fields, the same way as on a built-in object. See [Data model](/help/settings/data-model/index.md).
- **Relationships**: link it to other objects. See [Custom object relationships](/help/custom-objects/relationships/index.md).
- **Display**: arrange how fields appear on records, and use **Sidebar menu visibility** to show or hide the object in the sidebar. See [Display](/help/settings/data-model/display/index.md).
- **Permissions**: shown on Enterprise, to control who can create, edit or delete the object’s records.

### Example: track campaigns

Ask the agent: “Create a Campaign object with Channel, Budget, Start date and End date, linked many to many to accounts.” Review its proposal before approving.

For manual setup, create **Campaign** using the steps above, then use **Fields** for Channel (**Single select**), Budget (**Currency**), and the two dates (**Date & Time**). Use **Relationships** to link campaigns to accounts and **Display** to show Campaigns in the sidebar. The linked articles above explain each setting.

Create a few records to check the model, then attach a spreadsheet in chat and ask the agent to import the rest and link their target accounts. Each account should show its campaigns.

## Edit or archive a custom object

You can edit a custom object’s labels, description and icon at any time. The slug is permanent.

If you no longer need an object, archive it from [Settings → Data model](https://crm.lightfield.app/crm/settings/data-model/). Archiving hides the object and its records from the app. You can restore the object later.

## Related documentation

After configuring the object in the app, follow [Object types](/using-the-api/object-types/#custom-objects/index.md) to use its slug and [Fields and relationships](/using-the-api/fields-and-relationships/index.md) to read and write values. See the [custom-object reference](/api/resources/object/index.md).

## Common questions

**Can I import records into a custom object?** Yes. Attach your spreadsheet in chat and ask the agent to import it into the object. It maps your columns and links records to related accounts or contacts. See [Import history](/help/settings/import-history/index.md).

**Can I merge duplicate custom object records?** Yes. Ask the agent in chat to merge them. See [Merge duplicate records](/help/accounts/merge-duplicates/index.md).

**Can I change a custom object’s URL slug?** No. The slug is set when you create the object. You can still change its labels, description and icon.

**Can I read and write custom object records through the API?** Yes. Use the [object API](/api/resources/object/index.md) with the custom object’s slug.
