xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField SalesCRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Entity Reference/Collaborator — entity reference
REFERENCE · Last reviewed

Collaborator — entity reference

A named participant on a record, carrying a team role and an intended access level. It is entity-agnostic by design - rows are keyed by the polymorphic pair of Record and Related Entity Name rather than by a foreign key - but the AddTeamMember and RemoveTeamMember server actions that create and retire them are registered on Case only in first-party metadata, so in practice these are case team members. Be careful with Access Level: no first-party record-level security rule reads it, so adding a collaborator does not by itself grant that person Read or Edit on the record; enforcement would have to come from a tenant-authored security rule. Record merge re-points collaborators onto the surviving record.

Fields

FieldLabelTypeRequiredWhat it does
AccessLevelAccess LevelPickListRead or Edit, expressing the access the collaborator is meant to have, and defaulted to Read when a row is created without one. No first-party record-level security rule reads it, so on its own it grants nothing - a tenant would have to author a security rule that references it. Values: Read, Edit.
IsPrimaryPrimaryBooleanYesMarks one team member as the primary one. It is set only from the argument passed to the add-team-member action; nothing reads it afterwards, and nothing enforces that at most one row per record carries it.
RecordIdRecordLookup → CaseYesThe record this collaborator belongs to, stored as a bare identifier with no foreign key behind it. It is only meaningful together with the related entity name, since identifiers from different entities share this one column.
TeamRoleTeam RolePickListDefaults to Collaborator when a row is created without one. Seeded choices are Owner, Collaborator and Observer, and no first-party code behaves differently depending on which is chosen - it is descriptive only. Values: Owner, Collaborator, Observer.
UserIdUserLookup → UserAccountYesThe user identity the row is recorded against; it is supplied as an argument to the add-team-member action and is required. Removal matches on this together with the record, so removing a team member soft-deletes every row for that user on that record.

Actions

ActionLabelTypeWhat it does
CloneCloneServerAction (Clone)Create a copy of this record
EditInLineEditEditInlineEdit in page.
  • Case — looks up via CaseId