# Custom objects and attributes

> Define record types and typed fields for information that does not fit standard CRM records.

Source: https://docs.graph8.com/data/custom-objects/

Custom objects let administrators define record types such as Projects, with labels and attributes appropriate to the information your organization stores. Open **Data → Custom objects**.

## Create a record type

1. Choose **Create object**.
2. Enter the **Singular label** and **Plural label** your team will see.
3. Choose an **API name** that can remain stable. The edit form keeps this name read-only after creation.
4. Save, then find the object in the list and open its attributes.

## Add attributes

1. Open an active object from the list.
2. Choose **Create attribute**.
3. Enter the **Field label**, **Attribute API name**, and **Description**.
4. Select a **Field type** and complete its configuration. The form changes to match the selected type.
5. Set **Required**, **Unique values**, or **Allow multiple values** as appropriate, then save.

Choose field types and uniqueness requirements before importing or creating records. They determine which values the object accepts.

## Edit, archive, and restore

The objects list shows the API name and whether the object is **Active** or **Archived**. Users with management access can edit labels or use **Archive** and **Restore**. Review the confirmation before archiving a record type used by other processes.

## Access and errors

Creation and management controls depend on administrator access. If a save fails, read the validation message and correct the field rather than repeatedly submitting the same values. A failed load offers a retry; check your access if the error persists.

## Related

- [Custom fields on standard records](https://docs.graph8.com/data/custom-fields/)
- [Contacts](https://docs.graph8.com/data/contacts/)
- [Companies](https://docs.graph8.com/data/companies/)
- [API reference](https://docs.graph8.com/developers/)
