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/Case — entity reference
REFERENCE · Last reviewed

Case — entity reference

A customer-reported issue or request tracked through an 11-state lifecycle (New, Assigned, In Progress, On Hold, Waiting on Customer, Waiting on Third Party, Escalated, Resolved, Closed, Reopened, Cancelled). Status-transition legality is NOT hardcoded: it is enforced by seeded, admin-editable Business Rules (OnPhaseTransition + BlockSave). The handler enforces field requirements (resolutionSummary to resolve, closeReason to close), stamps lifecycle dates, and writes status/assignment changes as system Activities so the timeline is the single chronological stream. On create it applies the matching SLAPolicy (child CaseMilestone timers, CaseSLAEvent audit rows) and records an acknowledgement email activity. Server actions cover close/reopen/escalate, Omni-Channel routing to a Queue, SLA pause/resume, merge/duplicate, and conversion to Lead or Opportunity.

Fields

FieldLabelTypeRequiredWhat it does
AccountIdAccountLookup → Account
AccountNameAccount NameText
AssetIdAssetLookup → Asset
AssignedToIdAssigned ToLookup → UserAccountThe working owner of the case (the agent handling it) - distinct from the base OwnerId record owner. Assignment changes are recorded on the case timeline; Omni-Channel routing sets it via the routed ResourceWork.
BranchIdBranchLookup → Branch
BusinessHoursIdBusiness HourLookup → BusinessHours
CaseNumberCase NumberText, uniqueHuman-facing case number, assigned on create from the platform document number (falls back to a deterministic id-based CASE-XXXXXXXX). Distinct from Name only in intent; the handler reuses Name when present.
CaseReasonCase ReasonPickListValues: Installation, Equipment Complexity, Performance, Equipment Design, Feedback.
CaseSourceCase SourcePickListValues: Voice / Call, Email.
CategoryCategoryPickListValues: Service, Refund, Safety, Billing.
ClosedWhenCreatedClosed When CreatedBooleanYesCreate-closed shortcut for one-touch resolutions logged after the fact: when true on insert, the handler sets Status to Closed and stamps DateTimeClosed immediately.
CloseReasonClose ReasonPickListValues: Resolved, Duplicate, No Response from Customer, Not Reproducible, Works as Designed, Cancelled.
ConfigurationItemIdConfiguration ItemLookup
ContactEmailContact EmailText
ContactIdContactLookup → Contact
ContactNameContact NameText
ContactNumberContact NumberText
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
CsatScoreCSAT ScoreNumber
CustomerTierCustomer TierPickListValues: Platinum, Gold, Silver, Bronze.
DateTimeClosedDate/Time ClosedDateAndTime
DateTimeOpenedDate/Time OpenedDateAndTime
DescriptionDescriptionLongMultiLineText
DocumentDateDocument DateDateAndTime
EntitlementIdLeave EntitlementLookup → LeaveEntitlement
EscalatedEscalatedBooleanYes
FirstResponseDateFirst Response DateDateAndTime
FirstResponseDueFirst Response DueDateAndTime
IdIdGuidYes
MasterCaseIdMaster CaseLookup → CaseSet by the Merge server action on the losing duplicate: points at the surviving master case. Cases with MasterCaseId set are merged-away records; the master lists them via the FindMerged action.
MobileMobileText
ModifiedByIdModified ByLookup → UserAccountYes
NameNameTextYes
OriginCaseIdOrigin CaseLookup → Case
OwnerIdOwnerLookup → UserAccountYes
ParentCaseIdParent CaseLookup
PartnerAccountIdPartner AccountLookup → Account
PerformCreateLeadPerform Create LeadBooleanYes
PerformCreateOpportunityPerform Create OpportunityBooleanYes
PhonePhoneText
PriorityPriorityPickListValues: High, Medium, Low.
ProductIdProductLookup
QueueIdQueueLookup → QueueThe Omni-Channel Queue the case routes through. The RouteCase action requires this (or an explicit queueId/resourceId argument) and hands the case to the routing service, which picks an agent per the queue's RoutingModel.
RecordTypeIdRecord TypeGuid, hidden
RemarksRemarksText
ReopenedReopenedBooleanYes
ResolutionDateResolution DateDateAndTime
ResolutionDueResolution DueDateAndTime
ResolutionSummaryResolution SummaryText
ResourceIdResourceLookup → Resource
ServiceContractIdService ContractLookup
ServiceOrderIdService OrderLookup → ServiceOrder
SeveritySeverityPickListValues: Critical, High, Medium, Low.
SLAPolicyIdSLA PolicyLookup → SLAPolicyThe SLAPolicy the engine matched and applied on create (highest-rank active policy whose MatchFormula is true). Drives FirstResponseDue/ResolutionDue and the CaseMilestone timers.
SlaStatusSLA StatusPickListRollup of the SLA engine's view of the case (OnTrack / Warning / Breached / Met / Paused) for quick filtering and the console badge; the per-milestone truth lives in CaseMilestone rows. Values: OnTrack, Warning, Breached, Met, Paused.
StatusStatusPickList11-state lifecycle picklist: New, Assigned, In Progress, On Hold, Waiting on Customer, Waiting on Third Party, Escalated, Resolved, Closed, Reopened, Cancelled. Transition legality is enforced by seeded, admin-editable Business Rules (OnPhaseTransition + BlockSave), not hardcoded. Resolved requires ResolutionSummary; Closed requires CloseReason. Waiting-type statuses pause the SLA clock (configurable per SLAPolicy.PauseStatuses). Values: New, Assigned, In Progress, On Hold, Resolved, Closed, Reopened, Cancelled.
StoppedStoppedBooleanYesTrue while the SLA clock is paused. Maintained by the handler from the status (pause statuses come from the matched SLAPolicy.PauseStatuses, defaulting to On Hold / Waiting on Customer / Waiting on Third Party) or explicitly via the PauseSla/ResumeSla actions. Read together with StoppedSince.
StoppedSinceStopped SinceDateAndTimeWhen the current SLA pause began; null while the clock runs. Paused time is added back to milestone targets on resume.
SubcategorySubcategoryText
SubjectSubjectText
TypeCase TypePickListValues: Incident, Problem, Question, Task.
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes
WebCompanyWeb CompanyText
WebEmailWeb EmailText
WebNameWeb NameText
WebPhoneWeb PhoneText

Actions

ActionLabelTypeWhat it does
AddTeamMemberAdd Team MemberServerAction (AddTeamMember)Adds a collaborator to the case's working team via the shared CollaborationService - collaboration state, not ownership: AssignedToId/OwnerId are unchanged.
BookAppointmentBook AppointmentServerAction (ProductDemo)Book Appointment
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
CloseSideConversationClose Side ConversationServerAction (CloseSideConversation)Closes a side conversation on the case: requires args.sideConversationId and sets the conversation's status to Closed. Returns closed=false when the conversation does not exist. It does not touch the case itself or the conversation's messages.
CloseWithReasonCloseServerAction (CloseWithReason)Closes the case: sets Status to Closed and stamps DateTimeClosed. Requires a close reason (closeReason argument or the field already set); an optional resolutionSummary argument is applied too. Returns the case id, status and close reason.
ConvertToLeadConvert to LeadServerAction (ConvertToLead)Creates a Lead from the case (carrying the case linkage via Lead.CaseId) and returns both ids. Used when a support interaction reveals new business.
ConvertToOpportunityConvert to OpportunityServerAction (ConvertToOpportunity)Creates an Opportunity from the case, linked back via Opportunity.CaseId, and returns both ids.
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete in a list page
DuplicateDuplicateServerAction (Duplicate)Creates a copy of this case via the generic record-merge engine; the copy records its source in OriginCaseId. Legacy alias: DuplicateCase.
EditEditEditEdit
EditEntityEditEditEditEntity
EditInLineEditEditInlineEdit in page.
EditInLineHeaderEditEditInlineEditInLineHeader
EmailArticleEmail ArticleServerAction (EmailArticle), hiddenEmails a KnowledgeArticle to the case's customer contact via the shared IArticleEmailService (the same entity-agnostic handler works on any entity with the action registered).
EscalateEscalateServerAction (Escalate)Sets Status to Escalated and the Escalated flag, optionally reassigning via an assignedToId argument. The escalation is recorded on the case timeline like any status change.
FindDuplicatesFind DuplicatesServerAction (FindDuplicates), hiddenFinds open records that may be duplicates of this case via the shared record-merge engine's duplicate detection - a read-only query action, typically run before Merge.
FindMergedMerged RecordsServerAction (FindMerged), hiddenRecords that were merged into this record.
FollowFollowServerAction (Follow)Subscribes the current user to change notifications for this case via the shared CollaborationService; Unfollow removes the subscription.
MergeMergeServerAction (Merge)Merges duplicate cases into this surviving master via the generic record-merge engine (IRecordMergeService; case specifics in CaseMergeExtension). Losing duplicates get MasterCaseId pointed at the survivor. The legacy MergeCase name is an accepted alias.
NewNewNewNew
PauseSlaPause SLAServerAction (PauseSla)Explicitly pauses the SLA clock: marks the case Stopped, stamps StoppedSince and logs a Paused CaseSLAEvent. Callable directly or from a macro step; pausing also happens automatically when Status enters a pause status.
RemoveTeamMemberRemove Team MemberServerAction (RemoveTeamMember)Removes a collaborator from the case's working team (shared CollaborationService).
ReopenReopenServerAction (Reopen)Reopens a finished case: only Resolved, Closed or Cancelled cases qualify. Sets Status to Reopened, flags Reopened, and clears DateTimeClosed and ResolutionDate.
ReplySideConversationReply Side ConversationServerAction (ReplySideConversation)Adds a message to an existing side conversation on the case: requires args.sideConversationId (validation fails without it) and appends a SideConversationMessage with the given body, direction (default Outbound; outbound messages get sentOn stamped), toAddress and sentByUserId. Returns the new message id; a missing/deleted conversation returns a null messageId rather than failing.
ResumeSlaResume SLAServerAction (ResumeSla)Resumes the SLA clock: clears Stopped/StoppedSince and logs a Resumed CaseSLAEvent. Milestone targets shift forward by the paused time.
RouteCaseRouteServerAction (RouteCase)Routes the case through Omni-Channel: hands it to the routing service with the case's QueueId (or queueId/resourceId arguments - one of the three is required), the channel (argument or CaseSource) and an optional required skill. Creates a ResourceWork item and returns its id, status and the picked agent's resourceId; agent choice follows the queue's RoutingModel.
RunMacroRun MacroServerAction (RunMacro), hiddenRuns a Macro's steps against this case via the generic macro engine (IMacroRunner). Macro steps can include field updates and server-action calls such as PauseSla/ResumeSla.
StartSideConversationStart Side ConversationServerAction (StartSideConversation)Opens a private side conversation on the case via the shared SideConversationService - a separate threaded exchange (e.g. with a third party) that does not sit in the customer-facing thread.
UnfollowUnfollowServerAction (Unfollow)Stop following this case.

Lookup filters

FilterLookup fieldNotes
AssetForAccountAssetId
Branch For Partner AccountBranchId
Contact for AccountContactId
Partner Account FilterPartnerAccountId
Resource FilterResourceId