Skip to content

Instantly share code, notes, and snippets.

@alexed1
Created December 3, 2017 21:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexed1/bccb845781f935043f3361cede8bbdd3 to your computer and use it in GitHub Desktop.
Save alexed1/bccb845781f935043f3361cede8bbdd3 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8"?>
<RecommendationStrategy xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Softbank Call-in Strategy</description>
<recommendationStrategyName>softbank_1</recommendationStrategyName>
<masterLabel>SomeMasterLabel</masterLabel>
<!-- Root -->
<strategyNode>
<name>RootNode</name>
<description>the root</description>
<parentNode></parentNode>
<type>2<!--Union--></type>
<definition>{ removeDuplicates: true }</definition>
</strategyNode>
<strategyNode>
<name>LowCsatIfNode</name>
<description>If node which only does churn if CSAT is less than 5</description>
<parentNode>RootNode</parentNode>
<type>4<!--If--></type>
<definition>
{
expressions: {
"ChurnRetentionOfferNode": "$Record.CSAT__c &lt; 5",
"AgentStandardActionsNode": true
},
onlyFirstMatch: true
}
</definition>
</strategyNode>
<!-- Churn -->
<strategyNode>
<name>ChurnRetentionOfferNode</name>
<description>If CSAT low, provide appropriate retention offers</description>
<parentNode>LowCsatIfNode</parentNode>
<type>4<!--If--></type>
<definition>
{
expressions: {
"SendFreeToasterOffer":
"$Record.AlreadyGaveThemToaster__c == false ",
"TwelveMonthsFreeCheckingOffer":
"$Record.CurrentAccountFeeBased__c == true"
},
onlyFirstMatch: false
}
</definition>
</strategyNode>
<strategyNode>
<name>SendFreeToasterOffer</name>
<description>load Free Toaster Offer</description>
<parentNode>ChurnRetentionOfferNode</parentNode>
<type>1<!--SoqlLoad--></type>
<definition>{soql: "SELECT Name, Description, ActionReference FROM Proposition WHERE Name='Free Espresso Machine Offer'"}</definition>
</strategyNode>
<strategyNode>
<name>TwelveMonthsFreeCheckingOffer</name>
<description>Load Free Checking Offer </description>
<parentNode>ChurnRetentionOfferNode</parentNode>
<type>1<!--SoqlLoad--></type>
<definition>{soql: "SELECT Name, Description, ActionReference FROM Proposition WHERE Name='One Year Free Checking Offer'"}</definition>
</strategyNode>
<!-- Cross Sell -->
<strategyNode>
<name>AgentStandardActionsNode</name>
<description>If CSAT is ok, show agent the standard actions</description>
<parentNode>LowCsatIfNode</parentNode>
<type>4<!--Union--></type>
<definition>{
expressions: {
"NewTransactionDisputeAction": "$Record.StandardCustomerType__c == true",
"ReportLostCardAction": "$Record.StandardCustomerType__c == true",
"OpenAdditionalAccountAction": "$Record.StandardCustomerType__c == true"
},
onlyFirstMatch: false
}
</definition>
</strategyNode>
<strategyNode>
<name>NewTransactionDisputeAction</name>
<description>Load Transaction Dispute Action</description>
<parentNode>AgentStandardActionsNode</parentNode>
<type>1<!--SoqlLoad--></type>
<definition>{soql: "SELECT Name, Description, ActionReference FROM Proposition WHERE Name='Open New Transaction Dispute'"}</definition>
</strategyNode>
<strategyNode>
<name>ReportLostCardAction</name>
<description>Load Report Lost Card Action</description>
<parentNode>AgentStandardActionsNode</parentNode>
<type>1<!--SoqlLoad--></type>
<definition>{soql: "SELECT Name, Description, ActionReference FROM Proposition WHERE Name='Report A Lost Card'"}</definition>
</strategyNode>
<strategyNode>
<name>OpenAdditionalAccountAction</name>
<description>Load Open Additional Account Action</description>
<parentNode>AgentStandardActionsNode</parentNode>
<type>1<!--SoqlLoad--></type>
<definition>{soql: "SELECT Name, Description, ActionReference FROM Proposition WHERE Name='Open An Additional Account'"}</definition>
</strategyNode>
</RecommendationStrategy>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment