Who: are the recommendations for- is it for the end customer or is it for the agent themselves?
Why: do you want these recommendations? what are the target KPIs
A few common target KPIs
Agent productivity
CSAT
NPS
Revenue
Conversions
Closing rate
Cost savings
When: to surface ? What are the key touch points?
Inbound communication – customer call
Stages of the Purchase funnel
DATA: Recommendations are only as good as the data!
Start small and build up more complex use cases
Start with 1 or 2 use cases
Seed the recommendation system with only business rules, then augment with AI
Make use of OOTB Reporting
The NBA OOTB reporting infrastructure helps evaluate how your strategies are performing, # of accepts,rejects etc
Best Practices (Tactical)
Categorize recommendations- easier to manage
Add a category field to the Recommendation object
Make sure flows that are invoked upon accept /reject are built and activated
Split strategies rather than having a giant monolith strategy*.
*Current limitation is that there is a 1:1 mapping with the display component and the strategy it executes but versioning and sub-strategies are on the roadmap.
Using the Generate node to split strategies work today.
Requests consumed can be viewed under Company Information
Some common issues and workarounds
Reporting and Limit Reoffers on Dynamic Recommendations
Recommendation Id is not persisted when using dynamic recommendations with the generate node. Read this blog post for workaround
Advanced Formula Support: The Load node doesn’t support dynamic formulas or $Record because under the covers Load node is a SOQL query and does not execute formulas, but use the Filter/Branch node to freeform write formulas and access $Record and formula fields.
Navigate to the advanced tab of the Filter/Branch node for advanced formulas such as shown
All standard salesforce operations are evaluated in the advanced tab including $Record.
Use of the advanced tab to write a filter expression using $Record and the OR operator.
https://unofficialsf.com/wp-content/uploads/2020/05/USFlogo2-300x111.png00Janani Narayananhttps://unofficialsf.com/wp-content/uploads/2020/05/USFlogo2-300x111.pngJanani Narayanan2020-11-16 22:33:442020-11-16 22:33:45NBA - Best Practices
When using a Generate node to create dynamic recommendations, you need to ensure that the ID for the recommendation is passed because that is the primary key on which the node operates and further downstream reports are generated. A point to watch out for is that it is not straightforward to generate IDs dynamically and be assigned to the recommendation object because Apex is strongly typed and would look for an ID of type Recommendation.
However, there are several recommended workarounds for this situation.
If your use case can instead use the load node to load an SObject (vs a recommendation object) and then map the fields such as Id, name, accept label, reject label and flow name in a map node as shown below.
Using the Map node to map required fields on the Recommendation objectUsing the Map node to map required fields on the Recommendation object
If this doesn’t work because of the dynamic nature of your use case and the Generate node needs to be used to programmatically create recommendations, another way to tackle it is as below.
Say the recommendations are mapped by querying a product object in the Apex class. You can assign the ID field of the object queried to the External ID field of the recommendation object created. This avoids the ‘Strong type’ checking of the ID issue. Following is a code snippet from a Generate node.
And then use the map element in the strategy following the generate element to map the external ID to the ID of the recommendation object.
Use a Map node to map the external Id to Recommendation Id
https://unofficialsf.com/wp-content/uploads/2020/05/USFlogo2-300x111.png00Janani Narayananhttps://unofficialsf.com/wp-content/uploads/2020/05/USFlogo2-300x111.pngJanani Narayanan2020-11-16 21:53:452020-11-16 21:53:46Reporting on dynamic recommendations created by the Generate node
Give a value >80% to simulate Einstein HiPo Likelihood
Add dates for Next Shift Start and Next Shift End Dates
Make sure to remember the username and also change the password. (You should receive an email on the registered email)
STEP 4: Assign permissions
Go to users – permission set and enable both Goodmorning and Goodmorningsales permission for the user user(user user is the admin user for scratch orgs)
Permission set →Manage Assignments→ Add Assignments→ User, User (if scratch org or the relevant users) .
Profiles→system admin→ change permissions to view object (Assuming both users are System Administrators. If not assign the following permission accordingly to the users created)
custom app setting →check bright team management
STEP 5: Add Data to custom objects
Go to SalesTacticalPlan object from the AppMenu (If it does not show – make sure the user permissions are set)
Create a record with the details shown (EmployeeDailyTacticalPlan)
Create the following records to the Recommendation object
If you do not see any field visible on the recommendation object : Go to Recommendation object Manager→Page Layout→Manage Assignment →Edit Assignment and assign recommendation layout to all users.
Name
Description
Action Reference
Acceptance Label
Rejection Label
1
Priority Message: Tax Day
Tax day is in 6 weeks! Get more detail.
Tax_Flow
Accept
Reject
2
Priority Message: Well Being Survey
Our records indicate that you have not taken the Well Being Survey. Please take a few minutes to complete it.
Well_Being_Survey_Flow
Accept
Reject
3
Work.com Contact Risk Alert
Alert! You have recently come in contact with someone who has tested positive for COVID -19. Please contact the health center for more details.
Contact_Risk
Accept
Reject
4
Return to Work Shift Days
Shift_Flow
Accept
Reject
5
Training Recommendation
Your manager has identified that you will benefit from the Great Salesforce Leaders training. Click to enroll.
Enrollment_Flow
Accept
Reject
STEP 6: Set up the flow component to accept input for which messages and their respective priorities to be surfaced on the NBS Component
Navigate to the Bright Team Mgmt App from the App Menand then user profile(click on the profile pic icon) and then edit page to bring up LAB. NOTE: If you click on user profile when on setup , you go to User setup not the profile page so make sure you are on the app when pulling it up
Drag the Flow component and choose Manage Employee Tactics as shown below
Drag a flow component.Choose the manage tactical plan. activate it for the org default
Go to the Bright Team Mgmt app and then user profile(click on the profile pic icon) and then edit page to bring up Lightning App Builder — if clicking on user profile when on setup pulls up