Relations
Create and manage relations between specific records using association definitions to link individual records across objects.
Relations create the actual links between specific records. If Associations says “Contacts can own Properties,” Relations is where you say “John Smith owns 123 Main Street.” This is the data connectivity layer of custom objects.
What This MCP Tool Does
This tool creates, retrieves, and deletes specific record-to-record links within defined association types. Once an association exists between two object types, you use Relations to connect individual records.
Endpoint Reference
Create a relation:
POST /objects-association/{associationId}/relations
Link a specific record to another record under a defined association type.
Get relations for a record:
GET /objects-association/relations/{recordId}
Retrieve all records linked to a specific record.
Delete a relation:
DELETE /objects-association/relations/{relationId}
Remove a specific link between two records.
Authentication
Requires a Private Integration Token (PIT) with the custom-objects or equivalent scope enabled.
Key Parameters
When creating a relation:
associationId— which association type this relation belongs to (from Associations)- Source record ID
- Target record ID
When querying relations:
recordId— the record to find all connections for- Returns all linked records regardless of direction
Important Notes
Relations require a valid association to exist first. You cannot link two records if no association has been defined between their object types.
Querying relations for a record returns all connected records. For a contact with multiple properties, querying the contact’s relations returns all linked property records. This is how you build the “full picture” of a contact’s related data.
Deleting a relation removes the link but does not delete either record. The records continue to exist independently.
For agencies building custom dashboards, relations power the “related records” view. When viewing a contact, you can pull their related properties, vehicles, policies, or whatever custom objects are linked. This transforms GHL from a flat CRM into a relational data platform.
Common Questions
Can a record have relations to multiple other records? Yes. A contact can be linked to multiple properties, multiple vehicles, or any number of records across different custom object types.
Can I query all relations for a specific association type? Query by record to see that record’s relations, which include the association type in the response. For all relations under an association type, you would iterate through records.
What happens to relations when I delete a record? Check the platform behavior for cascade delete. Relations may be automatically removed when a participating record is deleted, or they may become orphaned references.
Related MCP Tools
- Associations — Define relationship types before creating relations
- Object Records — Records that participate in relations
- Contact CRUD — Contacts commonly linked through relations
- Opportunity CRUD — Opportunities can also participate in relations