> ## Documentation Index
> Fetch the complete documentation index at: https://docs.campground.fyi/llms.txt
> Use this file to discover all available pages before exploring further.

# Manage custom entity records and relationships

> Create, edit, filter, and export records for your custom entity types, and link them to profiles, teams, and other records with relationships.

Custom entities let you track any category of record your organization needs beyond profiles, teams, and jobs. Common examples include "Projects", "Partnerships", or "Grants". Once you've defined a custom entity type, Campground gives you a full record workspace: a filterable table, a detail page for each record, inline editing, relationships to other records, and CSV or Excel export.

<Note>
  Managing custom entity records requires admin or sub-admin access. Before you
  can add records, an admin must create the entity type and its fields at
  **Settings > Entity Types**. See [Custom fields](/admin/custom-fields#custom-entity-types)
  for how to set up entity types.
</Note>

## Viewing records

Each custom entity type gets its own list view in the admin sidebar. Open it to see all records for that type in a table where you can:

* **Filter** on any field, including relationship fields, using the same filter operators as the Contacts table (contains, is any of, is empty, and so on)
* **Sort** by any column
* **Reorder and resize columns** — your column layout is remembered
* **Share a view** — copy a link that reproduces your current filters, sorting, and columns so a colleague sees the same slice of data

Selecting a record opens its detail page, which shows every field value and the record's relationships.

## Creating and editing records

<Steps>
  <Step title="Open the entity's list view">
    Select the custom entity type in the admin sidebar.
  </Step>

  <Step title="Add a record">
    Select **Add** to open the record form. Fill in the entity's fields and save. The form validates required fields before the record is created.
  </Step>

  <Step title="Edit a record">
    You can edit in two places:

    * **Inline in the table** — change a field value directly in the cell.
    * **From the detail page** — select **Edit** to open the full record form.
  </Step>
</Steps>

### Concurrent edit protection

If someone else changes a record while you're editing it, Campground does not silently overwrite their work. The form highlights the fields that changed elsewhere so you can review the saved values before deciding to save again and replace them.

### File fields

File and image fields on custom entity records enforce the accepted file types and maximum size configured for the field, and show a clear error if an upload doesn't qualify. Uploaded files display as a compact link that opens the file in a new tab, the same way file answers appear on form submissions.

## Deleting records

Open a record's detail page and select **Delete**. Deleting a record also removes its field values and relationships, so Campground asks you to confirm first.

## Relationships

Relationships link records together. A custom entity record can be related to other custom entity records, to member profiles, or to teams. For example, a "Project" record can be linked to the profiles of its contributors and to the team that owns it.

### Defining a relationship

Relationship definitions are managed per entity type:

<Steps>
  <Step title="Go to Settings > Entity Types">
    Select the entity type you want to add a relationship to.
  </Step>

  <Step title="Add a relationship">
    In the **Relationships** section, select **Add Relationship**.
  </Step>

  <Step title="Configure the definition">
    Set a name and label, choose the target entity (another custom entity type, profiles, or teams), and pick a cardinality:

    | Cardinality | Meaning |
    | - | - |
    | One to One | One source record links to one target record |
    | One to Many | One source record links to many target records |
    | Many to Many | Many source records link to many target records |

    Optionally mark the relationship as **bidirectional** to show it on both the source and target record pages.
  </Step>
</Steps>

Deleting a relationship definition warns you if existing relations use it, since those links are removed along with the definition.

### Linking records

On a record's detail page, each relationship definition appears as its own section:

1. Select **Add** in the relationship section.
2. Search for the records, profiles, or teams you want to link. One-to-one relationships accept a single selection; many-sided relationships accept multiple.
3. Confirm to save the links.

To remove a link, select the remove action next to the related record and confirm. Bidirectional relationships also appear on the counterpart record, so a Project linked to a profile shows up on that profile's side as well.

## Exporting records

You can export the current view of a custom entity table as a **CSV** file or an **Excel workbook**. The export respects your active filters, so filter first if you only need a subset of records.

## Activity logging

Custom entity and relationship changes are recorded in the [activity log](/features/activity-analytics):

* `custom_entity.create`, `custom_entity.update`, and `custom_entity.delete` for record changes, with one entry per logical edit
* `relationship.update` for relationship changes

These entries are part of the admin workflow activity that ordinary members don't see. See [activity visibility](/features/activity-analytics#admin-workflow-activity-visibility) for details.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.