Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Customer success management business rules

This section includes the Customer Success Management business rules.

Business ruleTableDescription
Domain - Set DomainEngagementSets the domain information.
Required fields for engagementEngagementValidates required fields.
State is closed or canceledEngagementEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.
Engagement is reopenedEngagementEnsures that closure information is removed and object is marked active before reopening.
Validate account change for engagementEngagementPrevent account change if the engagement has objectives, customer plays, internal plays, or risk signals associated with it.
Validate engagement parentEngagementPrevent cyclic relationship for the parents in engagement hierarchy.
Validate onboarding for engagementEngagementEnsures that the engagement account matches the account of its onboarding case and sets the go live date based on the go live date of its onboarding case.
Domain - Set DomainSuccess objectiveSets the domain information.
Required fields for objectiveSuccess objectiveValidates required fields
Validate closure for objectiveSuccess objectiveEnsures that closure information is populated and object is marked inactive before marking closed/canceled.
Success objective is reopenedSuccess objectiveEnsures that closure information is removed and object is marked active before reopening.
Validate engagement change for objectiveSuccess objectivePrevents engagement change if the objective has outcomes or risk signals associated with it.
Validate planned start and stopSuccess objectiveEnsures planned stop date isn’t before planned start date.
Domain - Set DomainSuccess outcomeSets the domain information.
Required fields for outcomeSuccess outcomeValidates required fields.
Validate closure for outcomeSuccess outcomeEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.
Success outcome is reopenedSuccess outcomeEnsures that closure information is removed and object is marked active before reopening.
Validate objective change for outcomeSuccess outcomePrevents objective change if the outcome has initiatives or risk signals associated with it.
Validate planned datesSuccess outcomeEnsures planned stop date isn’t before planned start date.
Validate tracking methodSuccess outcomeValidates tracking method to see if the correct reference field for tracking is populated.
Required fields for initiativeSuccess initiativeValidates required fields.
Validate closure for initiativeSuccess initiativeEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.
Success initiative is reopenedSuccess initiativeEnsures that closure information is removed and object is marked active before reopening.
Validate outcome change for initiativeSuccess initiativePrevents outcome change if the initiative has success tasks or risk signals associated with it.
After close or cancel SISuccess initiativeCancels process automation playbooks associated with initiative if closed or canceled.
Required fields for customer playCustomer playValidates required fields.
Validate closure for customer playCustomer playEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.
Customer play is reopenedCustomer playEnsures that closure information is removed and object is marked active before reopening.
Validate engagement updateCustomer playThis prevents the engagement field from changing on the 'Customer Play' record if the 'Customer Play' has success tasks associated with it.
Required fields for touchpointTouchpointValidates required fields.
Validate closure for touchpointTouchpointEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.
Touchpoint is reopenedTouchpointEnsures that closure information is removed and object is marked active before reopening.
Validate engagement updateTouchpointPrevents engagement change if the touchpoint has success tasks or risk signals associated with it.
Required fields for success taskSuccess taskValidates required fields.
Validate closure for success taskSuccess taskEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.
Success task is reopenedSuccess taskEnsures that closure information is removed and object is marked active before reopening
Validate parent change for success taskSuccess taskPrevents parent change if the success task has risk signals associated with it.
Required fields for internal playInternal playValidates required fields.
Internal play is closed or canceledInternal playEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.
Reopen internal playInternal playEnsures that closure information is removed and object is marked active before reopening.
Parent for internal play must be emptyInternal playEnsures that parent is empty for all internal plays.
Validate engagement changeInternal playPrevents engagement change if the internal play has internal play tasks or risk signals associated with it.
Required fields for internal play taskInternal play taskValidates required fields.
Internal play task is closed or canceledInternal play taskEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.
Reopen internal play taskInternal play taskEnsures that closure information is removed and object is marked active before reopening.
Validate internal play changeInternal play taskPrevents internal play change if the internal play task has risk signals associated with it.
Domain - Set DomainRisk signal and issueSets the domain information.
Field validationRisk signal and issueValidates required fields.
Validate risk signal closureRisk signal and issueEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.
Reopen risk signalRisk signal and issueEnsures that closure information is removed and object is marked active before reopening
Avoid duplicate definition recordDefinition recordEnsures that no two records share the same title and category.
Domain - Set DomainDefinition recordSets the domain information.
Set active flagDefinition recordSets status to active if published, or else inactive.
Avoid duplicate risk signal solutionRisk signal solution relationshipEnsures the no two records share the same solution record.
Avoid duplicate squad memberSquad memberEnsures the no two records share the same user and responsibility
Domain - Set DomainSquad memberSets the domain information.
Avoid duplicate engagement to contract relationshipEngagement to contract relationshipEnsures the no two records share the same engagement and contract.
Validate contract accountEngagement to contract relationshipEnsures contract account matches the engagement account.
Contract relationship updatedEngagement to contract relationshipEnsures renewal date for engagement is updated to the date of the earliest non expired contract.
Contract relationship removedEngagement to contract relationshipEnsures that renewal date for engagement is updated to the date of the earliest non expired contract.
Validate context on publishData SourceWhen publishing a data source, it must have at least one valid context record, which should have at least one context mapper record associated.
Avoid duplicate data sourceData SourceData source shouldn’t have duplicate source and configurations.
Autopopulate unit of measurementData SourceAutomatically populated unit of measurement for data source.
Last run/Next run validationData SourceData source last run date shouldn’t come after next run date.
Unique source to contextContext Engine MapperEnsure there’s a unique source to context.
Process externally sourced context dataContext Engine DataWhen creating a data record for external source, update associated data source date last run field and populate data record's context field.
Validate externally sourced context dataContext Engine DataContext engine date records with external source should have all required fields.
Unique context according to sourceContextContext record's mappers should be unique.
Abort if duplicate record foundEngagement Risk DefinitionAborts if similar record exists
Abort if invalid templateEngagement Risk DefinitionAborts if risk template set for the risk definition is invalid
Abort if duplicate record foundRisk Threshold OverrideAborts if similar record exists
Abort if no context mapper for risk defEngagement Risk DefinitionAborts if risk definition is table type and no active mapper exists with the table selected in risk definition as the source and engagement as context
Abort if color or range validation failsColor BandingAborts if duplicate color exists for a record of the same type or max value is lesser than min value or if the given min-max range already overlaps with another existing record of the same type.
Abort if global min-max range is invalidColor BandingAborts if global band has min less than 0 and max greater than 100
Limit \# of global health definition to 1Engagement Health DefinitionEnsures there is at most 1 global health definition in system
Unique engagement health definitionEngagement Health DefinitionEnsures that each health definition is unique
Validate sum of health def config weightEngagement Health DefinitionChecks all health definition metric configuration for health definition sums to 100
Abort creation for published health defHealth Metric ConfigurationUser shouldn’t be able to create health metric configuration for published health definition
Check unique health metric configurationHealth Metric ConfigurationMetric configuration for a health definition shouldn’t be duplicate by data source
Update last touchpointTouchpointUpdate last\_touchpoint field in engagement table
Update last touchpoint for DeleteTouchpointUpdate last\_touchpoint field in engagement table
Avoid duplicate entitlementsApplicable EntitlementAborts if similar record exists
Avoid duplicate sold productApplicable Sold ProductAborts if similar record exists
Avoid duplicate customer teamApplicable Customer TeamAborts if similar record exists
Avoid duplicate account teamApplicable Account TeamAborts if similar record exists
Create ActivityCreate activity for Applicable Account Team \[sn\_acct\_lc\_eng\_m2m\_team\_mem\]Create record in activity table on insert update delete
Create ActivityCreate activity for label \[sn\_meeting\_mgmt\_meeting\_details\]Create record in activity table on update
Create ActivityCreate activity for Risk Signal and Issue \[sn\_acct\_lc\_risk\_signal\_issue\]Create record in activity table on insert update
Create ActivityCreate activity for Escalation \[sn\_customerservice\_escalation\]Create record in activity table on insert update
Create ActivityCreate activity for Success Initiative \[sn\_acct\_lc\_success\_initiative\]Create record in activity table on update
Create ActivityCreate activity for Success Task \[sn\_acct\_lc\_success\_task\]Create record in activity table on update
Create ActivityCreate activity for Touchpoint \[sn\_acct\_lc\_touchpoint\]Create record in activity table on insert update
Create ActivityCreate activity for Applicable Customer Team \[sn\_acct\_lc\_eng\_m2m\_cntct\_rel\]Create record in activity table on insert update delete
Create Activity for contractCreate activity for Contract \[ast\_contract\]Create record in activity table on update
Create Activity for EngagementCreate activity for Engagement \[sn\_acct\_lc\_engagement\]Create record in activity table on update
Create Activity for Success OutcomeCreate activity for Success Outcome \[sn\_acct\_lc\_success\_outcome\]Create record in activity table on update
Sync Progress To StateSync Progress To State for Implementation Record \[sn\_acct\_lc\_implementation\_record\]Create or update record in the implementation record table with state or progress fields changing.
Duplicate name in product capabilityProduct Capability \[sn\_prod\_cap\_core\_prod\_cap\]Duplicate name check-in Product capability
Prevent Duplicate Product Capability MapProduct Capability Map \[sn\_prod\_cap\_core\_prod\_cap\_map\]Duplicate check in Product capability map table
Product capability usage validationsProduct Capability Usage \[sn\_prod\_cap\_core\_prod\_cap\_usage\]Validations for capability usage table
Product usage validationsProduct Usage \[sn\_prod\_cap\_core\_prod\_usage\]Validations for product usage table
Set Prod Capability Map ActiveProduct Capability Map \[sn\_prod\_cap\_core\_prod\_cap\_map\]Set on state change to mark active = true if state is published, else false.
Set calc metric value in target tableContext Engine Data \[sn\_data\_ctx\_engine\_data\]Whenever an entry is added or updated in the Context Engine Data table for a calculated data source, and if that data source has a target table and target field defined, the corresponding rows in the target table - where the target query field matches the context record - will have the data context engine value set in the target field.
Abort adding future dataContext Engine Data \[sn\_data\_ctx\_engine\_data\]Aborts if the record added to Data Context Engine has a start or end date after current time
Validate circular referenceSegment \[sn\_data\_ctx\_engine\_brkdwn\_seg\]Aborts the publish operation and reverts the segment to draft if it introduces a circular reference: That is, if the segment configuration includes a data source that already depends on the current data source associated with the segment. This circular reference check is necessary to ensure that all data sources maintain a valid execution order.
Validate context on publishData Source \[sn\_data\_ctx\_engine\_src\]Validates all contexts are active and have active mappers on publish. In case of calculated metrics, validate if at least 1 active context exists with same table as breakdown table.
Unique source to contextContext Engine Mapper \[sn\_data\_ctx\_engine\_map\]For global mappers: Ensure only one mapper exists for each combination of a given source and resolving context table. For metric-based mappers: Ensure that the same metric or data source does not appear in multiple mappers for the same source and resolving context table pair.
Validate breakdown segments on publishData Source \[sn\_data\_ctx\_engine\_src\]On publishing calculated data source, ensure that at least one segment is present and all segments are published
Validate sum of seg config weightSegment \[sn\_data\_ctx\_engine\_brkdwn\_seg\]On publishing segment, ensure that weight of all segment configurations add to 100
Avoid duplicate breakdown segmentSegment \[sn\_data\_ctx\_engine\_brkdwn\_seg\]Ensure duplicate segment for the same data source isn’t present for the same name, rank, or conditions
Abort if visualization validation failsDCE Visualization \[sn\_data\_ctx\_engine\_visualization\]Abort if another visualization record exists with the same data source, resolving context and conditions
Unique context according to sourceContext \[sn\_data\_ctx\_engine\_ctx\]Abort if another context with the same table exists for the given data source
Unique set of metrics according to breakdown segSegment Configuration \[sn\_data\_ctx\_engine\_seg\_conf\]Abort if another segment configuration exists for the given segment with the same data source
Abort ctx creation for non draft srcContext \[sn\_data\_ctx\_engine\_ctx\]Enable creating context for data source in draft state only
Abort seg conf creation if non draft segSegment Configuration \[sn\_data\_ctx\_engine\_seg\_conf\]Enable creating segment configuration for segment in draft state only
Abort creating seg for non draft sourceSegment \[sn\_data\_ctx\_engine\_brkdwn\_seg\]Enable creating segment for data source in draft state only
Move data source to draftSegment \[sn\_data\_ctx\_engine\_brkdwn\_seg\]As soon as a segment is moved to draft, if its data source isn’t draft, move it to draft as well
Abort if invalid Visualization M2MDCE Visualization M2M \[sn\_data\_ctx\_engine\_visualization\_m2m\]Validates given visualization\_m2m item record
Abort if insight item validation failsDCE Insight Item \[sn\_data\_ctx\_engine\_insight\_item\]Validates given insight item record
Abort if insight validation failsDCE Insight \[sn\_data\_ctx\_engine\_insight\]Validates given insight record
Create Usage based on Appl Sold ProdApplicable Sold Product \[sn\_acct\_lc\_eng\_m2m\_sp\]Trigger:​ A record is added or modified in the Applicable Sold Products table.​ Actions:​ Create Product Usage Record. If a Product Usage record doesn’t exist for the sold product, create it.​Create Product Usage records for all child products \(across all hierarchy levels\).​For each usage record, update the Total Child Product Count \(reflecting only immediate children\).​ Associate Capabilities:​For each usage record:​Check the Product Capability Map using the sold product's product model.​If capability records exist, create corresponding Capability Usage records.​Update the Total Capability Count.​ Don’t include related capabilities—only direct capabilities are considered.​
Add Capability usage for new Cap MapProduct Capability Map \[sn\_prod\_cap\_core\_prod\_cap\_map\]Trigger:​ A new active record is added to the Product Capability Map.​ Actions:​ Identify all sold products with a matching product model.​For each matching product:​Create Capability Usage records, update the Total Capabilities in Use count on the corresponding Product Usage record
Update usage on setting adoption scoreProduct Usage \[sn\_prod\_cap\_core\_prod\_usage\]Set Activation status of the given sold product and all its parent sold products in its hierarchy to 'In Use' and update Usage plan to 'Activated' if Usage plan isn’t set
Update usage on setting adoption scoreProduct Capability Usage \[sn\_prod\_cap\_core\_prod\_cap\_usage\]Set Activation status of the given capability usage record, its sold product and all its parent sold products in its hierarchy to 'In Use' and update Usage plan to 'Activated' if Usage plan isn’t set
Update renewal finalized onUpdate renewal finalized on field value on Contract table when Substate changes to Renewal Approved or Renewal Rejected. To capture the date when it is approved or rejected.This helps to determine the won/loss of a contract and at what month of the year for Renewal Tab won/loss visualization graphical plot.

Parent Topic:Customer Success Management reference