Relationships in custom objects

Last updated: May 9, 2026

Relationships connect records of different object types so they show up linked across your CRM. For example, you can link a Campaign to the Accounts it targets, or link a Vendor to the Contacts who manage that vendor relationship.

What relationships are

A relationship is a defined connection between two object types. When a relationship exists between Object A and Object B, individual records of those types can be linked to each other. The linked records appear on both sides - viewing the parent shows the linked children, and viewing the child shows its parent.

Relationships work between any combination of:

  • Two custom objects (for example Campaign → Vendor)

  • A custom object and a built-in object (for example Campaign → Account)

  • A custom object linked to itself (for example Campaign → Campaign for parent / sub-campaign hierarchy)

Types of relationships

There are three relationship types. Each fits a different shape of connection.

One-to-many

Each parent record can be linked to many child records. Each child can only belong to one parent.

Use one-to-many for parent-child structures - things like sub-campaigns under a parent campaign, accounts grouped under a parent account, or projects under a program.

You can also use one-to-many to point an object at itself. Pointing Campaign at Campaign creates a self-referencing hierarchy with sub-campaigns under parent campaigns.

Ungrouped many-to-many

Records on both sides can link to any number of records on the other side. A Campaign can target many Accounts. An Account can appear in many Campaigns.

Use ungrouped many-to-many when both sides of the connection can have multiple links and there's only one way they relate.

The relationship shows up as its own panel on each record.

Grouped many-to-many

Multiple related connections organized under a shared section header on a record.

Use grouped relationships when an object has several relationships that naturally belong together. For example, a Campaign might have an "Agency partners" section grouping relationships to both the Contacts and Accounts on the agency side. Without grouping, those would show as two separate, unrelated panels.

A grouped relationship is the right choice when:

  • You have multiple relationships pointing at related concepts

  • Showing them under one section makes the record easier to scan

  • The relationships make more sense together than apart

Plan availability and permissions

Custom objects and relationships are available on Pro and Growth plans.

Only workspace admins can create and manage relationships. Once created, relationships and their linked records are visible to all workspace members.

How to create a one-to-many relationship

  1. Go to Settings → Data model.

  2. Click on the object you want to create the relationship from (for example Campaign).

  3. Open the Relationships tab.

  4. Click Create relationship under Ungrouped relationships, or inside an existing section.

  5. Fill in the details:

  • Name on [source object] - what this relationship is called on the parent record. For example, Sub-campaigns. When you open a parent Campaign, you'll see a "Sub-campaigns" panel listing all its children. Required.

  • Cardinality - select One to many. Cardinality can't be changed after the relationship is created.

  • Target object - the object type for the child records. To create a self-referencing hierarchy, select the same object you're configuring (for example select Campaign while setting up a relationship on Campaign). Required.

  • Name on [target object] - what this relationship is called on the child record. For example, Parent campaign. Users can see which parent a child record belongs to. Required.

  1. Click Create.

[Screenshot placeholder: Create one-to-many relationship modal]

How a one-to-many relationship looks on records

The relationship appears differently depending on which side of the hierarchy you're on.

  • Parent record - shows a list of linked child records (for example "Sub-campaigns"). You can add or remove children.

  • Child record - shows a single-select field (for example "Parent campaign"). You can assign or change the one parent it belongs to.

This makes the hierarchy visually clear. The parent side shows a list of sub-campaigns. The child side belongs to one parent campaign.

Things to keep in mind for one-to-many

  • Each child record can only have one parent at a time. Assigning a child to a new parent automatically removes it from the previous one.

  • Circular references aren't allowed. A record can't end up as its own ancestor.

  • The target object and cardinality are permanent. The names on either side can be edited at any time.

How to create an ungrouped many-to-many relationship

  1. Go to Settings → Data model.

  2. Click on the object you want to create the relationship from (for example Campaign).

  3. Open the Relationships tab.

  4. Click Create relationship.

  5. Fill in the details:

  • Name on [source object] - what this relationship is called when viewed from the source record. For example, on a Campaign linking to Accounts, you might call this Target accounts. Required.

  • Cardinality - select Many to many. Records on both sides can link to any number of records on the other side. Cardinality can't be changed after the relationship is created.

  • Destination object - the object type you're linking to. This can be a built-in object (Accounts, Contacts, Opportunities) or another custom object. Required.

  • Name on [target object] - what this relationship is called when viewed from the destination record. For example, on an Account, you might call this Campaigns. Required.

[Screenshot placeholder: Create ungrouped many-to-many relationship modal]

How an ungrouped many-to-many relationship looks on records

The relationship appears in the Ungrouped relationships section on the Relationships tab of both object types in Data model settings.

On individual records, it shows up as a panel where you can add and remove linked records.

How to create a grouped relationship

Grouped relationships are created in two steps. First create the group (the named section), then add relationships to it.

Step 1 - Create the group

  1. Go to Settings → Data model.

  2. Click on the object you want to add relationships to (for example Campaign).

  3. Open the Relationships tab.

  4. Click Create group.

  5. Enter a Section name - this is what the group will be called on the record, for example Agency partners.

  6. Select the destination object - the object type these grouped relationships are linking to.

  7. Enter the group name on target - this is what the group will be called on the destination record. For example, if linking Campaign with Contacts, what should Campaigns be shown as on a Contact record page?

  8. Click Create.

The group appears on the Relationships tab with its own header.

Step 2 - Add relationships to the section

  1. Click Add relationship inside the section.

  2. Fill in the fields: relationship name and cardinality.

  3. Repeat for any additional relationships you want in this section.

For example, an "Agency partners" group can have two relationships called Advisors and Vendors, both targeting Contacts from Campaigns. This way you can see how each contact is related to the campaign - either as an advisor or vendor.

How a grouped relationship looks on records

On an individual record, a grouped relationship appears as a single named section containing all the relationships within it. Instead of separate sections scattered across the record, users see one Agency partners section with both relationship types organized together.

Managing relationships

Edit relationship names

You can edit the names on either side of a relationship at any time. The target object and cardinality are permanent.

Rename a group

Hover over the section in the Relationships tab and click the rename option.

Archive a relationship or group

Archive a relationship or section to remove it from records. Archived items can be restored.

  • To archive a relationship, archive it from the Relationships tab.

  • To archive a group, archive the section. Individual relationships within a section can also be archived independently.

Common questions

What's the difference between ungrouped and grouped relationships?

An ungrouped relationship stands on its own as a single panel on a record. A grouped relationship organizes multiple related connections under a shared section header. Use grouping when several relationships make more sense together than apart.

Can I change a relationship's type after creating it?

No. Cardinality (one-to-many, many-to-many) is permanent. The target object is also permanent. If you need a different type, archive the existing relationship and create a new one.

Can I change the destination object after creating it?

No. The destination object is permanent. Archive and recreate if you need to change it.

Can I have multiple relationships between the same two objects?

Yes. For example, a Campaign and a Contact can have two separate relationships - one called Advisors, another called Vendors. Each relationship has its own name and panel.

Can a record link to itself through a relationship?

A record can't be its own parent in a one-to-many relationship (no circular references). For many-to-many relationships pointing at the same object type, links between distinct records of the same type are allowed.

Are relationships included in exports?

Yes. Linked records appear when exporting an object's data.

Can workspace members create relationships?

Only workspace admins can create or modify relationships. All members can see linked records and add or remove links on individual records, but the relationship structure itself is admin-managed.