Customer success management business rules

  • Release version: Zurich
  • Updated July 31, 2025
  • 13 minutes to read
  • This section includes the Customer Success Management business rules.

    Business rule Table Description
    Domain - Set Domain Engagement Sets the domain information.
    Required fields for engagement Engagement Validates required fields.
    State is closed or canceled Engagement Ensures that closure information is populated and object is marked inactive before marking it as closed or canceled.
    Engagement is reopened Engagement Ensures that closure information is removed and object is marked active before reopening.
    Validate account change for engagement Engagement Prevent account change if the engagement has objectives, customer plays, internal plays, or risk signals associated with it.
    Validate engagement parent Engagement Prevent cyclic relationship for the parents in engagement hierarchy.
    Validate onboarding for engagement Engagement Ensures 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 Domain Success objective Sets the domain information.
    Required fields for objective Success objective Validates required fields
    Validate closure for objective Success objective Ensures that closure information is populated and object is marked inactive before marking closed/canceled.
    Success objective is reopened Success objective Ensures that closure information is removed and object is marked active before reopening.
    Validate engagement change for objective Success objective Prevents engagement change if the objective has outcomes or risk signals associated with it.
    Validate planned start and stop Success objective Ensures planned stop date isn’t before planned start date.
    Domain - Set Domain Success outcome Sets the domain information.
    Required fields for outcome Success outcome Validates required fields.
    Validate closure for outcome Success outcome Ensures that closure information is populated and object is marked inactive before marking it as closed or canceled.
    Success outcome is reopened Success outcome Ensures that closure information is removed and object is marked active before reopening.
    Validate objective change for outcome Success outcome Prevents objective change if the outcome has initiatives or risk signals associated with it.
    Validate planned dates Success outcome Ensures planned stop date isn’t before planned start date.
    Validate tracking method Success outcome Validates tracking method to see if the correct reference field for tracking is populated.
    Required fields for initiative Success initiative Validates required fields.
    Validate closure for initiative Success initiative Ensures that closure information is populated and object is marked inactive before marking it as closed or canceled.
    Success initiative is reopened Success initiative Ensures that closure information is removed and object is marked active before reopening.
    Validate outcome change for initiative Success initiative Prevents outcome change if the initiative has success tasks or risk signals associated with it.
    After close or cancel SI Success initiative Cancels process automation playbooks associated with initiative if closed or canceled.
    Required fields for customer play Customer play Validates required fields.
    Validate closure for customer play Customer play Ensures that closure information is populated and object is marked inactive before marking it as closed or canceled.
    Customer play is reopened Customer play Ensures that closure information is removed and object is marked active before reopening.
    Validate engagement update Customer play

    This prevents the engagement field from changing on the 'Customer Play' record if the 'Customer Play' has success tasks associated with it.

    Required fields for touchpoint Touchpoint Validates required fields.
    Validate closure for touchpoint Touchpoint Ensures that closure information is populated and object is marked inactive before marking it as closed or canceled.
    Touchpoint is reopened Touchpoint Ensures that closure information is removed and object is marked active before reopening.
    Validate engagement update Touchpoint Prevents engagement change if the touchpoint has success tasks or risk signals associated with it.
    Required fields for success task Success task Validates required fields.
    Validate closure for success task Success task Ensures that closure information is populated and object is marked inactive before marking it as closed or canceled.
    Success task is reopened Success task Ensures that closure information is removed and object is marked active before reopening
    Validate parent change for success task Success task Prevents parent change if the success task has risk signals associated with it.
    Required fields for internal play Internal play Validates required fields.
    Internal play is closed or canceled Internal play Ensures that closure information is populated and object is marked inactive before marking it as closed or canceled.
    Reopen internal play Internal play Ensures that closure information is removed and object is marked active before reopening.
    Parent for internal play must be empty Internal play Ensures that parent is empty for all internal plays.
    Validate engagement change Internal play Prevents engagement change if the internal play has internal play tasks or risk signals associated with it.
    Required fields for internal play task Internal play task Validates required fields.
    Internal play task is closed or canceled Internal play task Ensures that closure information is populated and object is marked inactive before marking it as closed or canceled.
    Reopen internal play task Internal play task Ensures that closure information is removed and object is marked active before reopening.
    Validate internal play change Internal play task Prevents internal play change if the internal play task has risk signals associated with it.
    Domain - Set Domain Risk signal and issue Sets the domain information.
    Field validation Risk signal and issue Validates required fields.
    Validate risk signal closure Risk signal and issue Ensures that closure information is populated and object is marked inactive before marking it as closed or canceled.
    Reopen risk signal Risk signal and issue Ensures that closure information is removed and object is marked active before reopening
    Avoid duplicate definition record Definition record Ensures that no two records share the same title and category.
    Domain - Set Domain Definition record Sets the domain information.
    Set active flag Definition record Sets status to active if published, or else inactive.
    Avoid duplicate risk signal solution Risk signal solution relationship Ensures the no two records share the same solution record.
    Avoid duplicate squad member Squad member Ensures the no two records share the same user and responsibility
    Domain - Set Domain Squad member Sets the domain information.
    Avoid duplicate engagement to contract relationship Engagement to contract relationship Ensures the no two records share the same engagement and contract.
    Validate contract account Engagement to contract relationship Ensures contract account matches the engagement account.
    Contract relationship updated Engagement to contract relationship Ensures renewal date for engagement is updated to the date of the earliest non expired contract.
    Contract relationship removed Engagement to contract relationship Ensures that renewal date for engagement is updated to the date of the earliest non expired contract.
    Validate context on publish Data Source When 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 source Data Source Data source shouldn’t have duplicate source and configurations.
    Autopopulate unit of measurement Data Source Automatically populated unit of measurement for data source.
    Last run/Next run validation Data Source Data source last run date shouldn’t come after next run date.
    Unique source to context Context Engine Mapper Ensure there’s a unique source to context.
    Process externally sourced context data Context Engine Data When 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 data Context Engine Data Context engine date records with external source should have all required fields.
    Unique context according to source Context Context record's mappers should be unique.
    Abort if duplicate record found Engagement Risk Definition Aborts if similar record exists
    Abort if invalid template Engagement Risk Definition Aborts if risk template set for the risk definition is invalid
    Abort if duplicate record found Risk Threshold Override Aborts if similar record exists
    Abort if no context mapper for risk def Engagement Risk Definition Aborts 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 fails Color Banding Aborts 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 invalid Color Banding Aborts if global band has min less than 0 and max greater than 100
    Limit # of global health definition to 1 Engagement Health Definition Ensures there is at most 1 global health definition in system
    Unique engagement health definition Engagement Health Definition Ensures that each health definition is unique
    Validate sum of health def config weight Engagement Health Definition Checks all health definition metric configuration for health definition sums to 100
    Abort creation for published health def Health Metric Configuration User shouldn’t be able to create health metric configuration for published health definition
    Check unique health metric configuration Health Metric Configuration Metric configuration for a health definition shouldn’t be duplicate by data source
    Update last touchpoint Touchpoint Update last_touchpoint field in engagement table
    Update last touchpoint for Delete Touchpoint Update last_touchpoint field in engagement table
    Avoid duplicate entitlements Applicable Entitlement Aborts if similar record exists
    Avoid duplicate sold product Applicable Sold Product Aborts if similar record exists
    Avoid duplicate customer team Applicable Customer Team Aborts if similar record exists
    Avoid duplicate account team Applicable Account Team Aborts if similar record exists
    Create Activity Create activity for Applicable Account Team [sn_acct_lc_eng_m2m_team_mem] Create record in activity table on insert update delete
    Create Activity

    Create activity for label [sn_meeting_mgmt_meeting_details]

    Create record in activity table on update
    Create Activity Create activity for Risk Signal and Issue [sn_acct_lc_risk_signal_issue] Create record in activity table on insert update
    Create Activity Create activity for Escalation [sn_customerservice_escalation] Create record in activity table on insert update
    Create Activity Create activity for Success Initiative [sn_acct_lc_success_initiative] Create record in activity table on update
    Create Activity Create activity for Success Task [sn_acct_lc_success_task] Create record in activity table on update
    Create Activity Create activity for Touchpoint [sn_acct_lc_touchpoint] Create record in activity table on insert update
    Create Activity Create activity for Applicable Customer Team [sn_acct_lc_eng_m2m_cntct_rel] Create record in activity table on insert update delete
    Create Activity for contract Create activity for Contract [ast_contract] Create record in activity table on update
    Create Activity for Engagement Create activity for Engagement [sn_acct_lc_engagement] Create record in activity table on update
    Create Activity for Success Outcome Create activity for Success Outcome [sn_acct_lc_success_outcome] Create record in activity table on update
    Sync Progress To State Sync 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 capability Product Capability [sn_prod_cap_core_prod_cap] Duplicate name check-in Product capability
    Prevent Duplicate Product Capability Map Product Capability Map [sn_prod_cap_core_prod_cap_map] Duplicate check in Product capability map table
    Product capability usage validations Product Capability Usage [sn_prod_cap_core_prod_cap_usage] Validations for capability usage table
    Product usage validations Product Usage [sn_prod_cap_core_prod_usage] Validations for product usage table
    Set Prod Capability Map Active Product 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 table Context 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 data Context 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 reference Segment [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 publish Data 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 context Context 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 publish Data 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 weight Segment [sn_data_ctx_engine_brkdwn_seg] On publishing segment, ensure that weight of all segment configurations add to 100
    Avoid duplicate breakdown segment Segment [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 fails DCE 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 source Context [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 seg Segment 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 src Context [sn_data_ctx_engine_ctx] Enable creating context for data source in draft state only
    Abort seg conf creation if non draft seg Segment Configuration [sn_data_ctx_engine_seg_conf] Enable creating segment configuration for segment in draft state only
    Abort creating seg for non draft source Segment [sn_data_ctx_engine_brkdwn_seg] Enable creating segment for data source in draft state only
    Move data source to draft Segment [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 M2M DCE Visualization M2M [sn_data_ctx_engine_visualization_m2m] Validates given visualization_m2m item record
    Abort if insight item validation fails DCE Insight Item [sn_data_ctx_engine_insight_item] Validates given insight item record
    Abort if insight validation fails DCE Insight [sn_data_ctx_engine_insight] Validates given insight record
    Create Usage based on Appl Sold Prod Applicable 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 Map Product 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 score Product 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 score Product 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 on Update 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.